我跟进了一个教程,了解更多关于PHP,在它的源代码有一些这在当时看来的作品,但现在不是了。这里是代码,请让我知道我应该在代码中,以使登录过程的工作(目前输入有效的用户名和传递,并点击登录后冻结,并显示第一页,而不是去改变home.php
这里是模板/ header.php文件:
<div class="container">
<!--Head wrap starts-->
<div id="head_wrap">
<!--Header starts-->
<div id="header">
<img src="images/logo.png" style="float:left;"/>
<form method="post" action="" id="form1">
<strong>Email:</strong>
<input type="email" id="email" name="email" placeholder="Email" required="required" />
<strong>Password:</strong>
<input type="password" id="pass" name="pass" placeholder="****" required="required"/>
<button type="submit" id="login">Login</button>
</form>
</div>
<!--Header ends-->
</div>
这里的login.php
<?php
session_start();
include("includes/connection.php");
if(isset($_POST['login'])){
$email = mysqli_real_escape_string($con,$_POST['email']);
$pass = mysqli_real_escape_string($con,$_POST['pass']);
$get_user = "select * from users where user_email='$email' AND user_pass='$pass'";
$run_user = mysqli_query($con,$get_user);
$check = mysqli_num_rows($run_user);
if($check==1){
$email = mysqli_real_escape_string($con,$_POST['email']);
$_SESSION['user_email']=$email;
echo "<script>window.open('home.php','_self')</script>";
}
else {
echo "<script>alert('Passowrd or email is not correct!')</script>";
}
}
?>
请注意,我已经尝试
echo "<script> window.location.href = 'home.php';</script>";
代替
echo "<script>window.open('home.php','_self')</script>";
而仍然无法正常工作,因为它的教程,我已经通过搜索计算器找不到任何答案我感谢你的帮助。
这是你的HTML代码,但有一个提交按钮。你说的所有文件都位于同一个文件夹,以便这应该工作。我没有做出任何的login.php的变化,但在提交页面时,它应该运行。
<div class="container">
<!--Head wrap starts-->
<div id="head_wrap">
<!--Header starts-->
<div id="header">
<img src="images/logo.png" style="float:left;"/>
<form method="post" action="login.php" id="form1">
<strong>Email:</strong>
<input type="email" id="email" name="email" placeholder="Email" required="required" />
<strong>Password:</strong>
<input type="password" id="pass" name="pass" placeholder="****" required="required"/>
<input type="submit" id="login" name="login" value="Login">
</form>
</div>
<!--Header ends-->
</div>
</div>
编辑:我不能调试您的整个项目,但找了一些事情,我看你以后不使用“name”属性。当一个页面提交的名称/值对的$ _POST数组中发送。如果你没有“name”属性没有被发送。通过将“name”属性开始。我已经修改了上面的HTML代码,向您展示如何。
你必须使用header(...)功能,但不要忘记,你的页面保持在结束时运行。不要忘了die
使用停止脚本。 ;)
die(header("Location: home.php"))
或5秒后:
header("refresh: 5; url=home.php");
if($check==1){
$email = mysqli_real_escape_string($con,$_POST['email']);
$_SESSION['user_email']=$email;
return 1;
}
else {
return 0;
}
和javascript检查状态1和0,则window.location.href和window.open使用
检查您的文件..
1)报头()发送的任何实际输出之前,必须被调用,或者通过正常的HTML标记,空行的文件,或者从PHP
2)将所有的PHP代码,并确保你没有任何空格的文件的开头。
3)报头(后 '位置:home.php');添加出口();
4)sesssion_start()后添加ob_start();