2017-04-18 3 views
0

Ich habe eine separate Navigator.php oben auf jeder Seite, die ich für die Öffentlichkeit. Und es hat ein Login-Formular. Wenn Benutzer ein Konto haben, können sie sich anmelden und an die aktuelle Seite gesendet werden dass sie sind.PHP Header Ausnahmen

Ich übermittle die aktuelle URL-Adresse an einen versteckten Eingang als value.And post es auf giris.php (Login). Dann umleiten den Benutzer mit Header.

Aber wenn es um register.php kommt (wenn keine Sitzungen festgelegt wurden); Im Versuch, dort einloggen und es schickt mir immer noch zurück auf die register.php .Aber SESSION ist set.Thats zu sein, wo ich benötigen eine Ausnahme und möchten Benutzer an die index.php über register.php senden.

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()">&#9776;</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

Setzen Sie die Sitzung oben, dass jede Seite diese Sitzung verwenden –

+0

Ich habe bereits die Sitzung auf jeder Seite gestartet, während Sie giris.php erfordern –

Antwort

0

versuchen, diese aber nicht getestet, wenn der andere Code in Ordnung ist und umleiten Problem dann

header("Location:$URL"); 

bis