登录时重定向
问题描述:
我想在登录后重定向回index.php页面,但我遇到了麻烦。登录时重定向
这里是我的login.php:
<?php
session_start();
include_once 'dbconnect.php';
if(isset($_SESSION['user'])!=""){
header("home.php");
}
if(isset($_POST['btn-login'])){
$email = mysql_real_escape_string($_POST['email']);
$upass = mysql_real_escape_string($_POST['pass']);
$res=mysql_query("SELECT * FROM users WHERE email='$email'");
$row=mysql_fetch_array($res);
if($row['password']==md5($upass))
{
$_SESSION['user'] = $row['user_id'];
header("home.php");
}else{
?>
<script>alert('wrong details');</script>
<?php
}
}
?>
这是我home.php:
<?php
session_start();
include_once 'dbconnect.php';
if(!isset($_SESSION['user'])){
header("Location: index.php");
}
$res=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
?>
这是我在我的index.php导航栏:
<!-- Nav Bar -->
<nav class="navbar navbar-default navbar-fixed-top navbar-left">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand brand" href="#" style="font-family: Warnes">Unleasht</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="#">HOME</a></li>
<li><a href="#about">ABOUT</a></li>
<li><a href="#music" data-toggle="collapse" data-target=".navbar-collapse.in">MUSIC</a></li>
<li><a href="#contact" data-toggle="collapse" data-target=".navbar-collapse.in">CONTACT</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<?php
function loggedIn(){
if(isset($_SESSION['username'])!="")
{ echo '<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">'. $_SESSION['username'] .'<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>';
}else{
echo '<li><a href="#login" data-toggle="modal" data-target="#login" id="loginbtn"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>';
}
}
loggedIn();
?>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
但他们都不在同一个文件中。 login.php的位置在assets/php/login/login.php
我可以得到一些帮助吗?
答
您忘记了Location:
设置标题以重定向。
你必须改变header("home.php");
到header("Location: home.php");
+0
它仍然无法正常工作。我试着把它改成header(“Location:../../../index.php”) –
** **危险:您正在使用[不合适的散列算法(http://php.net/manual/en/faq.passwords.php)和需要以更好地保护您的用户密码(https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet)。 – Quentin
**警告**:您正在使用[**过时的**数据库API](http://*.com/q/12859942/19068),它已被**删除**完全从最新版本的PHP 。你应该使用[现代替换](http://php.net/manual/en/mysqlinfo.api.choosing.php)。 – Quentin