我有一个单独的 navigator.php 包含在我公开的每个页面的顶部。它有一个登录表单。如果用户有一个帐户,他们可以登录并发送到他们所在的当前页面。
我将当前网址添加到隐藏的输入中作为其值。并将其发布到giris.php(登录)。然后使用标题重定向用户。
但是当谈到 register.php 时(没有设置任何会话);我试图登录那里,它仍然把我送回 register.php 。但是SESSION正在设置。我需要一个例外,并希望通过 register.php 将用户发送到 index.php 。
navigator.php
<div id="top">
<ul class="topnav" id="myTopnav">
<li><a href="index.php">Anasayfa</a></li>
<li><a href="contact.php">İletişim</a></li>
<li><a href="#about">Hakkımızda</a></li>
<?php
if (isset($_SESSION["giris"]))
{
echo '<li><a href="#">Panel</a></li>
<li><a href="cikis.php">Çıkış Yap</a></li>';
}
else
{
$url= $_SERVER["REQUEST_URI"];
echo '<li><a href="register.php">Kayıt Ol</a></li>
<li id="log">
<form method="post" action="giris.php"><div id="login">
<input type="hidden" name="location" value="'.$url.'">
<input type="text" name="username" placeholder="Kullanıcı Adı" class="loginField" required>
<input type="password" name="password" placeholder="Şifre" class="loginField" required>
<input type="submit" name="login" value="Giriş" id="logBut">
</form>
</li>';
}
?>
<li class="icon">
<a href="javascript:void(0);" onclick="myFunction()">☰</a></li>
</ul>
</div>
<div id="banner">
<div id="title">
<h1>Topluluk Bloğu</h1>
<br/>
<h5>Community Blog</h5>
<br/>
<?php if(isset($_SESSION["giris"])){echo '<p id="username">Hoşgeldin '.$_SESSION["kullanici"].'</p>'; }?>
</div>
</div>
giris.php
<?php
session_start();
ob_start();
include 'func/constr.php';
if(isset($_POST["login"]))
{
$kullanici = $_POST['username'];
$password = $_POST['password'];
$URL = $_POST["location"];
$query = mysqli_query($connect,"SELECT * FROM kullanicilar where kullanici_adi='$kullanici' and sifre='$password'");
$count = mysqli_num_rows($query);
if ($count == 1)
{
$_SESSION["giris"] = true;
$_SESSION["kullanici"] = $kullanici;
$_SESSION["sifre"] = $password;
header("Location:$URL");
}
else
{
$invalid = "Kullanıcı adı ya da şifre yanlış";
$_SESSION["invalid"] = $invalid;
header("Location:index.php");
}
}
ob_end_flush();
?>
答案 0 :(得分:0)
试试这个,但没有经过测试,如果你的其他代码没问题,那么重定向问题
header("Location:$URL");
到
header('Location: ' . $URL);