注意:未定义的变量:mypassword in 第16行的D:\ xampp \ htdocs \ Databasetesting \ Checklogin.php
我的第16行在这里:
$mypassword = stripslashes($mypassword);
这是我的整个代码,我将它用于Html5。
<?php
session_start();
ob_start();
$host="localhost";
$username="jerome";
$password="jeromedizon";
$db_name="portal_database";
$tbl_name="members";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select Database mebers");
$mystudnum = mysql_real_escape_string($_POST['studnum']);
$password = mysql_real_escape_string(md5($_POST['password']));
$mystudnum = stripslashes($mystudnum);
$mypassword = stripslashes($mypassword);
$mystudnum = mysql_real_escape_string($mystudnum);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE studnum='$mystudnum' and password='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
$_SESSION['mystudnum'] = $mystudnum;
$_SESSION['password'] = $mypassword;
header("location: Home.php");
}
ob_end_flush();
?>
答案 0 :(得分:0)
你有一个拼写错误:
$mypassword = stripslashes($mypassword);
到
$mypassword = stripslashes($password);
答案 1 :(得分:0)
您的第16行必须是:
$mypassword = stripslashes($password);
发生错误是因为在此行之前未定义$mypassword
,但确实是$password
!
答案 2 :(得分:0)
变化:
$password = mysql_real_escape_string(md5($_POST['password']));
为:
$mypassword = mysql_real_escape_string(md5($_POST['password']));
您已使用$password
作为数据库密码。而且,$_POST
分配的所有其他变量都使用$myXXX
名称,因此这将更加一致。
此外,您不应在stripslashes
的结果上致电mysql_real_escape_string
。 mysql_real_escape_string
添加斜杠来实现转义,所以你要撤消它。
你还要两次逃避一些字符串。你有:
$mystudnum = mysql_real_escape_string($_POST['studnum']);
后面几行:
$mystudnum = mysql_real_escape_string($mystudnum);
你应该只做一次。