Hy我正在嘗試驗證註冊表單中的電子郵件地址。我想檢查地址是否存在於數據庫中。這是我第一次用PHP,我不知道如何。而且我試圖添加我的代碼和錯誤信息,如果電子郵件中有壞字符。php檢查數據庫中是否有電子郵件
<?php
$dbhost = "localhost";
$dbusername = "test";
$dbpassword = "tester";
$database_name = "dbtest";
$link = mysql_connect("$dbhost", "$dbusername", "$dbpassword");
if(!$link){ die('Could not connect: ' . mysql_error());}
$db_selected = mysql_select_db("$database_name",$link);
if(!$db_selected){ die('Can\'t use foo: ' . mysql_error());}
$email = strip_tags($_POST['email']);
$verzija = strip_tags($_POST['mydropdown2']);
$model = strip_tags($_POST['mydropdown']);
$sql = mysql_query("INSERT INTO novice (naslov, podnaslov, vsebina, objavljeno)
VALUES ('$email', '$verzija', '$model', now())
");
if(mysqli_query($link, $sql)){
echo "Records added successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// close connection
?>
<form action="insert.php" method="post">
<label for="model">Phone model:</label>
<select required aria-required="true" id="model" name="mydropdown">
<option value="">Select...</option>
<option value="x">x</option>
<option value="xx">xx</option>
</select>
<label for="version">IOS version:</label>
<select required aria-required="true" id="version" name="mydropdown2">
<option value="">Select...</option>
<option value="ax">ax</option>
<option value="bx">bx</option>
<option value="cx">cx</option>
</select>
<p>
<br>
<label for="emailAddress">Email Address:</label>
<input type="text" id="emailAddress" placeholder="Your email..." name="email" required> </p>
<input type="submit" value="Submit"> </form>
做到這一點。
哪裏是檢查電子郵件帳戶的代碼?我看到插入... – Option
**警告**:使用'mysqli'時,您應該使用[參數化查詢](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。 **不要**使用手動轉義和字符串插值或串聯來實現此目的,因爲您將創建嚴重的[SQL注入漏洞](http://bobby-tables.com/)。意外地未經轉義的數據是一個嚴重的風險。 – tadman
要檢查電子郵件的有效性(服務器端),你可以像這個官方的php文檔[示例](http://php.net/manual/ro/function.filter-var.php)中使用filter_var。例如:filter_var('[email protected]',FILTER_VALIDATE_EMAIL); –