如何在PHP

时间:2015-05-28 15:37:08

标签: php html session

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"];
?>

问题和问题

  1. 有更好的方法来处理将变量传递到不同的页面吗?
  2. 此脚本中的主要问题是每次result.php收到的会话值都来自上一个会话。 例如:在index.php文件中:
  3. 电子邮件 - 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,欢迎任何帮助或建议。

    谢谢!

1 个答案:

答案 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;
?>