我正在做一些练习PHP 和 MySQL 初学者塔克先生。
在他的示例中一切正常,但在我的电脑上出现错误:
注意:未定义变量:passwordRetrieved 在 C:\wamp\www\loginForm.php 第 39 行
此示例的完整 PHP 代码:
-
请注意该表确实存在,并且密码、数据库连接等都是正确的
<?php
{
// Secure Connection Script
include('htconfig/dbConfig.php');
$dbSuccess = false;
$dbConnected = mysql_connect($db['hostname'], $db['username'], $db['password']);
if ($dbConnected) {
$dbSelected = mysql_select_db($db['database'], $dbConnected);
if ($dbSelected) {
$dbSuccess = true;
}
}
// END Secure Connection Script
}
$thisScriptName = "loginForm.php";
echo '<h2>Login Form </h2>';
$username = $_POST['username'];
if(isset($username)) {
$password = $_POST['password'];
echo "username = " . $username . "<br />";
echo "password = " . $password . "<br />";
{
// SELECT password for this user from the DB and see it it matches
$tUser_SQLselect = "SELECT password FROM tUser ";
$tUser_SQLselect .= "WHERE username = '" . $username . "' ";
$tUser_SQLselect_Query = mysql_query($tUser_SQLselect);
while ($row = mysql_fetch_array($tUser_SQLselect_Query, MYSQL_ASSOC)) {
$passwordRetrieved = $row['password'];
}
mysql_free_result($tUser_SQLselect_Query);
echo "passwordRetrieved = ".$passwordRetrieved."<br />";
if (!empty($passwordRetrieved) AND ($password == $passwordRetrieved)) {
echo "YES. Password matches.<br /><br />";
echo '<a href="' . $thisScriptName . '">Logout</a>';
}
else {
echo "Access denied.<br /><br />";
echo '<a href="' . $thisScriptName . '">Try again</a>';
}
}
}
else {
echo '<form name="postLoginHid" action="' . $thisScriptName . '" method="post">';
echo '
<P>User name:
<INPUT TYPE=text NAME=username value=""></P>
<P>Password:
<INPUT TYPE=password NAME=password value=""></P>
<input type="submit" value="Login" />
';
echo '</form>';
}
echo '<h2>--------- END Login Form --------</h2>';
?>
就在之前while
在设置变量 $password Retrieved 的地方声明它,因此它应该如下所示:
$tUser_SQLselect_Query = mysql_query($tUser_SQLselect);
$passwordRetrieved = "";
while ($row = mysql_fetch_array($tUser_SQLselect_Query, MYSQL_ASSOC)) {
$passwordRetrieved = $row['password'];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)