【发布时间】:2016-10-07 11:13:49
【问题描述】:
if ($count == 1){ //if username + pass is correct
$cookie_value = $user;
setcookie($cookie_name, $cookie_value, time() + (180), "/");
header("Location: personal.php");
}else{ //wrong info
echo "Gebruikersnaam of passwoord is niet juist!";
}
}else if (isset($_POST['register'])){
$user = $_POST['username'];
$pass = $_POST['password'];
$phash = sha1(sha1($pass."salt")."salt");
$sql = "INSERT INTO 'users' ( username, password) VALUES ($user', '$phash')'; ";
$result = myqli_query($conn, $sql);
}
?>
好的,所以当我尝试按注册时,它不会将我带到personal.php,但它只是再次加载相同的东西。 (logreg.php,这个代码文件)
如果有人看到为什么标题不起作用,请告诉我!
编辑:现在的问题是它甚至无法通过 Isset 执行。现在它甚至什么都达不到。代码:
if (isset($_POST['login']))
{
$user = $_POST['username'];
$pass = $_POST['password'];
$phash = sha1(sha1($pass."salt")."salt"); //password: not visible
$sql = "SELECT 'username' FROM 'users' WHERE username ='$user' AND password='$phash'; "; //fetching database
$result = myqli_query($conn, $sql); //check if login is right
$count = mysqli_num_rows($result);
if ($count == 1) //if username + pass is ok
{
$cookie_value = $user;
setcookie($cookie_name, $cookie_value, time() + (180), "/");
echo '<a href="personal.php">Continue</a>';
}
else
{
echo "username or password is incorrect";
}
}
else if (isset($_POST['register']))
{
$user = $_POST['username'];
$pass = $_POST['password'];
$phash = sha1(sha1($pass."salt")."salt");
$sql = "INSERT INTO 'users' ( username, password) VALUES ($user', '$phash')'; ";
$result = myqli_query($conn, $sql);
}
?>
【问题讨论】:
-
在调用
header之前是否有任何回显?如果任何页面已发送到客户端,则无法进行标头重定向。 -
设置寄存器时你没有给出头部重定向
-
你有一个 else if 但我没有看到开头 if。你错过了一些代码吗?你有没有注意到你有一个 else,然后是一个 else if?
-
使用
$_SESSION代替 cookie 来存储用户 ID -
@user3284463 会话变量不只是 cookie 的抽象吗?
标签: php mysql database phpmyadmin