我可以将值从一个页面传递到另一个页面,但我需要传递这样的值,
第1页:
Page4.php
Page3.php
我需要将Page1.php中的文本字段中的值传递给Page2.php中的文本字段,因为表单不是直接重定向到page2,我无法传递值,我尝试了session,form发布方法和其他一些方法,但我还没有成功。
如果您可以帮我提供代码或一些建议,我将非常高兴。
谢谢!
编辑..........
我找到了答案,感谢您的帮助,这实际上是我的一个粗心的错误,我使用$ _post而不是$ _session。
现在正在工作。
感谢您的帮助。
答案 0 :(得分:7)
使用类似的东西:
page1.php中
<?php
session_start();
$_SESSION['myValue']=3; // You can set the value however you like.
?>
任何其他PHP页面:
<?php
session_start();
echo $_SESSION['myValue'];
?>
要记住的一些注意事项:你需要在任何输出,HTML,回声之前调用session_start()
- 甚至是空格。
您可以继续更改会话中的值 - 但仅可以在第一页之后使用 - 这意味着如果您在第1页中设置它,您将无法使用直到你到达另一个页面或刷新页面。
变量本身的设置可以通过多种方式之一完成:
$_SESSION['myValue']=1;
$_SESSION['myValue']=$var;
$_SESSION['myValue']=$_GET['YourFormElement'];
如果您想在获得潜在错误之前检查变量是否已设置,请使用以下内容:
if(!empty($_SESSION['myValue'])
{
echo $_SESSION['myValue'];
}
else
{
echo "Session not set yet.";
}
答案 1 :(得分: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>
警告!!! - 这不包含验证!!!