此代码总是转到" index.php?err = 1"而且我不知道为什么。
' acceso_db.php'是数据库连接(没关系)
$email = mysql_real_escape_string($_POST['Nick']);
$usuario_clave = mysql_real_escape_string($_POST['pas']);
$usuario_clave = sha1($usuario_clave); //la clave se comprueba en SHA1
// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
include('acceso_db.php');
$sql = "SELECT * FROM usuarios WHERE email='$email' AND clave='$usuario_clave'";
$result = mysql_query($sql)or die ("error en el select.");
if (false === $result) {
echo mysql_error();
}
else if($row = mysql_fetch_array($result)) {
if($_POST['recordar']){
mt_srand (time());
$auth = mt_rand(1000000,999999999);
$sql="UPDATE usuarios set Auth='$auth' WHERE email='$email' AND clave='$usuario_clave'";
$result = mysql_query($sql) or die (mysql_error());
setcookie("id_usuario", $email, time()+(60*60*24*365));
setcookie("galleta", $auth, time()+(60*60*24*365));
}
$_SESSION['email'] = $row["email"];
mysql_free_result($result);
header("Location: index.php");
}else {
mysql_free_result($result);
header("Location: index.php?err=1");
}
答案 0 :(得分:0)
Ofc确实如此。您始终会重定向到此网址。
header("Location: index.php?err=1");
它是固定的,永远不会改变。代码做了应有的事情。您应该将err=1
替换为您希望在GET中使用的值。
答案 1 :(得分:0)
你可以这样试试,
$row = mysql_fetch_array($result);
if (isset($row)) {
if ($_POST['recordar']) {
mt_srand(time());
$auth = mt_rand(1000000, 999999999);
$sql = "UPDATE usuarios set Auth='$auth' WHERE email='$email' AND clave='$usuario_clave'";
$result = mysql_query($sql) or die(mysql_error());
setcookie("id_usuario", $email, time() + (60 * 60 * 24 * 365));
setcookie("galleta", $auth, time() + (60 * 60 * 24 * 365));
}
$_SESSION['email'] = $row["email"];
mysql_free_result($result);
header("Location: index.php");
} else {
mysql_free_result($result);
header("Location: index.php?err=1");
}
答案 2 :(得分:0)
你的代码有问题..试试这个编辑......
$email = mysql_real_escape_string($_POST['Nick']);
$usuario_clave = mysql_real_escape_string($_POST['pas']);
$usuario_clave = sha1($usuario_clave); //la clave se comprueba en SHA1
// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
include('acceso_db.php');
$sql = mysql_query("SELECT * FROM usuarios WHERE email='$email' AND clave='$usuario_clave'");
if (!$sql)
{
echo mysql_error();
header("Location: index.php?err=1");
exit;
}
else
{
while($row = mysql_fetch_array($sql))
{
if ($_POST['recordar'])
{
mt_srand(time());
$auth = mt_rand(1000000, 999999999);
$sql2 = mysql_query("UPDATE usuarios set Auth='$auth' WHERE email='$email' AND clave='$usuario_clave'");
if(!$sql2)
{
echo 'update query failed';
exit;
}
setcookie("id_usuario", $email, time() + (60 * 60 * 24 * 365));
setcookie("galleta", $auth, time() + (60 * 60 * 24 * 365));
}
$_SESSION['email'] = $row["email"];
mysql_free_result($sql);
header("Location: index.php");
}
}
如果您需要任何进一步的指导,请告诉我......