簡體   English   中英

用php驗證電子郵件

[英]email validation with php

我成功完成了用於Android設備的注冊/登錄腳本。 我對PHP很陌生,所以請多多包涵。

<?php
   require "init.php";
   header('Content-type: application/json');

    $email = $_POST['email'];
    $user_name = $_POST['user_name'];
    $user_pass = $_POST['user_pass'];
    $msg = "Congratulations. You are now registered to the most amazing app    
    ever!";

    $passwordEncrypted = sha1($user_pass);         



    if($email && $user_name && $user_pass){

        $sql_query = "select * from user_info WHERE email  ='".mysqli_real_escape_string($con, $email)."' or user_name 
        ='".mysqli_real_escape_string($con, $user_name)."'";

        $result = mysqli_query($con, $sql_query);   

        $results = mysqli_num_rows($result);

        if ($results){
            $don = array('result' =>"fail","message"=>"Email or username exists.");
        }else{

            $sql_query = "insert into user_info values('$email','$user_name','$passwordEncrypted');";

            if(mysqli_query($con,$sql_query)){

                $don = array('result' =>"success","message"=>"Successfully registered!Well done");
                //mail($email,"Well done",$msg);
            }
        }
    }else if(!$email || (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))){


            $don = array('result' =>"fail","message"=>"Please enter a valid email");               


        }else if(!$user_name){

         $don = array('result' =>"fail","message"=>"Please enter your username");

        }else if(!$user_pass){

         $don = array('result' =>"fail","message"=>"Please enter a password");

        }
    }       

   echo json_encode($don);

 ?>

使用上面的代碼,即使用戶輸入theo而不是“ theo@gmail.com”,電子郵件也無法通過驗證並進入數據庫

您要在此if語句中插入數據庫:

if($email && $user_name && $user_pass){

這僅檢查$email變量是否已設置 ,而不是是否有效。

除非$email變量是有效的電子郵件,否則將該行更改為不觸發:

if($email && $user_name && $user_pass && filter_var($email, FILTER_VALIDATE_EMAIL)){

由於明顯的原因,通常在提交表單之前先進行電子郵件驗證:最好在提交表單信息並加載下一頁之前,以警告您的表單信息格式錯誤。 因此,人們通常為此使用Javascript。 您可以在Internet上找到很多有關如何執行此操作的頁面。 這是一個: http : //www.randomsnippets.com/2008/04/01/how-to-verify-email-format-via-javascript/

但是,如果您致力於使用PHP進行操作,那么Kahan就會為您提供解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM