数据库中未定义的变量

时间:2014-01-10 02:17:06

标签: php

  

注意:未定义的变量: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();
?>

3 个答案:

答案 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_stringmysql_real_escape_string添加斜杠来实现转义,所以你要撤消它。

你还要两次逃避一些字符串。你有:

$mystudnum = mysql_real_escape_string($_POST['studnum']);

后面几行:

$mystudnum = mysql_real_escape_string($mystudnum);

你应该只做一次。