我試圖用php做一個登錄表單,但是我有一個問題,我沒有找到該錯誤的位置。爲基本登錄系統中的foreach()提供的無效參數
當我提交表單與具有這種誤差修改爲正確的數據I'm:
錯誤之一:
- >警告:提供的foreach無效參數():
`foreach($query as $autUser);`
錯誤二:
- >注意:未定義的變量: autUser here
if($autEmail == $autUser['email'] && $autSenha == $autUser['senha'])
而且還給我錯誤'錯誤的通行證',我提出了正確的答案。
有人有這種錯誤的exprience?
你能看到一些錯誤嗎?
我的PHP:
<?php if(isset($_POST['sendLogin']))
{
$f['email'] = mysql_real_escape_string($_POST['email']);
$f['pass'] = mysql_real_escape_string($_POST['pass']);
if(!$f['email'] || !valMail($f['email']))
{
echo 'Email empty or invalid';
}
else if(strlen($f['pass']) <8 || strlen($f['pass'])>12)
{
echo 'Pass must have between 8 and 12 chars!';
}
else
{
$autEmail = $f['email'];
$autpass = $f['pass'];
$query = "SELECT * FROM users where email= '$autEmail'";
$exeqr = mysql_query($query) or die(mysql_error());
if($query)
{
foreach($query as $autUser);
if($autEmail == $autUser['email'] && $pass == $autUser['pass'])
{
echo 'Login Sucess';
}
else
{
echo ' Wrong Pass';
}
}
else
{
echo 'Informed email does not exist';
}
}
}
?>
我的HTML:
<form name="login" action="" method="post">
<label>
<span>E-mail:</span>
<input type="text" class="radius" name="email" value="<?php if(isset($f['email'])) echo $f['email']; ?>" />
</label>
<label>
<span>Password:</span>
<input type="password" class="radius" name="pass" value="<?php if(isset($f['pass'])) echo $f['pass']; ?>" />
</label>
<input type="submit" value="Login" name="sendLogin" class="btn" />
</form>
分配電子郵件後,您正在使用密碼重寫''$ autEmail''。 ''$ autEmail = $ f ['email']; $ autEmail = $ f ['pass'];''因此它無法找到等於數據庫密碼的電子郵件。也在登錄成功循環theres未定義的常量(可能你想$'autpass''變量) – arma
感謝您的提示..但現在我得到不同的和最糟糕的錯誤! – OzzC
那麼,我解決它使用mysql_fectch_assoc($ exeqr),而不是foreach循環。感謝您的幫助! – OzzC