【问题标题】:How do I echo data that post during redirect a page then echo it after redirect?如何回显在重定向页面期间发布的数据,然后在重定向后回显它?
【发布时间】:2013-03-05 02:27:53
【问题描述】:

我的文件夹中有文件:

  • view.php
  • control.php

文件view.php 有两个提交按钮,可将值发布到control.php

当用户点击其中一个提交按钮时,它会

  • post 值将保存在数组 $questionTemp 中;
  • 数组 $questionTemp 将插入到数组 $question 中, 使用 array_push($question, $questionTemp)
  • 然后将页面重定向到view.php

当用户点击另一个提交按钮时,它会

  • 使用 $result = array_pop($question); 将数组 $question 弹出到数组 $result;
  • 回显 $result 元素

但是当我尝试回显 $result 时我什么也没得到(我认为当我重定向页面时有些东西)。

我该怎么做?!?!

view.php

<form action="control.php" method="post">

    No
    <input type="text" name="no" value="" /><br />

    Question
    <textarea name="question" rows="5" cols="20">
    </textarea><br />

    <input type="submit" value="Save" name="save" />
    <input type="submit" value="Echo" name="echo" />
</form>

control.php

<?php
    $question = array();

    if(isset($_POST['save'])){
        $questionTemp = array();
        array_push($questionTemp, $_POST['no']);
        array_push($questionTemp, $_POST['question']);

        array_push($question, $questionTemp);
        echo "<meta http-equiv=\"refresh\" content=\"0; URL=view.php \">";
    }

    if (isset($_POST['echo'])){
        $result = array_pop($question);
        echo $result[0];
        echo $result[1];
    }
?>

【问题讨论】:

  • 您想要一个两步表格?你可以使用 ajax,或者只是使用 session 来临时保存表单步骤 ..
  • @GeoPhoenix 我不明白 2 步表单的意思.. 在我的情况下.. 用户将数据插入 textArea .. 然后点击保存.. 然后再次将数据插入 textArea.. 然后点击保存再次..如果用户完成工作,用户将单击回显..如果可以在没有 ajax 或会话的情况下执行此操作?也许是面向对象的?
  • 您应该使用jquery 来执行此操作,因此您无需刷新页面并丢失输入值。

标签: php html


【解决方案1】:

您可以尝试使用带有值的隐藏输入。在控制器中,它必须是switchif。检查堆栈溢出问题How to access the form's 'name' variable from PHP

【讨论】:

  • 我不明白如何在我的情况下使用隐藏输入。你能告诉我代码吗?
  • 抱歉,我认为您使用了 2 种形式。您的 isset 检查将始终为真,因为按钮中的值默认设置。
  • 感谢您的检查.. 我认为我的问题是我的帖子值在我重定向页面后消失了.. 我不明白如何在我的情况下使用隐藏输入
  • 再次抱歉,我看不到您只有一个表格。想了两个。如果是两个表单,如果两个表单都指示一个控制器,隐藏字段会有所帮助。
  • 或者你可以尝试在控制器中使用循环,或者如果使用 5.3 则关闭 php
猜你喜欢
  • 2021-01-21
  • 1970-01-01
  • 2020-03-27
  • 2012-12-12
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 2023-03-29
  • 2021-09-03
相关资源
最近更新 更多