PHP會話問題:如何通過會議通過的電流變量是在PHP
我使用的會話從一個網頁(的index.php)一些varaiables傳遞到另一個頁面(result.php)。這些值由用戶輸入,一旦提交按鈕被點擊,result.php頁面應該打開並顯示輸入數據的摘要。
'//index.php
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data" id="form" name="form" onsubmit="window.open('result.php', '_blank');return true;" >
Enter Your Email Here: <input name="email" id="email" type="text" placeholder="[email protected]" pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?" required title="must be [email protected]" />
Input file: <input type="file" name="file" id= "file" maxlength="90" required/>
cutoff: <input type="text" name="cutoff" placeholder="0.005" maxlength="60" />
<input type="submit" name = "submit" id="submit" value="Submit"/> </form>'
檢索到的信息 - EMAILID,文件和cutof,還用來使用了shell_exec運行perl腳本。爲了運行完整的程序,這些valuse應該存在於result.php頁面中。對於變量傳遞,我使用了PHP會話。
<?php
//session name in index.php
session_id('testsession');
session_start();
//pass variables email; file and cutoff
$_SESSION["email"] = $_POST['email'];
$_SESSION["file1"] = $filename;
$_SESSION["cutoff"] = $cutoff;
?>
而在result.php,該值作爲收到:
<?php
//start sesstion
session_id('testsession');
session_start();
echo session_id();
//values recieved by session parameter
echo '<br> email : '.$_SESSION["email"];
echo '<br> File : '.$_SESSION["file1"];
echo '<br> cutoff : '.$_SESSION["cutoff"];
?>
問題和問題
- 有沒有更好的方式來處理變量傳遞到不同的頁面?
- 腳本中的主要問題是result.php收到的是每次會話值是從以前的會話。 例如:在index.php文件:
電子郵件 - [email protected]
文件 - 「的test.txt」
截止 - 0.002
然後在result.php將得到
電子郵件 - 0
文件 - 0
截止 - 0
,但下一次,如果我再次更新
的index.php中
電子郵件 - [email protected]
文件 - 「 95test.txt「
截止 - 0.52
result.php將顯示
電子郵件 - [email protected]
文件 - 「的test.txt」
截止 - 0.002
如何打理會議值? 可能是這個問題是由於將頁面重定向到result.php,歡迎任何幫助或建議。
謝謝!
你有沒有考慮過簡單地發送這些值的網址? – OllyBarca
在會話啓動之前,您正在設置會話ID。爲了清楚說明正在處理的數據,我發現一旦完成了會話變量,就可以更容易地取消設置。這可以防止數據混淆。如果你正在重定向頁面,那麼將表單指向result.php並在那裏處理數據不是更簡單嗎? –
感謝您的建議,我在開始之後嘗試session_id並取消設置會話變量,同時我嘗試將頁面重定向到result.php。但似乎沒有任何工作。它只是沒有通過當前值。有什麼其他方式可以解決這個問題嗎? – nikki