我在PHP中创建了一个登录页面,用户输入了他们的详细信息,然后将其发布到另一个PHP文件,然后检查用户输入的用户名,看看它是否在MySQL帐户表中注册,如果是的话检查密码,如果匹配,我希望它打开配置文件页面,如果没有,我希望它返回登录页面。如何在一个新的html / php文件中加载PHP代码以显示在屏幕上。到目前为止,我的PHP代码是:
<html>
<?php
include_once "mysql_connect.php";
$usersName = $_POST['usersname'];
$passWord = $_POST['passsword'];
$result = mysql_query("SELECT * FROM allaccounts");
$num_rows = mysql_num_rows($result);
$username = "";
$password = "";
for ($i = 1; $i <= $num_rows; $i++) {
$currentname = mysql_query("SELECT * FROM allaccounts WHERE id=$i");
while ($row = mysql_fetch_array($currentname)) {
$username = $row[0];
$password = $row[1];
}
if (($username === $usersName) && ($password === $passWord)) {
echo "We got you";
break;
} else {
echo "nothing";
}
}
?>
</html>
答案 0 :(得分:0)
使用header()函数。这将重定向到指定的页面。
if (($username === $usersName) && ($password === $passWord)) {
header("Location: profile.php");
} else {
header("Location: fail.php");
}
另外 - 摆脱顶部的<html>
。它没用,意味着标题已经发送。
答案 1 :(得分:0)
你可以使用ajax
来做魔术。可以使用内联或外部脚本进行ajax调用。
这可以帮助您通过降低加载其他页面的复杂性在同一窗口/页面中显示错误消息。
它看起来像这样......
// add the code inside a function which should be
// invoked on submitting the login details
$.ajax({
type : "POST",
url : "your_login_check.php",
data : anyVariable,
dataType: "HTML",
success : function(data){
if( data === "We got you"){
// Display an error message in a div or simply an alert
}
else if( data === "nothing"){
// Redirect to a specific page
window.location = "//Your_another_page.php//";
}
)};