所以,我正在創建一個應用程序(新會話),並試圖使用會話創建一個簡單的錯誤處理語句。PHP會話不能按預期工作
爲了簡化事情,讓我描述基礎知識。
- 用戶輸入查詢頁面上的1
- 用戶按下提交
- 頁2被裝載如果查詢被設置爲檢查查詢
- 的值,它被運行,並且被顯示在結果第3頁
- 如果爲空但是,錯誤被捕獲,並設置用戶被重定向回第1頁
我關心的是最後一步,我不能讓它工作出於某種原因。
下面是代碼與錯誤:
頁1S相關代碼:
<?php
session_start();
$ERROR = $_SESSION['error'];
if($ERROR) {
echo $ERROR;
}
?>
而且第2頁:
<?
session_start();
---------------- And as we go down the file a bit ----------------
if(trim($getQuery == "")){
$ERROR = "no search criteria entered";
$_SESSION['error'] = $ERROR;
if(!isset($_SESSION['error'])) {
die("the session error was not set for some reason");
}
$url = "localhost:8000/mysite"; //index.php is page 1 in this case so I just redirect to the parent directory as index is loaded by default obviously in that case
header("Location:" . $url);
}
?>
$ getQuery是在查詢中捕捉到的值如第1頁的方框中所示,並通過後期方法發送到第2頁,這可以自然地假設。
但是,當我在查詢框中輸入任何內容,然後發送查詢,頁面刷新(因爲它應該在2頁意識到查詢是空的,頭的位置重新加載頁面),但沒有顯示任何錯誤,它應該考慮我在第2頁檢查它是否已設置。
任何想法?
乾杯, - SD
你有PHPSESSID的Cookie在你的瀏覽器設置? –
它看起來像你有一個'''在錯誤的地方。你有'if(trim($ getQuery ==「」))',但我認爲你想'if(trim($ getQuery)==「」) – Sean
@Sean爲什麼你更喜歡使用這種方法而不是OP目前使用? –