php的输出结果


output result from php

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

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

提前感谢!

  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,那么你需要访问这个页面并查看示例

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

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

// 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填充结果,而无需重新加载页面。