我是新來的PHP。PHP - 未定義的變量
目前在 '輔導階段'。
我被塔克先生做從初學者PHP MySQL的&一些練習。
在他的榜樣,一切工作正常,但我的電腦上有一個錯誤:
Notice: Undefined variable: passwordRetrieved in C:\wamp\www\loginForm.php on line 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>';
?>
它不意味着我的$ passwordRetrieved是一個空字符串?它應該從表格中獲取這個值? – Iladarsda
沒有,你的價值將在while循環分配 –