2014-02-21 70 views
1

这有点让人困惑,无法解释。我想知道如何将一个字符串存储到一个变量中,并将其传递给下一页,并且在下一页中将该变量再次传递给另一个变量,然后该变量将它传递回原始页面。

例子:

我有两个PHP页面。让我们称之为form1.phpform2.php

在form1.php,我将投入你好,它将被保存在VAR1

VAR1将被发送到form2.php并且它被存储在VAR2在form2.php为好。

在form2.php ,VAR2传递给VAR3和VAR3将被送回form1.php。

和输出你好使用VAR3不VAR1 form1.php。

这是我卡住的地方。无法弄清楚如何做到这一点。如果问题有点含糊,请发表评论,即使我无法自己弄清楚。谢谢。PHP将变量传递给另一个页面,然后将其传递回原始页面

+3

为什么这么多的变数和混乱。只需使用'Sessions'来达到这个目的。 – Rikesh

+0

这对我来说看起来多余。 – Mubo

+0

你想达到什么目的,也许有更好的方法。 – berentrom

回答

0

那么,如果你实际使用的形式,那么你应该能够只抢到$ _GET或$ _ POST(取决于形式使用的方法)的变量的值。你可以只保存在隐藏输入的用户不会看到该值,并用它来通过周围的东西:

<input type = "hidden" value = "<?php echo $_GET['var2'];?>" />

如果这是你需要的不是你可能想看看sessions保持状态整个网站。

0

我的理解是要两种截然不同的形式之间传递的一些数据 - 你需要考虑的是,这些形式是完全独立的形式相互所以你需要将数据传回给浏览器或利用服务器端的会话。

根据您的使用情况,你可以:

提交数据form1.php - 那么这将返回与准备额外的字段形式submision到form2.php

的窍门在这里 - 是数据需要在表单之间传递的内容将作为隐藏元素包含在第二种表单的生成中。

<input type="hidden" id="var1" value="data from form1" /> 

根据需要,您可以拥有尽可能多的隐藏类型。

请注意这种方法不是非常安全 - 因此您可能需要考虑防御措施,例如csrf - 或使用会话并跟踪服务器端的数据。

1

你想使用会话。通过会话,您可以将变量传递到不同的页面。

您必须在两页上开始会话。

session_start(); 

之后,您可以将变量存储在会话中。

例如:

$var1 = $_SESSION['name']; 

现在你可以在每一页都用它来与在session_start();

+0

+1 - 我正要对会话说同样的话。唯一我要说的是代码应该是'$ var1 = $ _SESSION ['name'];' –

+0

抱歉拼写错误。我正在用手机自动更正 – Loko

0

从我的理解,你需要两种形式发送数据从第一个到第二个,从第二个回到第一个。在这个交流中,你不需要第三个变种,这个怎么样?

form1.php

<form method=POST action="form2.php"> 
    <input type="text" name="var1" value="<[email protected]$_POST["var2"];?>"> 
    <input type="submit" value="Continue"> 
</form> 

form2.php

<form method=POST action="form1.php"> 
    <input type="text" name="var2" value="<[email protected]$_POST["var1"];?>"> 
    <input type="submit" value="Continue"> 
</form> 
相关问题