2

我创建了登录会话,它显示了一个错误:未识别myusername并且mypassword在这些行中。我不明白为什么。

$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword'];

这是我的 checklogin.php

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1){

session_register("myusername");
session_register("mypassword"); 
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>

这是我的登录表格:

<form action='checklogin.php' method="post" >
Username
<input name='myusername' type="text">
Password
<input name='mypassword' type="password">

<input type="submit" name="Submit" value="Login">

</form>
4

1 回答 1

5

检查$_POST['myusername']$_POST['mypassword']在使用前设置

if(isset($_POST['myusername']) && isset($_POST['mypassword']) && !empty(trim($_POST['myusername'])) && !empty(trim($_POST['mypassword']))) {

 }

它在表单动作中看起来login_true.php也应该是checklogin.php

<form action='checklogin.php' method="post" >

因为您发送的数据login_true.php不在,check_login.php所以您收到错误:unidentified bla bla

警告:您的代码对sql 指令完全开放

好读:

  1. 防止SQL注入的最佳方法?
  2. MySQL 开发人员的 PDO 教程
  3. 适合初学者的 Pdo(为什么?以及如何?)
于 2012-11-28T06:25:33.020 回答