4

我可以将值从一个页面传递到另一个页面,但我需要像这样传递值,

第 1 页:

Page4.php

Page3.php

我需要将Page1.php中的文本字段中的值传递给Page2.php中的文本字段,因为表单没有直接重定向到page2,我无法传递值,我尝试了会话,表单发布方法和其他几种方法,但我还没有成功。

如果您能帮助我提供代码或一些建议,我将非常高兴。

谢谢!

编辑..........

我找到了答案,感谢您的帮助,这实际上是我的一个粗心错误,我使用了 $_post 而不是 $_session。

它现在工作。

谢谢您的帮助。

4

2 回答 2

7

使用这样的东西:

page1.php

<?php
session_start();
$_SESSION['myValue']=3; // You can set the value however you like.
?>

任何其他 PHP 页面:

<?php
session_start();
echo $_SESSION['myValue'];
?>

不过要记住一些注意事项:您需要session_start()在任何输出、HTML、回显之前调用 - 甚至是空格。

您可以在会话中不断更改值 - 但它只能在第一页之后使用 - 这意味着如果您在第 1 页中设置它,您将无法使用它,直到您到达另一个页面或刷新页。

变量本身的设置可以通过多种方式之一完成:

$_SESSION['myValue']=1;
$_SESSION['myValue']=$var;
$_SESSION['myValue']=$_GET['YourFormElement'];

如果您想在出现潜在错误之前检查变量是否已设置,请使用以下内容:

if(!empty($_SESSION['myValue'])
{
    echo $_SESSION['myValue'];
}
else
{
    echo "Session not set yet.";
}
于 2012-09-26T09:05:11.470 回答
4

仅使用 POST 的解决方案 - 没有 $_SESSION

page1.php

<form action="page2.php" method="post">
    <textarea name="textarea1" id="textarea1"></textarea><br />
    <input type="submit" value="submit" />
</form>

page2.php

<?php
    // this page outputs the contents of the textarea if posted
    $textarea1 = ""; // set var to avoid errors
    if(isset($_POST['textarea1'])){
        $textarea1 = $_POST['textarea1']
    }
?>
<textarea><?php echo $textarea1;?></textarea>

使用 $_SESSION 和 POST 的解决方案

page1.php

<?php

    session_start(); // needs to be before anything else on page to use $_SESSION
    $textarea1 = "";
    if(isset($_POST['textarea1'])){
        $_SESSION['textarea1'] = $_POST['textarea1'];
    }

?>


<form action="page1.php" method="post">
    <textarea name="textarea1" id="textarea1"></textarea><br />
    <input type="submit" value="submit" />
</form>
<br /><br />
<a href="page2.php">Go to page2</a>

page2.php

<?php
    session_start(); // needs to be before anything else on page to use $_SESSION
    // this page outputs the textarea1 from the session IF it exists
    $textarea1 = ""; // set var to avoid errors
    if(isset($_SESSION['textarea1'])){
        $textarea1 = $_SESSION['textarea1']
    }
?>
<textarea><?php echo $textarea1;?></textarea>

警告!!!- 这不包含验证!!!

于 2012-09-26T09:16:26.170 回答