我有一个PHP代码将数据提交到数据库,但我想限制数据(如果它已经存在)。我已经尝试了下面的代码但总是插入数据而不检查是否存在。
if(isset($_POST['submit'])){
$phone = $_POST['phone'];
$checkDataSql = "SELECT phone FROM lead WHERE phone=$phone" ;
$run = $conn->query($checkDataSql);
if ($run->num_rows > 0) {
header("location:add_lead.php?error=unsuccess");
}
else{
$phone = $_POST['phone'];
}
$name = $_POST['name'];
$email = $_POST['email'];
$gender = $_POST['gender'];
$treatment = intval($_POST['treatment']);
$date = date('Y-m-d');
$source = intval($_POST['source']);
$staff = intval($_POST['staff_id']);
$insertLead = "INSERT INTO lead
(`id`, `name`, `phone`, `email`, `gender_id`, `treatment_id`, `date`, `source_id`, `remark`, `staff_id`)
VALUES (NULL, '$name', '$phone', '$email', '$gender', '$treatment', '$date', '$source', '', '$staff')";
if ($conn->query($insertLead) === TRUE) {
echo "New record created successfully";
header("location:add_lead.php?submitted=successfully");
} else {
echo "Error: " . $insertLead . "<br>" . $conn->error;
}
}
答案 0 :(得分:0)
将标题设置为重定向不会立即执行重定向,因此您需要添加类似
的内容 exit;
在两个header()
调用之后停止执行。
另外,现在看一下SQL注入,你的代码是完全不安全的,你会在你知道它之前被黑客攻击。