Javascript 提交sql语句后如何重新加载页面

Javascript 提交sql语句后如何重新加载页面,javascript,php,Javascript,Php,我正在使用以下代码尝试将数据插入数据库。数据运行良好,我使用一个表单来实现这一点。该表单有一个提交按钮,我将在下面的代码中添加代码。我正在使用localhost运行我的web应用程序。 try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION

我正在使用以下代码尝试将数据插入数据库。数据运行良好,我使用一个表单来实现这一点。该表单有一个提交按钮,我将在下面的代码中添加代码。我正在使用localhost运行我的web应用程序。
 try {
   $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   $sql = "INSERT INTO PRODUCTS (P_Name, P_Description, P_Price) VALUES ('$_POST[Name]', '$_POST[description]', '$_POST[Price]' ) ";
   $conn->exec($sql);
   echo "New record created successfully";

 }
 catch(PDOException $e)
 {
   echo $sql . "<br>" . $e->getMessage();
 }

 $conn = null;
 ?>
试试看{
$conn=newpdo(“mysql:host=$servername;dbname=$dbname”、$username、$password);
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
$sql=“在产品(P_名称、P_说明、P_价格)中插入值(“$_POST[Name]”、“$_POST[Description]”、“$_POST[Price]”);
$conn->exec($sql);
echo“新记录创建成功”;
}
捕获(PDO$e)
{
echo$sql。“
”$e->getMessage(); } $conn=null; ?>
“提交”按钮:

<div id="theSubmit">
<input type="submit" name="submit">
</div>

当我单击submit时,我进入一个页面,显示成功创建的文本New record。不过,我希望它重新加载页面


我知道javascript的位置。reload();这是我必须使用的吗?如果是的话,在哪里?

您应该在执行sql之后重新加载,如下所示

$_SESSION['msg'] = "New record created successfully";
header("Location: $url"); // tell the client to load $url
exit(); // stop further execution of the current script
应通过会话设置
$msg
,以便在重新加载后显示msg。 如果您这样做,那么如果用户快速单击“后退”按钮或重新加载页面也没有问题

重新加载后,请执行以下操作:

if(isset($_SESSION['msg'])) {
    echo $_SESSION['msg'];
    unset($_SESSION['msg']);
}

如果在PHP脚本之前没有显示任何DOM元素,或者没有执行任何头请求,则可以始终使用PHP函数

header('Location: your-url.com');
exit();
重新加载网站

如果在header函数之前有header请求,此解决方案将无法工作,因此您可以在脚本底部添加JS代码,以便在处理表单后启动它。

使用:

header("Location: $_SERVER[REQUEST_URI]");
exit;

这将使用
GET
方法将用户重定向到同一页面,并重新加载它。

这并不重要。如果您满足了运行PHP=>virtualserver的要求,那么就可以在查询中直接执行localyUsing
$\u POST
的所有操作,这意味着非常简单的SQL注入。因为您使用的是PDO,所以请使用它准备好的语句。并启用错误报告!根据我编写的代码,我应该把它放在哪里?我是否将其全部替换为echo“your…”第一部分应在成功执行sql后直接执行。第二部分应在您希望输出消息的任何位置进行。这只是一个示例。当然,您必须在脚本顶部定义
session\u start()
,并自己定义
$url
应该是什么。