【问题标题】:output result from php [closed]php的输出结果[关闭]
【发布时间】:2013-07-09 10:28:20
【问题描述】:

当我阅读有关我正在尝试执行的典型任务的各种帖子时,我感到很困惑,毫无疑问,无数其他人以前做过。那么在 2013 年的这一点上,实现以下目标的最佳实践解决方案是什么:

  • 我有一个 html 页面,它要求用户输入一些值,x1、x2、.....xn。
  • 可能有 10 到 20 个这样的输入。因此,我不希望它们丢失或出于任何原因必须再次重新输入。
  • 根据用户输入执行计算,然后输出结果(例如 y1、y2、y3..y5)。
  • 正如这里的一些帖子所建议的,我尝试了“echo”(用于 PHP),效果很好。但是,它会在新页面中显示结果,因此用户输入不再可见。
  • 我希望用户同时看到他们的输入和结果。这样他们就可以根据需要打印并在一页上查看所有信息。
  • 我更喜欢使用“基本”技术,即。大多数用户可以使用的技术,他们不必在某些警告上单击确定、更改浏览器上的某些设置、接受某些东西或其他等等。

提前致谢!

【问题讨论】:

  • 您的问题陈述很长,我认为您正在寻找基于 ajax 的解决方案。

标签: php html output


【解决方案1】:
  1. 使用 html 创建输入。
  2. 在重新加载页面或 AJAX 之间进行选择
  3. 如果您选择重新加载,请使用

代码:

  <form action="nextfile.php" method="POST">
   <input type="text" value="" name="y1" />
   <input type="text" value="" name="y2" />
   <input type="submit" value="calc me" name="submit" />
  </form> 

然后在 nextfile.php 中,您需要使用 $_POST 获取值,如果您希望保存它们,请使用 $_SESSION

例如

<?php 
session_start();
if(isset($_POST['y1']) && isset($_POST['y2']))
{
    $_SESSION['res'] = (int)$_POST['y1'] * (int)$_POST['y2'];
}

上面的代码将对名为 y1 和 y2 的两个输入执行计算并将它们保存在会话中。

如果你想要 AJAX 那么你需要访问this page and see examples

您应该考虑 JavaScript 解决方案,因为它会满足您的需求,并且不需要服务器代码。

【讨论】:

    【解决方案2】:

    最简单的方法是将表单提交到同一页面并重新填充输入字段:

    // calc.php
    <?php
    
        if (isset($_POST['foo'])) {
            echo 'Result: ', $_POST['foo'] + 1;
        }
    
    ?>
    
    <form action="calc.php" ...>
       <input name="foo" value="<?php if (isset($_POST['foo'])) echo htmlspecialchars($_POST['foo']); ?>">
       ...
    </form>
    

    更现代的版本是通过 AJAX 提交计算并通过 Javascript 填充结果而无需重新加载页面。

    【讨论】:

    • Robert 和 deceze 都完美地回答了我的问题。谢谢。
    猜你喜欢
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多