我從來沒有真正使用會話,所以它可能是一個愚蠢的錯誤。當我用if(isset($ _ SESSION)它輸出假的,我認爲這是與在foreach。我沒有得到任何錯誤,任何責任。難道anyody抽出時間來幫我?有誰知道爲什麼這個會話沒有在下一頁設置?
<?php
session_start();
if(isset($_POST['register']))
{
require_once('../resources/library/register.class.php');
//require_once('../resources/library/sessions.class.php');
$obj_reg = new register();
$name = $_POST['user'];
$pass = $_POST['pass'];
$email = $_POST['email'];
$checking = $obj_reg->checking($name, $pass);
//An foreach for converting POST data inside SESSION variables
//isset checks if the array value contain post variables
$posts = array($name, $pass, $email);
foreach ($posts as $p)
{
if(isset($_POST['p'])){
$_SESSION['p'] = $_POST['p'];
}
}
}
?>
<form method="post" action="index.php?page=register.php">
<table>
<tr><td>username:</td><td> <input type="text" name="user"></td></tr>
<tr><td>password:</td><td> <input type="password" name="pass"/></td></tr>
<tr><td>email:</td><td> <input type="text" name="email"/></td></tr>
<?=(!empty($checking)) ? $checking : '' ?>
</table>
<input type="hidden" name="token" value="<?=$token;?>"/>
<input type="submit" name="register" value="register"/>
</form>
<?php
session_start();
if(isset($_SESSION['p']))
{
echo "mama";
}
else
{
echo "why?";
}
?>
第一個腳本中的'session_start'在哪裏?每次訪問會話變量時都需要調用它。 – ATaylor
我這樣做了,我不小心沒有選擇它作爲代碼 – user1889741
你知道,你沒有一個名爲'p'的字段,是嗎?嘗試檢查'pass'而不是'p',看看這是否有用。 – ATaylor