2016-08-08 4 views
1
<?php session_start(); ?> 
<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
</head> 
<body> 
<?php 
if(isset($_POST['submit']) && $_POST['submit'] == "submit") 
{ 
    $_SESSION['name'] = $_POST['Name']; 
    $_SESSION['father_name'] = $_POST['Father_name']; 
    $_SESSION['class'] = $_POST['Class']; 
    $_SESSION['address'] = $_POST['Address']; 

} 
if(isset($_SESSION['name']) && isset($_SESSION['father_name']) && isset($_SESSION['class']) && isset($_SESSION['address'])) 
{  
    echo $_SESSION['name'] . '<br>'; 
    echo $_SESSION['father_name'] . '<br>'; 
    echo $_SESSION['class'] . '<br>'; 
    echo $_SESSION['address'] . '<br>'; 
?> 
<form method="post" name="secondform"> 
<button type="submit" name="clear" value="clear">clear</button> 
</form> 
<?php 
    if (isset($_POST['clear'])) 
    { 
     session_unset();  
       session_unset();   

    }  
} 
else 
{ ?> 
    <form method="post" name="myform"> 
     <input type="text" name="Name" placeholder="Name"/> 
     <input type="text" name="Father_name" placeholder="Father name"/> 
     <input type="text" name="Class" placeholder="class"/> 
     <input type="text" name="Address" placeholder="address"/> 
     <button type="submit" name="submit" value="submit">subbmit</button> 
    </form> 
<?php } ?> 
</body> 
</html> 

Мне нужно дважды щелкнуть по кнопке очистки. Петля работает неправильно, session_unset не работает должным образом. Будем очень благодарны любой помощи.Сбой сеанса PHP не работает

+0

session_unset ('value_to_be_remove') решает проблему. для уничтожения всего сеанса session_destroy() –

+0

@PradeepSapkota Возможно, вы захотите снова прочитать документацию [session_unset()] (http://php.net/manual/en/function.session-unset.php). Он не принимает параметры. –

ответ

0

Переместить session_unset() в начало страницы, сразу после session_start() (что всегда должно быть первым). В настоящее время после нажатия «Очистить» вы сначала эхом сохраняете значения, затем очищаете их. Вам не нужно дважды щелкнуть по нему, снова загрузив страницу после очистки, это покажет, что сеанс пуст. Перемещав session_unset(), вы очищаете их, прежде чем пытаться их эхо.

Смежные вопросы