2013-02-12 4 views
0

hi im пытается поставить оператор if, который говорит после входа в систему, если учетная запись пользователя запрещена, а затем перенаправляется на logout.php, который регистрирует пользователя, но я также хочу отображать сообщение сеанса после этого. можно ли это сделать, пытаясь сделать следующее, но только для того, чтобы перенаправить пользователя на выход и вывести их из системы, не отображая сообщение сеанса.Если условие истинно, перенаправление на выход и отображение сообщения сеанса?

пожалуйста, может кто-то показать мне, где им будет неправильно спасибо:

<? if (logged_in()) { ?> 
    <? 
    $account_banned = account_banned(); 
    while ($banned = mysql_fetch_array($account_banned)) 


    if ($banned['account_banned'] == '1') { 
     $_SESSION['banned']="<div class=\"infobox-noprofile\"><strong>Account Banned</strong> - We could not log you in because your account has been banned. If you need to talk to us about this please email <a href=\"mailto:[email protected]\">[email protected]</a></div><div class=\"infobox-close12\"></div>"; 

      redirect_to("logout.php"); 


    ?> 

    <? } }?> 

в logout.php:

<? 
session_start(); 
if(isset($_SESSION['banned'])) 
    echo $_SESSION['banned']; 
    unset($_SESSION['banned']); 

?> 
+0

Что делает 'redirect_to'? –

+0

у вас отсутствует session_start(); на первой странице – Nimrod007

ответ

1

У вас не хватает session_start(); в первом файле. И где идет обработка выхода? Человек остается зарегистрированным в (по крайней мере, если он был в первую очередь)

0

Пожалуйста, не сохранить этот вид значений внутри переменных сеанса, а не делать это:

первый файл:

<?php if (logged_in()) { 
     $account_banned = account_banned(); 
     while ($banned = mysql_fetch_array($account_banned)) 


     if ($banned['account_banned'] == '1') { 
      $_SESSION['banned']= true; 

       redirect_to("logout.php"); 
     } 
     } 
?> 

logout.php

<?php 

    session_start(); 
    if(isset($_SESSION['banned'])):?> 
    <div class="infobox-noprofile"><strong>Account Banned</strong> - We could not log you in because your account has been banned. If you need to talk to us about this please email <a href="mailto:[email protected]">[email protected]</a></div><div class="infobox-close12"></div> 

<?php endif; 
unset($_SESSION['banned']); 
?> 
Смежные вопросы