【问题标题】:PHP : Post get method, need some advicePHP : Post get 方法,需要一些建议
【发布时间】:2012-06-27 01:51:29
【问题描述】:

我是 php 新手,需要了解 post get 方法如何对我的代码有用。我的情况是,我有 3 个网页,第一个网页是 html 表单,我在这里使用 post 方法,然后我从表单中获取名字和姓氏,并在第二个网页上输入一个 sql 查询(例如$_POST[firstname]),它会生成一些为我提供数据,我正在打印该数据。

现在我需要将相同的参数传递给第三页,它会根据在第一个 HTML 表单中输入的名字和姓氏生成一些图表?

如何将这些值保留在第三个 php 页面上?我在页面上引用了第 3 页的 url,我认为这还不够,我尝试了 Google 搜索,发现 post get 可能有用,但需要一些专家建议。

谢谢

【问题讨论】:

  • 如果您在 Stackoverflow 中搜索或搜索,您将找到无限的答案。请在发帖前搜索一次...

标签: php


【解决方案1】:

你可以这样使用:

第 1 页 (page1.php)

<form action="page2.php" method="post">
    <input type="text" name="firstname" value="" />
    <input type="text" name="lastname" value="" />
    <input type="submit" value="Submit" />
</form>

第二个(page2.php)

检索并验证$_POST['firstname']$_POST['lastname'],然后使用所需数据创建输出,您可以根据需要使用隐藏字段或创建链接。例如:

$firstname = $_POST['firstname'];
$lastname  = $_POST['lastname'];

// Output with links can pass data by GET method
echo '<a href="page3.php?firstname='.$firstname.'&lastname='.$lastname.'"></a>';

// Output with hidden fields, you can use POST or GET method or even Javascript/Ajax
echo '
<form action="page3.php" method="get">
    <input type="hidden" name="firstname" value="'.$firstname.'" />
    <input type="hidden" name="lastname" value="'.$lastname.'" />
    <input type="submit" value="Submit" />
</form>';

第三页(page3.php)

如果您使用带有链接或带有 GET 方法的表单的解决方案,您可以检索page3.php 中的数据,只需执行以下操作:

$firstname = $_GET['firstname'];
$lastname  = $_GET['lastname'];

希望对你有帮助!

【讨论】:

  • 谢谢你 Marcio 我会试试看
  • Marcio,我没看懂第二部分的代码,这里newpage是指第二页还是第三页?
  • @yokoyoko,我删除了最后一条评论,因为我再次看到了您的评论,并且基于您的问题newpage.php 将是第 3 页。我正在对答案进行一些更改,请再看一遍。
  • 谢谢 Marcio,我会试一试的。
【解决方案2】:

使用 PHP 会话在 PHP 页面之间存储数据。或者,您可以只提取已添加到数据库中的数据。

【讨论】:

    【解决方案3】:

    您需要使用$_SESSION 变量。

    Read about it here

    【讨论】:

      【解决方案4】:

      我能想到的一种方法是将第一页中的值放入第二页上的隐藏字段中,该字段将与第二页上的表单一起提交:

      <form action="page3.php" method="post">
          <input type="hidden" name="firstname" value="<?php echo $_POST['firstname']; ?>" />
          <input type="hidden" name="lastname" value="<?php echo $_POST['lastname']; ?>" />
          <input type="submit" value="Submit" />
      </form>
      

      当然,如果其中任何内容进入数据库或可能影响您网站的安全性和持久性,您当然要确保验证和清理您的输入等。

      【讨论】:

      • 谢谢安德鲁,我会试试看
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多