【问题标题】:Pass post variables to next page [closed]将帖子变量传递到下一页[关闭]
【发布时间】:2016-05-09 05:07:03
【问题描述】:

所以我基本上有一个提交到预览页面的 html 表单,我在其中访问变量以填写页面上的信息并显示帖子外观的预览。我现在希望用户能够单击提交按钮并将相同的信息传递到将处理提交到数据库的新 .php 页面。我敢肯定这可能真的很容易,请原谅我的新手。

我有一个提交类似这样的表单并且想要这样当他们单击“一切都好”按钮时,它会将 POST 数据发送到一个新的 .php 页面,该页面可以提交到数据库并显示感谢消息:

<?php
    if (isset($_POST["preview"])) {

    //get data
    $firstvar = mysqli_real_escape_string($link, $_POST['name']);
    $nextvar = mysqli_real_escape_string($link, $_POST['name']);
    //etc
?>
<html> 
//use vars in here
<p><a onclick="goBack()" class="btn btn-block btn-warning">Dont like what you see? Go back and fix it.</a></p>
<p><a href="" class="btn btn-block btn-success">All good!</a></p>

</html>

【问题讨论】:

  • 请展示您到目前为止所尝试的内容。
  • 欢迎来到 SO,请在提问时更具体一点:您尝试过什么,您期望什么等。请参阅how to ask
  • @Ryan Claxton,您可以将所有帖子值存储在会话中,在预览页面上,现在单击提交按钮在下一页上使用此会话值,您将存储在数据库。一旦你存储在数据库中,就释放这个会话变量。

标签: php html for-loop


【解决方案1】:

JiteshNK 提供了一种使用会话的方法。

就我个人而言,我不喜欢将会话变量浪费在琐碎的事情上。

因此,您可以这样做的另一种方法是,当您提交到预览页面(让我们调用 preview.php)时,将值存储在隐藏的输入字段中。

preview.php

<?php
if (isset($_POST["preview"])) {
    // get data
    $var1 = mysqli_real_escape_string($link, $_POST['var1']);
    $var2 = mysqli_real_escape_string($link, $_POST['var2']);
    // etc
?>

<!-- show vars -->

<form action="insert-page.php">
    <!-- store vars into hidden input fields -->
    <input type="hidden" name="var1" value="<?= $var1 ?>">
    <input type="hidden" name="var2" value="<?= $var2 ?>">
    <!-- etc -->
    <p><a onclick="goBack()" class="btn btn-block btn-warning">Dont like what you see? Go back and fix it.</a></p>
    <p><input type="submit" name="good" class="btn btn-block btn-success">All good!</a></p><!-- use submit button instead -->
</form>

【讨论】:

  • 聪明。我倾向于同意,我想避免会话是可能的,我喜欢这种方式。谢谢,好主意。
  • @Ryan Claxton ,请查看隐藏字段相关问题,stackoverflow.com/questions/19036081/…
【解决方案2】:

这是下面的代码。

<?php
include('connect.php');//connect.php is the connection file.
if(isset($_POST['submit']))//Here submit is the name of the form in HTML page.
{
    $user_id=$_POST['user_id'];
    $username=$_POST['username'];
    $email=$_POST['email'];
    $query = mysqli_query($con, "INSERT INTO sample (user_id, username, email)VALUES ('$user_id', '$username', '$email')");
    header('Location: activation.php');
}
else
{
    echo "<b>Error</b>";
}
mysqli_close($con);
?>

【讨论】:

  • 谢谢,我知道那部分该怎么做。我只是想知道如何将我的信息从预览页面获取到该提交页面。 (它的帖子不是用户注册)。为了澄清用户填写将变成帖子的表格。他们可以选择单击预览按钮,该按钮会将他们发送到类似于我上面的预览页面。如果他们喜欢预览,我希望他们能够单击提交并执行类似于您在那里的操作。我只是不知道如何将 $_POST 信息从预览页面转发到提交页面。谢谢。
猜你喜欢
  • 2013-09-14
  • 2010-10-26
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
相关资源
最近更新 更多