运行并指向另一个文件的php文件
我正在尝试创建一个主页。一旦用户来到站点并输入用户名和密码,数据将被发布到checklogin.php文件中,并在其中验证用户输入的数据。是否有一种方法,在它检查了数据并且一切正常后,它会将用户重定向到另一个页面,即主页?我想这样做,以便我的整个checklogin脚本不在主页上。然后,如果用户位于站点的不同部分,并且他们单击home,则检查登录脚本将再次运行,并且将失败。我知道我可以使用会话变量来查看他们是否已经登录,如果他们已经登录,我可以绕过主页上的checklogin脚本,但这是正确的方法吗运行并指向另一个文件的php文件,php,redirect,Php,Redirect,我正在尝试创建一个主页。一旦用户来到站点并输入用户名和密码,数据将被发布到checklogin.php文件中,并在其中验证用户输入的数据。是否有一种方法,在它检查了数据并且一切正常后,它会将用户重定向到另一个页面,即主页?我想这样做,以便我的整个checklogin脚本不在主页上。然后,如果用户位于站点的不同部分,并且他们单击home,则检查登录脚本将再次运行,并且将失败。我知道我可以使用会话变量来查看他们是否已经登录,如果他们已经登录,我可以绕过主页上的checklogin脚本,但这是正确的方
<?php
include'vive_fns.php';
$v_username = trim($_POST['viveuser']);
$v_password = trim($_POST['vivepass']);
if(!isset($_POST['viveuser'])|| empty($v_username)){
echo"Please enter a username"; //should change to redirect
die();
}
elseif(!isset ($v_username) || empty($v_username)) {
echo "Please enter a password"; //should change to redirect
die();
}
//if all data is entered we want to check the password
$mysqli = connect_db();
//set database query
$sql1 = "SELECT password FROM vive_user WHERE username = "."'$v_username'";
//check to make sure a result is returned
if(!$result1 = $mysqli->query($sql1)){
echo 'Could not query database. Please try again later.';//should change to redirect
die();
}
else {
$data = $result1->fetch_array(MYSQLI_NUM);
$db_pass = $data[0];
}
if($db_pass !== $v_password){
$title = 'Incorrect Login Info';
//do_html_header($title); this sets the page title
echo"Incorrect Password";//should change to redirect
die();
}
//if everything checks out need to establish user info
$title = 'Home';
do_html_header($title);
//echo"Logged In";
session_start();
$_SESSION['valid_user']=$v_username;
// at this point i want to redirect
header("Location: home.php");
exit();
是
一旦用户成功通过用户名和密码字段的身份验证,您需要使用会话来存储与用户相关的信息
- 一旦用户通过身份验证,您就可以重定向到成功页面,我的意思是允许他们访问页面
- 若用户未通过身份验证,请重新将其重定向到登录页面
- 若会话过期,请重新将其重定向到登录页面
谢谢
阿米特是的
一旦用户成功通过用户名和密码字段的身份验证,您需要使用会话来存储与用户相关的信息
- 一旦用户通过身份验证,您就可以重定向到成功页面,我的意思是允许他们访问页面
- 若用户未通过身份验证,请重新将其重定向到登录页面
- 若会话过期,请重新将其重定向到登录页面
谢谢
阿米特
只要根据需要更改url即可
只要根据需要更改url。是的,这听起来很正确。
因此,您的主页上会有一个带有login&passw的脚本,将信息发布到checklogin.php
在那里,您检查数据是否正确,如果正确,您可以使用会话将他设置为已登录。
之后,使用header()函数将他重定向到主页
请注意,如果在html内容之后设置header()函数,则该函数将不起作用,但在您的示例中,checklogin.php中没有html,对吗?;) 是的,听起来不错。
因此,您的主页上会有一个带有login&passw的脚本,将信息发布到checklogin.php
在那里,您检查数据是否正确,如果正确,您可以使用会话将他设置为已登录。
之后,使用header()函数将他重定向到主页
请注意,如果在html内容之后设置header()函数,则该函数将不起作用,但在您的示例中,checklogin.php中没有html,对吗?;) 看看这个,我想它会帮助你理解这里的逻辑,这是用户可以放置登录信息的第一个登录页面
电子邮件
密码
看看这个,我想它会帮助您理解逻辑,这里是用户可以放置登录信息的第一个登录页面
电子邮件
密码
与其重新发明轮子,不如研究类似laravel的框架。如果你选择自己做这件事,首先要了解其他主要框架是如何做到这一点的。您可以使用header()重定向请求。请看@Raphael我不是在试图重新发明轮子,我只是还不熟悉任何框架。我看到了header函数,并考虑使用它。同意拉斐尔的观点。使用此基本卫生功能的框架。它可能比99.9%的php开发者在laravel的SOlooking中实现的登录函数更好更快。看起来它可能只是使用raphael描述的header函数。我是php新手,希望在开始使用框架之前对php有更多的了解。与其重新发明轮子,不如研究一下类似laravel的框架。如果你选择自己做这件事,首先要了解其他主要框架是如何做到这一点的。您可以使用header()重定向请求。请看@Raphael我不是在试图重新发明轮子,我只是还不熟悉任何框架。我看到了header函数,并考虑使用它。同意拉斐尔的观点。使用此基本卫生功能的框架。它可能比99.9%的php开发者在laravel的SOlooking中实现的登录函数更好更快。看起来它可能只是使用raphael描述的header函数。我是php新手,希望在开始使用框架之前对php有更多的了解。@ratrace123这将为您提供更多信息,@ratrace123这将为您提供更多信息,我在尝试将其重定向到主页时遇到问题。我认为这是因为如果登录信息不正确,那么它将回显“不正确的登录”。这会停止重定向,即使登录信息是正确的,没有输出?我不这么认为。但是我建议,除了在空白页面上输出“不正确的登录”之外,您也可以在这里使用重定向,但是使用像header(“homepage.php?bad_login”)这样的_GET变量,您可以发布一些代码,以便我们查看出了什么问题吗?好的,我添加了我的代码,如果这被认为是输出,我可以去掉所有的echo命令,并重定向到主页。我在试图让它重定向到主页时遇到了问题。我认为这是因为如果登录信息不正确,那么它将回显“不正确的登录”。这会停止重定向,即使登录信息是正确的,没有输出?我不这么认为。但是我建议,除了在空白页面上输出“不正确的登录”之外,您还可以在这里使用重定向,但是使用一个_GET变量,比如header
header("Location:http://localhost/form2.php");
exit();