PHP表单与进程在同一页面上?

时间:2011-06-19 13:08:29

标签: php forms

我已经在我的页面上创建了一个表单,并且从我接下来的教程中说我必须有一个包含所有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;
?>

5 个答案:

答案 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";
       }
?>