gpt4 book ai didi

php - 表单无需检查即可工作,但停止不会插入检查

转载 作者:行者123 更新时间:2023-11-29 12:43:21 25 4
gpt4 key购买 nike

我正在尝试对用户输入的电子邮件进行快速检查,如果电子邮件字段不唯一,则向用户提供错误。我已经设置了数据库以保持该字段的唯一性,现在它是为了告诉用户他们做错了什么。

如果我在没有电子邮件检查的情况下运行下面的脚本,我可以很好地将值插入到表中。如果是新电子邮件,所有消息均有效,并且表格会更新。

但是当我添加电子邮件检查代码时,它会识别出错误的条目并提供错误,但如果电子邮件正常,它将不会继续输入值。

<?php

require('connect.php');

// If the values are posted, insert them into the database.

if (isset($_POST['rname']) && isset($_POST['email'])){

$rname = $_POST['rname'];
$fname = $_POST['fname'];
$email = $_POST['email'];

$emailcheck = "select email from entries where email = ".$email."";
if (mysql_num_rows != 1)
{
$err = "Error email already registered!";
} else {


$query = "INSERT INTO `entries` (rname, fname, email) VALUES ('$rname', '$fname', '$email')";

$result = mysql_query($query);

if($result){

$msg = "Thanks, you have successfully registered.";

}

}

}

?>

故障代码在此部分

    $emailcheck = "select email from entries where email = ".$email."";
if (mysql_num_rows != 1)
{
$err = "Error email already registered!";
} else {

最佳答案

您必须将查询中的字符串括在引号内,并且必须使用 mysql_query() 执行它。您的代码中缺少这两者。

 $emailcheck = mysql_query("select email from entries where email = '$email'");

此外,您的代码中 mysql_num_rows() 的语法也是错误的。应该是:

int mysql_num_rows ( resource $result )

即,。

 if (mysql_num_rows($emailcheck ) >0 )    // if email already exists
{
$err = "Error email already registered!";
}

关于php - 表单无需检查即可工作,但停止不会插入检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25800443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com