PHP代码通知:未定义的变量:C: XAMPP中的密码 htdocs MyFiles MyFiles M



我问的问题是在这里问的,但是很糟糕地问,导致问题未解决。问这个问题正在经历的那个人正是我正在经历的,我认为他和我遵循的YouTube教程相同。无论如何,这是我编写的所有PHP/HTML代码:

<?php
session_start();
?>
<?php
$form = "<form action='./login.php' method='post'>
<table>
<tr>
<td>Username:</td>
<td><input type='text' name='user' /></td>
</tr>
<td>Password:</td>
<td><input type='password' name='password' /></td>
</tr>
<td></td>
<td><input type='submit' name='loginbtn'  value='Login'/></td>
</tr>
</table>
</form>";
if ($_POST ['loginbtn']){
$user = $_POST['user'];
$user = $_POST['password'];

if ($user){ 
if ($password){ 
echo "$user - $password <hr /> $form";
}
else
echo "you must enter your password $form";
}
else
echo "you must enter your username $form";
}
else
echo $form;
?>

我尝试在if ($user){if ($password){中添加一个变量,但这一无所获。有人知道问题可能是什么?

$user = $_POST['user'];
$user = $_POST['password'];

$密码未正确定义,并且您在下面的if中使用它

$user = $_POST['user'];
$user = $_POST['password'];

这个...您将用户和密码分配给同一变量($用户)。这就是为什么您有未定义的可变密码。

也使用htmlentities来防止注入代码:

$user = htmlentities($_POST['user']);
$password = htmlentities($_POST['password']);

对不起,这看起来不像是一个很好的教程。一方面,我看到您在页面上创建登录和密码字段,但是在收到的用户submit什么时候?这些值将这些值传递给PHP,评估并返回的代码在哪里?

我建议这些其他教程:

phpacademy-注册和登录 - OOP版本
phpacademy-注册和登录 - 程序版本

thenewboston -Project Lisa(adv)

从您的代码中,我认为您将对Phpacademy的程序教程感到最舒服,但您应该真正学习OOP。


其他评论:

(删除B/C Cornelb击败了我 - 见他的答案。)

最新更新