2011-03-08 69 views
1

嘿,我正在做一个脚本,检查指定的字符串是否与check.php中的匹配。这里是我的HTML代码:HTML/PHP相同的页面脚本

<form name="input" action="check.php" method="POST" id="key"> 
    Key: <input type="text" name="key" /> 
    <input type="submit" value="Submit" /> 
</form> 

但是,当它运行check.php它会转到默认的白页。有没有办法让结果显示在他们输入信息的页面上,如顶部或底部?这里是我的check.php(只是用于测试ATM):

<?php 
    $key=$_POST['key']; 
    echo $key; 
?> 
+0

你需要查找AJAX – 2011-03-08 20:57:12

+1

此外,你应该*总*解析您收到任何数据通过POST/GET删除恶意代码。 – fredley 2011-03-08 20:58:03

回答

2

在这里最简单的例子,重命名您的.html文件.php。现在将PHP脚本粘贴到旧HTML文档的正文中。将表单的操作更改为空白(这会将表单发送到同一文档)。现在你的表单文档也输出$ _POST ['key']。如果$ _POST ['key']的值是空的......你什么也不回应。您可能会收到警告消息,但没有伤害。

+0

我意识到这可能有点混乱,所以让我知道这是否需要更多的探索。 – 2011-03-08 21:01:45

+0

没关系,我明白了,它的功能非常完美。我不知道为什么我没有想到这一点。谢谢。 – Ivan 2011-03-08 21:12:06

+0

这种编程涉及用不同的方式构建网页或编写编译代码来思考事物。我很高兴能够提供帮助。 – 2011-03-08 22:35:33

0

您需要把Javascript代码并将混合在这里。看看jquery,特别是看看jQuery.get()函数。

这允许您在后台从服务器检索数据,然后使用基于服务器响应的JavaScript处理页面。

最终你想要的是需要动态的CLIENT端。 PHP是一种服务器端脚本语言。

0
<?php 

if(isset($_POST['key']) { 
    $key=$_POST['key']; 
    echo $key; 
} else { 

?> 

<form name="input" action="check.php" method="POST" id="key"> 
Key: <input type="text" name="key" /> 
<input type="submit" value="Submit" /> 
</form> 
<?php } ?> 

其中check.php是您开始的页面。请注意,我只是使用您的代码来快速生成您正在查找的内容。您可能想要做的不仅仅是回显密钥,而且您可能希望使用格式更好的HTML代码。

+0

我会在'if()'语句中移动'$ key = $ _ POST ['key'];'以避免任何'Notice'消息。 – drudge 2011-03-08 21:03:48

+0

@jnpcl事实上,我只是将OP的代码复制并粘贴在一起,因为它们已经很多了。 – 2011-03-08 21:06:36

0

你应该在你的check.php文件上显示你的表单。 只有存在表单时,才需要显示表单的结果。我们如何做到这一点?检查isset()函数。 (http://www.php.net/manual/en/function.isset.php) 您将有类似的东西:

<?php 
if(isset($_POST['key'])) { 
    $key=$_POST['key']; 
    echo $key; 
} 
?> 

<form name="input" action="check.php" method="POST" id="key"> 
    Key: <input type="text" name="key" /> 
    <input type="submit" value="Submit" /> 
</form> 
+1

在您的if()语句中缺少结束')'。 – drudge 2011-03-08 21:04:48

+0

确切的说,这是固定的谢谢。 – Artusamak 2011-03-08 21:17:23

0

你没有你的check.php页面上的任何指示,显示任何东西,所以它将保持默认的白色页面。我的建议是将HTML表单和PHP登录放在同一页面上,并将其发布到自己的页面中。然后,您可以检查表单是否已提交,并对提交的数据进行任何数据验证。

0

确保单个页面是一个php文件。设置你的表单动作来指向它。

之后(或之前,或在中间)你的HTML,放像:

<?php 
if (isset($_POST['key'])) { 
    // stuff that only occurs if the user posted a form 

} 
?> 
0
<?php 
$key = null; 
if($_SERVER['REQUEST_METHOD'] == 'POST']) { 
    $key=$_POST['key']; 
} 
?> 
<form name="input" action="check.php" method="POST" id="key"> 
    Key: <input type="text" name="key" value="'<?php =$key?>/> 
    <input type="submit" value="Submit" /> 
</form> 
<?php 
if(!isNull($key)) echo $key; 
?> 
+0

你应该检查''_POST ['key']'是否存在'isset()',否则它会抛出一个'Notice',如果不是。 – drudge 2011-03-08 21:12:28