Nasıl php bir yönlendirme sayfası yok

3 Cevap php

I'm having difficulties in the making the logout code for php to work. When I click on the logout button, it will go back to the home page, but when I click on the back button in the browser. I can still access the previous page, wherein the user must be logged on to access it. So I'm thinking of redirecting to the login page when the user clicks on the back button on the browser.

Bu hiç kullanıcı henüz oturum nerede. Bu sayfa kullanıcı sayfadaki bir oturum kapatma bağlantısı tarafından çağrılan ediliyor (ana sayfa, benim kodudur.

   <?
session_start();
session_destroy();
?>
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="text" id="mypassword"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>

3 Cevap

Script başlamadan önce alanlarda stunti tarafından önerilen "Location" yöntemini kıracak.

   <?
^^^

Dikkatli olun ve bunları kaldırın.

<?php header('Location:'. $myurl);exit;?>

Hiçbir şey tarayıcınıza gönderilen olmuştur varsayarak yönlendirmek için hile yapmak gerekir.

But your problem is more about checking if the user have the right credential for this page. After the session_start(), you should check if a user is present in the session. For example when the user logging, put something in the session to identify your user:

<?php $_SESSION['user_id'] = $userid; ?>

Eğer oturum açmış olmanız için bir kullanıcı gerektirir herhangi bir sayfaya erişmek istediğinizde:

<?php if (empty($_SESSION['user_id)) { header('Location: /');exit;} ?>

User_id oturumda mevcut değilse, bu yüzden size kullanıcı böylece ana onu yönlendirmek, günlüğe değildir.

Ayrıca oluşturduktan sonra oturumu yok olmamalıdır. Kullanıcı oturum kapattığınızda oturum tahrip yalnızca yapılmıştır gerekir. ancak oturum başlangıç ​​her zaman (sadece daha kolay bu şekilde) yapılmalıdır

Burcun dışarı sayfasında sadece unset $ _SESSION ['user_id'] Eğer ana sayfaya yönlendirebilirsiniz önce.

unset($_SESSIOM['user_id']);

Sonra tüm diğer sayfalarda onun sadece stunti yukarıdaki yorumunda söylediğim gibi, geri ana sayfasına yönlendirmek kümesi değilse oturum için User_id ayarlanmış olup olmadığını sadece kontrol ilk giriş için kullanıcı gerektirir