检查表中是否存在电子邮件的PHP脚本
我正在制作一个PHP时事通讯脚本,我在代码方面不是很有经验,但我会尽力改进,我只需要一些想法就可以了检查表中是否存在电子邮件的PHP脚本,php,mysql,Php,Mysql,我正在制作一个PHP时事通讯脚本,我在代码方面不是很有经验,但我会尽力改进,我只需要一些想法就可以了 function validate(){ if(isset($_POST['email'])){ $email = $_POST["email"]; if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "<br>Va rugam introduceti o adresa
function validate(){
if(isset($_POST['email'])){
$email = $_POST["email"];
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "<br>Va rugam introduceti o adresa valida de email";
}else{
return 1;
}
}
}
function checkmail(){
if(validate()==1){
if(isset($_POST['email'])){
$email = $_POST['email'];
$sql = "SELECT * FROM subscribe WHERE email LIKE '$email'";
$connect = new mysqli("localhost", "root", "", "alexandru");
$result = mysqli_query($connect,$sql);
echo print_r($result);
}
}
}
函数验证(){
如果(isset($_POST['email'])){
$email=$_POST[“email”];
如果(!filter_var($email,filter_VALIDATE_email)){
echo“
Va rugam介绍电子邮件地址”;
}否则{
返回1;
}
}
}
函数checkmail(){
如果(validate()==1){
如果(isset($_POST['email'])){
$email=$_POST['email'];
$sql=“从订阅位置选择*电子邮件,如“$email”;
$connect=newmysqli(“localhost”、“root”、“alixandru”);
$result=mysqli\u查询($connect,$sql);
回声打印(结果);
}
}
}
我不知道如何检查查询结果,我需要一些想法,谢谢我制作了这个简单的函数,您可以使用
function field_exists($field_name, $field_value, $table)
{
global $conn;
try
{
$s = $conn->prepare("SELECT * from $table where $field_name = :f_value");
$s->bindParam(':f_value', $field_value);
$s->execute();
if($s->rowCount() > 0)
{
return true;
}
else
{
return false;
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}//function
使用此函数,可以检查任何表中指定列的任何值
因此,在您的情况下,$field\u name
将是email
,$field\u value
将是$email
,表将是subscribers
用法
if(field_exists("email", $email, "subscribers"))
{
//email exists
}
else
{
//email doesn't exist
}
如果表中存在此电子邮件,函数将返回true,如果电子邮件不存在,函数将返回false。此代码我在实践中没有使用oops概念,我认为它会有所帮助
extract($_POST);
$qwe = "SELECT * FROM user_info where email= '$email'";
$result = mysqli_query($con, $qwe);
if (mysqli_fetch_row($result) >= 1) {
header("Location: userreg.php?err=msg");
}
else {
// query for what u want after check mail doesn't exist
}
将清理后的
$\u POST['email']
作为参数传递给函数。另外,不要每次都建立数据库连接,包括一个已经有数据库连接的文件。这样,您的代码将更加分散,将来更容易调试。感谢您的提示,我将这样做,我对此表示赞赏。因此,您的想法是在插入电子邮件之前检查subscribe
表中是否存在该电子邮件?如果您想在插入之前检查记录,请不要参考标记的重复项。使用globals。哦。this hurts.OP使用mysqli,这与异常有关。@syck他可以轻松地将其转换为mysqli。我只是复制粘贴了我自己为此类检查创建的函数;)@Akshay您通常会根据OP问题给出答案。@Script47我只是觉得发布一个更好的函数从长远来看会有助于OP。他将来肯定会想做更多这样的检查。