我有一个PHP脚本,可以通过HTML表单将记录插入MySQL。如何在提交后转到HTML页面并创建弹出的成功或弹出失败?
$host="XXXXXXXXXXXXXXX";
$username="XXXXXXXXXXX";
$password="XXXXXXXXXXX";
$db_name="naturan8_hero";
$tbl_name="cartons_current";
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$order = "INSERT INTO cartons_current (type, part_no, description, count, size, min, max, qty) VALUES('$_POST[type]', '$_POST[part_no]', '$_POST[description]', '$_POST[count]', '$_POST[size]', '$_POST[min]', '$_POST[max]', '$_POST[qty]')";
$result = mysql_query($order); //order executes
if ($result) {
echo("<br>Input data is succeed");
}
else {
echo("<br>Input data is fail");
}
答案 0 :(得分:0)
我想您应该为脚本添加一些安全性,因为$_POST
可能包含SQL注入。
尝试修剪所有帖子字段并添加mysql_real_escape_string()
$type = mysql_real_escape_string($_POST['type']);
// ......... etc ..
第二部分,你问题的答案,我相信你应该设置一个$_SESSION
变量:
文件的开头:
session_start();
查询后:
if ($result) {
$_SESSION['result'] = 'success';
} else {
$_SESSION['result'] = 'fail';
}
// and redirect to your page
header('Location http://www.example.org/result.php');
exit;
result.php
上添加相同的session_start()
并检查$_SESSION['result']
变量,然后为弹出窗口添加一些javascript,当然你可以做一些modal window或你可以回复一条消息。
if(isset($_SESSION['result']) && ($_SESSION['result'] != '')){
if($_SESSION['result'] == 'success'){
echo "<script type='text/javascript'>window.open ('http://www.example.org/result-ok.php','success');"; // result-ok.php
} else {
echo "<script type='text/javascript'>window.open ('http://www.example.org/result-notok.php','fail');"; // result-notok.php
}
}
在这两个文件中,您取消设置该会话变量以防止该窗口再次打开:
session_start();
unset($_SESSION['result']);