PHP会话问题:
我正在使用session将一些varaiables从一个页面(index.php)传递到另一个页面(result.php)。用户要求输入值,一旦点击提交按钮,结果将打开.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="your.email@example.com" 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 your.email@example.com" />
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,file和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"];
?>
问题和问题
电子邮件 - n.n@example.com
file - “test.txt”
截止 - 0.002
然后在result.php中得到
电子邮件 - 0
file - 0
截止 - 0
但下次如果我再次更新
index.php中的
电子邮件 - a.a@example.com
file - “95test.txt”
截止 - 0.52
result.php将显示
电子邮件 - n.n@example.com
file - “test.txt”
截止 - 0.002
如何处理会话值? 可能是这个问题是由于将页面重定向到result.php,欢迎任何帮助或建议。
谢谢!
答案 0 :(得分:0)
我不确定但不是session_name而不是session_id吗?
<?php
//session name in index.php
session_name('testsession');
session_start();
//pass variables email; file and cutoff
$_SESSION["email"] = $_POST['email'];
$_SESSION["file1"] = $filename;
$_SESSION["cutoff"] = $cutoff;
?>