Meeeeeget underligt PHP prob.
Hej!Jeg har et meget underligt problem:
Mit login script, som jeg skrev for et stykke tid siden, virker ikke, nu hvir jeg bruger koden et andet sted?!
det består af 2 filer:
------------------------------------------
index.php:
<?php
if (isset($_SESSION['admin']) && $_SESSION['admin'] == "1") {
Print "
INDE, er du nu :)<BR><BR>
Navn: ".$_SESSION['admin_name']."
<BR>
Email: ".$_SESSION['admin_email']."
<BR>
Date: d. ".date("d/m - Y | H:i")."
<FORM method=\"post\" action=\"do_login.php\">
<INPUT type=\"hidden\" name=\"logud\" value=\"1\">
<INPUT type=\"submit\" value=\"Log ud\">
</FORM>
<DIV class=\"title2\">Tilføj nyhed</DIV>
<FORM method=\"post\" action=\"newnew.php\">
Title: <INPUT type=\"text\" name=\"title\"><BR>
<TEXTAREA name=\"note\" rows=\"4\">Note</TEXTAREA><BR>
<INPUT type=\"hidden\" name=\"Name\" value=\"".$_SESSION['admin_name']."\">
<INPUT type=\"hidden\" name=\"Email\" value=\"".$_SESSION['admin_email']."\">
<INPUT type=\"hidden\" name=\"date\" value=\"".date("d/m - Y | H:i")."\">
<INPUT type=\"submit\" value=\"Tilføj\">
</FORM>
<DIV class=\"title2\">Ny gøgl-filur</DIV>
<FORM method=\"post\" action=\"newgogl.php\">
Title: <INPUT type=\"text\" name=\"title\"><BR>
<TEXTAREA name=\"note\" style=\"width:98%;\" rows=\"9\">Note</TEXTAREA><BR>
<INPUT type=\"hidden\" name=\"Name\" value=\"".$_SESSION['admin_name']."\">
<INPUT type=\"hidden\" name=\"Email\" value=\"".$_SESSION['admin_email']."\">
<INPUT type=\"hidden\" name=\"date\" value=\"".date("d/m - Y | H:i")."\">
<INPUT type=\"submit\" value=\"Tilføj\">
</FORM>
";
} else {
print "<DIV class=\"title2\">LOGIN</div>";
print "
<FORM method=\"post\" action=\"do_login.php\">
U: <INPUT type=\"text\" name=\"f_username\"><BR>
P: <INPUT type=\"password\" name=\"f_password\"><BR>
<BR><INPUT type=\"submit\" value=\"OK - Lad os komme ind...\" style=\"border:1px solid black;\">
</FORM>
";
if (isset($_REQUEST['error_code'])) print "FEJL! Kode: ".$_REQUEST['error_code'];
}
------- og do_login.php: --------------------------------
<?
session_start();
if ($_POST['logud'] == "1") {
session_destroy();
header("location: index.php");
exit;
}
include("../db.php");
if (isset($_POST['f_username'])) $f_username = $_POST['f_username'];
if (isset($_POST['f_password'])) $f_password = $_POST['f_password'];
if($f_username && $f_password){
$rs = mysql_query("SELECT * FROM admin WHERE user = '$f_username' AND password = '$f_password'");
$antal = mysql_num_rows($rs);
if($antal > 0){
session_register("admin_name", "admin_email", "admin");
$admin = 1;
$row = mysql_fetch_array($rs);
$admin_name = $row["Name"];
$admin_email = $row["Email"];
header("location: index.php?c=1");
} else {
header("location: index.php?login_error_code=1");
}
} else {
header("location: index.php?login_error_code=2");
}
?>
-----------------------------------------------------
indholdet af db.php, stemmer rigtigt nok...
Det hele melder fejlen:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\htdocs\exp.2\admin\do_login.php on line 18
Warning: Cannot add header information - headers already sent by (output started at D:\htdocs\exp.2\admin\do_login.php:18) in D:\htdocs\exp.2\admin\do_login.php on line 33
MEN, det underlige er, at på min gamle sider virker scriptet fint - bare ikke på den nye. Og det er den samme kode?!?
Jeg bruger WinXP, med IIS (m. PHP) som webserver.
På forhånd tak!
Forresten, jeg leder IKKE efter svaret: "Brug htacces, det er meget smartere..."!
// eLLERT
// detersmart.dk
