簡體   English   中英

在PHP 5.2中驗證電子郵件?

[英]Validation of Email in PHP 5.2?

您好我在PHP5.2中為電子郵件驗證時收到錯誤請參閱下面的代碼:我在腳本中調用了checkemail()和編寫函數checkemail()。 但我收到錯誤如錯誤:重復條目''為鍵'PRIMARY',因為我已聲明電子郵件ID為主鍵。 當我把任何東西放在電子郵件ID中然后它接受在數據庫中。 我認為功能沒有正常執行。 指導是否有合適的解決方案。如果需要任何細節,請告訴我。

<head>
<script>
  function checkEmail()
  {
    $strEmail= mysql_real_escape_string($_POST['email']);
    if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $strEmail))
    {
      return true;
    }
    else
    {
      return false;
    }
  }
</script>
</head>
<body>
  <div class="container">
    <section id="content">
      <form name="form1" method="post" action="check_register.php">
        <div>
          <input type="text" placeholder="Enter username" required="" id="uname" name="uname"/>
        </div>
        <div>
          <input type="text" placeholder="Enter Email-id" required="" id="email" name="email" onfocus="checkEmail('email');"  />
        </div>
        <div>
          <input type="password" placeholder="Enter Password" required="" id="pass" name="pass"/>
        </div>
        <div>
          <input type="password" placeholder="Repeat Password" required="" id="rpass" name="rpass" onfocus="checkPassword(document.getElementById('pass'), this);" oninput="checkPassword(document.getElementById('pass'), this);"/>
        </div>
        <div>
          <input type="text" placeholder="Enter country" required="" id="country" name="country"/>
        </div>
        <div>
          <input type="submit" value="Register"  />
        </div>
      </form>
    </section>
  </div>
  <script src="form-validation.js"/></script>
</body>

在嘗試插入之前,您是否檢查數據庫中是否已存在郵件? 我覺得你的問題就在這里。 沒有問題html5或電子郵件的驗證。

順便說一下,請不要使用<script> balise來執行php代碼。 請改用<?php /* your code here */ ?>

您還可以使用內置的PHP函數使用filter_var驗證您的電子郵件,請查看第一個示例: http//www.php.net/manual/en/filter.examples.validation.php

是的,為什么不使用filter_var

filter_var ($isEmail, FILTER_VALIDATE_EMAIL);

eregi(Posix Regex)已被棄用為PHP 5.3.0。 PHP-手動

暫無
暫無

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

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