成功插入MySQL表后更新页面

时间:2012-09-28 14:37:26

标签: php mysql mysqli updates

我正在创建一个包含大量字段的页面,允许用户输入信息并将其提交到数据库。这个页面被称为'add.php'我创建了一个'form'标签,并将信息发布到另一个名为'process.php'的页面,在那里收集信息,然后插入到数据库中。我希望用户知道它是否成功,所以我想知道如何告诉用户'add.php'页面上的具体内容。比如“插入成功!”在页面顶部。

我想在'add.php'中包含'process.php'代码,然后在表单的操作中调用'add.php',但代码在第一次加载页面时被调用,将完全空白的条目插入数据库。

我应该在点击“提交”按钮后实现某种仅设置为true的标志吗?或者是否有另一种方法来更新页面并告诉用户插入的状态?

我可以根据需要粘贴相关代码。 :)

谢谢!

3 个答案:

答案 0 :(得分:3)

假设您在表单和php中使用post方法,您只需检查是否发布了帖子:

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
  // form was posted, process and display output
}
else
{
  // nothing was posted, normal get request, show form
}

答案 1 :(得分:0)

检查查询是否运行良好。如果没有抛出异常,它主要有,并添加带输出的相应消息。

首先,您需要检查并处理错误

try
{

} 
catch(Exception $e){
header('Location:oldlocation.php?succ=0')
exit();
}
header('Location:oldlocation.php?succ=0')
exit();

如果一切顺利,您还可以重定向到新位置(如代码所示)。这必须正确完成,您可以使用

等其他数据重定向回旧位置
oldlocation.php?succ=1;

如果出现任何问题,请重定向到

oldlocation.php?succ=0

然后使用$ _GET [“succ”]获取succ并打印相应的消息。

如果你得到,请评论。

答案 2 :(得分:0)

这就是我要做的...... 将处理数据保存在一个文件中,并在末尾包含表单文件

//add.php

//if the form is submitted make the database entry
if(isset($_POST['foo']) AND $_POST['foo'] != '')
{
//code to process form submission
$success = 'success!';

}
//include the form
include addform.php

在addform.php中填写表单。包括一个'isset',它正在注意$ success成功以提示条目成功

//addform.php

<?php if(isset($success)){ echo "<h2> Data successfully entered! </h2>";} ?>

<form action='' method='POST'>
<input type='text' name='foo' />
//etc
</form>

因此,一旦提交表单,代码就会从add.php的顶部开始 - “isset”会看到$ _POST提交,运行表单提交代码并设置成功变量。然后,它包括表单页面。表单页面有一个正在观察成功变量的'isset'。当您第一次导航到该页面时,或者如果您刷新,add.php代码将跳过第一个代码块(表单提交内容),并且不会提交数据库或设置成功变量。