2014-05-22 105 views
2

我正在寻找提交一个HTML表单文件(home.html)与PHP动作文件(action.php)通过action.php处理后显示在同一home.html文件的输出。如何在同一个HTML表单页面上获取表单输出值?

我有很多脚本用.php文件解决这个问题,是否可以用HTML做同样的事情?

home.html的

<form action="action.php" method="post"> 
Enter Numeric Value: <input type="number" name="num"> 
<input type="Submit" value="Calculate"> 
</form> 

action.php的

<?php 
    $a=$_POST["num"]; 
    echo "Contact our sales person for higher volume of Emails"; 
?> 
+2

*“在相同的home.html文件中显示输出”* - 除非您指示Apache将'.html'文件作为PHP处理,否则不能这样做。否则,你需要使用iframe,或者将你的'.html'重命名为'.php' –

回答

1

修改您的home文件转换成PHP文件,指向形式的行动,那么你可以简单地使用POST/GET数据并将其显示在页面上:

我添加了“htmlentities”的使用使其更安全一点

home.php

<?php 

    if(isset($_POST['num'])) 
    { 
     echo htmlentities($_POST['num']); 
    } 

?> 

<form action="home.php" method="post"> 
Enter Numeric Value: <input type="number" name="num"> 
<input type="Submit" value="Calculate"> 
</form> 
+0

也会打我:) –

+0

@Fluffeh:我知道你建议的东西,但我很想知道,是吗?可能同样的事情,我们只能用HTML做。谢谢你的回答 – Karan

+0

@ Fred -ii:谢谢你。 – Karan

1

另一种选择,首先加载HTML文件,然后将其拉入PHP文件:

home.html的:

<form action="action.php" method="post"> 
Enter Numeric Value: <input type="number" name="num" value="<?=$a?>"> 
<input type="Submit" value="Calculate"> 
</form> 

通知 “价值”字段和插入的PHP代码。

action.php的:

<?php 
    $a=$_POST["num"]; 
    echo "Contact our sales person for higher volume of Emails"; 

    require 'home.html'; 
?> 

只需require'ing Home.html文件中。

首先在浏览器中加载home.html,输入一个数字,然后将表单提交到action.php。然后,当action.php加载时,它会显示相应的消息,拉入home.html页面,并将变量$ a加载到表单字段中。当作为纯HTML文件加载时,浏览器将忽略PHP代码,但在action.php文件需要HTML文件时解析。

+1

你确定吗?重新考虑这一点,并阅读OP的问题和其他答案下的一些意见。 –

+0

-1,它是我的。重新阅读我上面的评论。尤其是['this comment'](http://stackoverflow.com/questions/23808198/how-to-get-form-output-value-on-same-html-form-page#comment36623353_23808198) –

+0

@Fred -ii-酷,评论重读。您认为这个选项有什么特别的问题?我时不时地使用这种技术,并且只是测试它是双倍确定的。 PHP需要HTML文件,甚至解析php代码。 – bloodyKnuckles

相关问题