我有代码将一些数据存储到数据库。在编辑其成功存储数据库之前,但问题是当我刷新重复数据时。
我编辑和工作没有任何问题,但当我按下提交并将数据存储到数据库时,我收到消息错误>为什么?
这是表单代码(index.php)
<html>
<head>
<title>Proposals Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="columns.css" />
</head>
<body bgcolor="#3AA0BC">
<table border="5">
<form action="enterinfo.php" method="post"><br /><br />
<center> FirstName :<br /><input type="text" name="Name" id="Name" size="25"><br /><br/>
Title :<br /> <textarea name="title" id="title" size="50"></textarea></center>
<p><th><input type=submit value="OK" name="submit" id="submit"class="buttStyle"></th</p>
</form>
<form action="view.php" method="post">
<p><th><input type=submit value="عرض المواظيع" class="buttStyle"></th></p></form>
<form action="addcomment.php" method="post">
<p><th><input type=submit value="اضافة تعليق" class="buttStyle"></th></p>
</form>
</body>
</html>
并输入代码是(enterinfo.php)
<?php
include ("connect.php");
$Name=isset($_POST['Name']) ?
$_POST['Name'] : '';
$title=isset($_POST['title']) ?
$_POST['title'] : '';
$submit = isset($_POST['submit']) ?
$_POST['submit'] : '';
if(isset($_POST['submit']))
{
if($Name && $title)
{
$result=mysql_query("INSERT INTO subject(S_Id,Name,title)
VALUES(NULL, '$Name', '$title')");
header('Location: enterinfo.php');
}
}
if($result)
{
echo "Successful";
echo "<BR>";
}
else
{
echo "error";
}
?>
答案 0 :(得分:1)
在执行查询后在您的网址中设置一个变量(我已经使用了re)并在页面顶部检查是否存在,然后根据重新值退出您的消息并退出。
像下面的代码一样更改你的enterinfo.php
试试这个:
if(isset($_REQUEST['re'])){
$message = $_REQUEST['re'] == 'success' ? "Sucessfully inserted" : "can not inserted";
echo $message;
exit();
}
include ("connect.php");
$Name=isset($_POST['Name']) ?
$_POST['Name'] : '';
$title=isset($_POST['title']) ?
$_POST['title'] : '';
$submit = isset($_POST['submit']) ?
$_POST['submit'] : '';
if(isset($_POST['submit']) )
{
if($Name && $title)
{
$result=mysql_query("INSERT INTO subject(Name,title)
VALUES('$Name', '$title')");
if($result){
header('Location: enterinfo.php?re=success');
}
else{
header('Location: enterinfo.php?re=fails');
}
}
}
答案 1 :(得分:0)
$result=mysql_query("INSERT INTO subject(S_Id,Name,title)
VALUES(NULL, '$Name', '$title')");
在您的上述查询中,我认为 S_Id是主键,因此无法为NULL 。将上述代码更改为并将 S_Id设置为自动增量
因此,您的插入查询应如下所示:
$result=mysql_query("INSERT INTO subject(Name,title)
VALUES('$Name', '$title')");
答案 2 :(得分:0)
数据更新后,您将再次重定向同一页面...
header('Location: enterinfo.php');
答案 3 :(得分:0)
要将值更新到表中,您应该使用以下内容: 更新表 SET column1 = expression1, column2 = expression2, ... 条件;
如果它包含UNIQUE字段的相同值(例如ID),则不能“插入”一行两次
答案 4 :(得分:0)
数据更新后,您将再次重定向同一页面...
header('Location:enterinfo.php');
删除标题('Location:enterinfo.php');然后检查