我想這樣如果電子郵件存在數據庫中不應該有可能再次創建數據庫。它應該只有可能再次維持自己!只有一個用戶在數據庫中
if($stmt = $this->mysqli->prepare("INSERT INTO `bruger` (`rank`, `email`, `adgangskode`, `navn`, `efternavn`, `profil_img`) VALUES (?, ?, ?, ?, ?, ?)"))
{
$stmt->bind_param('isssss', $rank, $email, $adgangskode, $navn, $efternavn, $profil_img);
$rank = 1;
$email = $_POST["email"];
$adgangskode = sha1($_POST["password_adgangskode_1"]);
$navn = $_POST["fornavn"];
$efternavn = $_POST["efternavn"];
$profil_img = $pb;
$stmt->execute();
$navn = $_POST["navn"];
$til = $_POST["email"];
$password = $_POST["password_adgangskode_1"];
$fra = "blabla.dk - Opret bruger <" . "[email protected]" . ">";
$til = $_POST["email"];
$emne = "Velkommen til blabla.dk";
$besked = file_get_contents('mail_opret.php');
$besked = str_replace("%%navn", $navn, $besked);
$besked = str_replace("%%brugernavn", $til, $besked);
$besked = str_replace("%%password", $password, $besked);
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=UTF-8 \n";
$headers .= "From: " . $fra . "\n";
mail($til, $emne, $besked, $headers);
?>
<div class="article-main-content">
<div class="alert-message" style="background-color:#77b01e;"><span class="icon-text">✓</span><span class="alert-content">Din bruger er blevet opret og du få en email fra os <a href="#" class="destroy-button"></a></div>
</div>
<?php
$stmt->close();
}
else
{
echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
它應該使用/訪問者在數據庫中的用戶,所以它不能再次創建電子郵件。那麼它應該只能做到一次!
我應該怎麼做?
EIDT HERE!
foreach($this->mysqli->query("SELECT * FROM bruger WHERE email='$email'") as $row) {
if ($row['email'] !== $email) {
$pb = null;
include "fun_filer/img/class.upload.php";
$handle = new Upload($_FILES["file"]);
if($handle->uploaded)
{
$handle->image_resize = true;
$handle->image_ratio_crop = true;
$handle->image_y = 75;
$handle->image_x = 75;
$handle->Process("images/bruger");
$pb = $handle->file_dst_name;
}
if($stmt = $this->mysqli->prepare("INSERT INTO `bruger` (`rank`, `email`, `adgangskode`, `navn`, `efternavn`, `profil_img`) VALUES (?, ?, ?, ?, ?, ?)"))
{
$stmt->bind_param('isssss', $rank, $email, $adgangskode, $navn, $efternavn, $profil_img);
$rank = 1;
$email = $_POST["email"];
$adgangskode = sha1($_POST["password_adgangskode_1"]);
$navn = $_POST["fornavn"];
$efternavn = $_POST["efternavn"];
$profil_img = $pb;
$stmt->execute();
$navn = $_POST["navn"];
$til = $_POST["email"];
$password = $_POST["password_adgangskode_1"];
$fra = "blabla.dk - Opret bruger <" . "[email protected]" . ">";
$til = $_POST["email"];
$emne = "Velkommen til blabla.dk";
$besked = file_get_contents('mail_opret.php');
$besked = str_replace("%%navn", $navn, $besked);
$besked = str_replace("%%brugernavn", $til, $besked);
$besked = str_replace("%%password", $password, $besked);
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=UTF-8 \n";
$headers .= "From: " . $fra . "\n";
mail($til, $emne, $besked, $headers);
?>
<div class="article-main-content">
<div class="alert-message" style="background-color:#77b01e;"><span class="icon-text">✓</span><span class="alert-content">Din bruger er blevet opret og du få en email fra os <a href="#" class="destroy-button"></a></div>
</div>
<?php
$stmt->close();
}
else
{
echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
}
else
{
?>
<div class="article-main-content">
<div class="alert-message" style="background-color:#c22525;"><span class="icon-text">⚠</span><span class="alert-content">Error!</span><a href="#" class="destroy-button"></a></div>
</div>
<?php
}
}
這裏:
if ($stmt = $this->mysqli->prepare("SELECT `id` FROM `bruger` WHERE `email`"))
{
$stmt->bind_param('s', $email_indhold);
$email_indhold = $_POST["email"];
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id);
$stmt->fetch();
$count = $stmt->num_rows;
$stmt->close();
if($count >= 1)
{
$pb = null;
include "fun_filer/img/class.upload.php";
$handle = new Upload($_FILES["file"]);
if($handle->uploaded)
{
$handle->image_resize = true;
$handle->image_ratio_crop = true;
$handle->image_y = 75;
$handle->image_x = 75;
$handle->Process("images/bruger");
$pb = $handle->file_dst_name;
}
if($stmt = $this->mysqli->prepare("INSERT INTO `bruger` (`rank`, `email`, `adgangskode`, `navn`, `efternavn`, `profil_img`) VALUES (?, ?, ?, ?, ?, ?)"))
{
$stmt->bind_param('isssss', $rank, $email, $adgangskode, $navn, $efternavn, $profil_img);
$rank = 1;
$email = $_POST["email"];
$adgangskode = sha1($_POST["password_adgangskode_1"]);
$navn = $_POST["fornavn"];
$efternavn = $_POST["efternavn"];
$profil_img = $pb;
$stmt->execute();
$navn = $_POST["navn"];
$til = $_POST["email"];
$password = $_POST["password_adgangskode_1"];
$fra = "blabla.dk - Opret bruger <" . "[email protected]" . ">";
$til = $_POST["email"];
$emne = "Velkommen til blabla.dk";
$besked = file_get_contents('mail_opret.php');
$besked = str_replace("%%navn", $navn, $besked);
$besked = str_replace("%%brugernavn", $til, $besked);
$besked = str_replace("%%password", $password, $besked);
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=UTF-8 \n";
$headers .= "From: " . $fra . "\n";
mail($til, $emne, $besked, $headers);
?>
<div class="article-main-content">
<div class="alert-message" style="background-color:#77b01e;"><span class="icon-text">✓</span><span class="alert-content">Din bruger er blevet opret og du få en email fra os <a href="#" class="destroy-button"></a></div>
</div>
<?php
$stmt->close();
}
else
{
echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
}
else
{
?>
<div class="article-main-content">
<div class="alert-message" style="background-color:#c22525;"><span class="icon-text">⚠</span><span class="alert-content">Error</span><a href="#" class="destroy-button"></a></div>
</div>
<?php
}
}
設置電子郵件字段設置爲MySQL中的唯一索引... – crush
簡單的將它添加到數據庫之前只檢查使用select查詢這個電子郵件的ID是否存在,如果沒有,然後插入或存在拋出錯誤或做任何你想做的事情...... –
還有一種方法可以防止用戶使用'php if/else'語句添加用戶。你在尋找類似的東西嗎? – Tom