如何将价值从第1页传递到第2页?

时间:2011-06-09 11:19:57

标签: php

我是PHP的新手,我想将 select 中的值从第1页中的表单传递到第2页。介意帮助我吗?谢谢!

8 个答案:

答案 0 :(得分:1)

要在PHP中将值纯粹从一个页面传递到另一个页面,您需要从HTML元素开始。

在page1.php

<form name='myForm' method='POST' action='page2.php'>
  <input type='text' name='myText' value=''>
  <button type='submit'>Submit</submit>
</form>

在page2.php

<?php
print_r($_POST);
?>

简而言之,可能的表单方法是GET和POST。一个GET变量会在URL上发送,所以你最终会找到:page2.php?myText=someValue这对于你想要收藏的页面很有用,比如搜索页面,或许 - 但对密码这样的东西完全没用(只是不要“T!)。

POST值将在标头中发送 - 除非您查看随页面请求一起发送的标头,否则您不会将其作为用户看到任何证据。显然你不能用POSTed值为页面添加书签,但它有利于在两个页面之间传递信息。

表单标记中的“action”属性告诉浏览器将表单提交到的位置 - 如果您希望表单页面回发给自己,则有效将其设置为<?php echo $_SERVER['PHP_SELF']; ?>,而不必担心更改文件名

您可能已经推断过 - 您可以在表单中添加SELECT以及其他INPUT元素,并一次发布多个值。如果您想发送非用户输入的内容,但是要进入第2页非常重要,请查看<input type='hidden'>

如果您希望信息在整个网站访问期间保持不变(称为会话),那么您需要查看$_SESSION个变量以及与之相关的所有变量。

答案 1 :(得分:1)

上面的所有答案都是正确的(基于你将cookie / session与post / get值组合在一起以保存更长时间的事实),然而决定信息的可用时间和位置是一个你需要问自己的问题

您想将信息从第1页传输到第2页吗?比$ _GET方法或$ _POST方法可能是您正在寻找的选项。

$ _ GET是存储在URL中的变量,如: 的index.php变量=值安培;另一个= VAL

您可以通过简单地将这些变量添加到您可以单击的链接或通过将forms-method设置为get()来发送这些变量。

$ _ POST是通过帖子表单发送的变量。当您想要将多个参数发送到与每个用户不同的另一个页面时(因此用户可以自己插入的数据),需要这些参数。这要求表单方法为“post”()。

如果您希望跨多个页面提供数据(例如登录详细信息),您可能需要查找$ _SESSION或$ _COOKIE。它们彼此相似,但只要用户在您的网页上,会话就会保留数据。另一方面,cookie可以分配一个时间段(1天,1周,1个月,1小时等),这样您就可以控制这些数据可用的时间长度。

另一种选择是使用用户IP地址将数据保存到数据库中,例如将数据连接到用户。但是我认为这不是你想要的。

答案 2 :(得分:1)

这是一个简单的选择:

第一页:

<form name='form' method='POST' action='page2.php'>
    <select name='selectedValue'>
        <option value='apple'>apple</option>
        <option value='banana'>banana</option>
    </select>
    <button type='submit'>Submit</submit>
</form>

第二页:

<?php
    echo ($_POST['selectedValue']);
?>

我最近发现了一个如何使用您可能想要使用的多个选择:

第一页:

<form name='form' method='POST' multiple='multiple' action='page2.php'>
    <select name='selectedValue[]'>
        <option value='apple'>apple</option>
        <option value='banana'>banana</option>
    </select>
    <button type='submit'>Submit</submit>
</form>

第二页:

<?php
    foreach ($_POST['selectedValue'] as $fruit) {
        echo ($fruit);
    }
?>

答案 3 :(得分:0)

您需要使用GET or POST

答案 4 :(得分:0)

将表单的action设置为page2.php。提交表格。然后使用$_GET['the_name_of_the_select'](或$_POST,如果您将表单的method设置为发布。)

答案 5 :(得分:0)

请看sessions

答案 6 :(得分:0)

首先,您需要了解客户端/服务器的工作原理。

Page1和Page2存在于服务器上,但在每个客户端上呈现。因此,假设表单发布到Page1,服务器不能只将数据从一个页面“传递”到另一个页面。

您需要做的是,在“Page1”中将值存储在某处,并在Page2中获取存储的值。

由于您不希望所有访问者都从一个访问者那里获取数据,因此您必须以可与访问者相关的方式存储此信息。这意味着:

  • 会话数据
  • 缓存
  • 包含标识访问者字段的数据库

答案 7 :(得分:0)

有很多teq传递值

您可以使用该表单,并将其传递给第二个表单 你也可以使用会话来存储那里的价值 您也可以将其添加到URL 例如:header(stachover.php?name1&amp; name2)

name1,name2这些值

如果你没有想到这一点,我可以给你看一个例子