如何使用会话将值从一个php页面传递到另一个

how to pass value from one php page to another using session

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

第1页:

Page4.php

Page3.php

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

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

谢谢!

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

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

现在正在工作。

谢谢您的帮助。


使用这样的东西:

page1.php

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

任何其他PHP页面:

1
2
3
4
<?php
session_start();
echo $_SESSION['myValue'];
?>

不过,请注意以下几点:您需要在输出,HTML,回声-甚至空格之前调用session_start()

您可以在会话中不断更改值-但只能在第一页之后使用-意味着,如果您在第1页中进行了设置,则只有在进入另一页或刷新页面后才能使用它。 页。

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

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

而且,如果您想在收到潜在错误之前检查变量是否已设置,请使用以下命令:

1
2
3
4
5
6
7
8
if(!empty($_SESSION['myValue'])
{
    echo $_SESSION['myValue'];
}
else
{
    echo"Session not set yet.";
}

仅使用POST的解决方案-无需$ _SESSION

page1.php

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

page2.php

1
2
3
4
5
6
7
8
<?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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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 />
Go to page2

page2.php

1
2
3
4
5
6
7
8
9
<?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>

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