我已经在我的页面上创建了一个表单,并且从我接下来的教程中说我必须有一个包含所有php处理的第二页,是不是可以将php保持在同一页面和用户时点击提交表格是否已发送?
为什么这不适用于我的流程页面?它没有回应任何东西:S
<?php
$kop = mysql_real_escape_string($_POST['severity']);
$loc = mysql_real_escape_string($_POST['location']};
$summary = mysql_real_escape_string($_POST['summary']);
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
echo $kop;
echo $loc;
echo $summary;
echo $name;
echo $email;
?>
答案 0 :(得分:10)
如果按下提交按钮,您可以签入同一文件。 (http://pastebin.com/8FC1fFaf)
if (isset($_POST['submit']))
{
// Process Form
}
else
{
// Show Form
}
关于表单检查,您可以保存用户输入,如果其中一个数据无效,您可以回显旧数据并再次显示表单。
编辑:正如PeeHaa所述,你需要将动作留空;)
答案 1 :(得分:3)
是的,这是可能的。正如Pekka所建议的那样,并没有真正建议这样做。但这是如何做到的。
只需使用isset方法检查表单是否已发布。所以在你的表格中说你有以下输入:
<input type="text" name="age" />
在php脚本的顶部,您可以使用以下内容来了解表单是否已提交并进行处理。
<?php if(isset($_POST["age"])) {
//do processing
} ?>
希望这会有所帮助;)
答案 2 :(得分:2)
可以让相同的脚本处理表单。
如果您想这样做,请将操作留空。
但是如果你想在没有重新加载页面的情况下处理表单,你必须使用Javascript。
答案 3 :(得分:2)
是不是可以将php保持在同一页面上,当用户点击提交时,表单会被发送?
听起来你在描述AJAX。示例:http://www.elated.com/res/File/articles/development/javascript/jquery/slick-ajax-contact-form-jquery-php/
这是使用jQuery框架 - 有许多框架用于执行此操作(例如YUI),它也可以同样执行此操作。你可以自己写这个来学习它是如何工作的,但IHMO这将重新发明轮子。以下是使用jQuery创建AJAX表单的一个不错的教程:
http://www.elated.com/articles/slick-ajax-contact-form-jquery-php/
答案 4 :(得分:1)
<form name="myfrom" action="" method="post">
Username: <input type="text" name="user" id="username" />
<input type="submit" name="submit_form" value="Submit" />
</form>
<?php if($_POST['submit_form'] == "Submit"){
echo "do something";
}
?>