如果登录输入不正确,我会将用户重定向回登录页面。
$sql = "select * from Driver where username=$username and pwd=$pwd";
$driver = mysql_query($sql);
if(!$driver){
header("Location: http://domain.de/login.php");
exit();
}
我还可以将"sorry, username isnot correct"
之类的邮件传递给登录页面吗?
我不想使用会话。得到不是这里的选择
答案 0 :(得分:1)
你可以这样做
header("Location: http://domain.de/login.php?error=username");
并在另一页上进行
if ($_GET['error'] == 'username') {
echo 'Sorry, username is not correct!';
}
编辑: 注意SQL注入
答案 1 :(得分:1)
您可以将get参数添加到位置标题或在会话中保存消息标记。像这样:
$sql = "select * from Driver where username=$username and pwd=$pwd";
$driver = mysql_query($sql);
if(!$driver){
header("Location: http://domain.de/login.php?wasredirect=1");
exit();
}
//////// In login.php
if (isset($_GET['wasredirect'])) {
echo "sorry, username isnot correct";
}
或者这个:
$sql = "select * from Driver where username=$username and pwd=$pwd";
$driver = mysql_query($sql);
if(!$driver){
header("Location: http://domain.de/login.php");
if (!isset($_SESSION)) {
session_start();
}
$_SESSION['redirect'] = true;
exit();
}
//////// In login.php
if (!isset($_SESSION)) {
session_start();
}
$_SESSION['redirect'] = true;
if (isset($_SESSION['redirect']) &&$_SESSION['redirect'] ) {
echo "sorry, username isnot correct";
unset($_SESSION['redirect']);
}
答案 2 :(得分:1)
只需赠送一条消息,即可将其添加到网址中。
header("Location: http://domain.de/login.php?e=1234");
我建议使用错误代码而不是完整长度的消息,以获得更好的灵活性。
注意,然而,正确执行将需要实现MVC模式,然后在内部加载错误页面的路由。但对于一个小脚本来说,这可能太多了。
我知道你没有反馈你的查询。不用担心,除非你对SQL注入的含义一无所知。
最好的关注
泽索特
答案 3 :(得分:1)
我认为最好的解决方案是将login.php页面作为当前脚本(控制器)的一部分(视图)加载,并使用消息的值设置变量。类似的东西:
if(!$driver){
$message = "Sorry, username isnot correct";
}
else {
$message = "Whatever";
}
include('login.php');
在login.php脚本中可以使用$ message。
答案 4 :(得分:-3)
将查询更改为:
$sql = "select * from `Driver` where `username`='$username' and `pwd`='$pwd'";
注意反引号和单引号