1

これは、データベースにユーザーが存在することを知りたい方法ですが、存在しない場合は常に存在し続けます。

私がこのコードから欲しいのは、データベース内のユーザーに関する知識を得ることです:)

}
    else
        {
            $email_1 = $_post["email"];
            $result = $this->mysqli->query("SELECT * FROM bruger WHERE email='$email_1'");
            if(mysqli_num_rows($resut) > 0)
            {
//code here!
}
        else
        {
        ?>
        <div class="article-main-content">
            <div class="alert-message" style="background-color:#c22525;"><span class="icon-text">&#9888;</span><span class="alert-content">Email Findes på hjemmesiden</span><a href="#" class="destroy-button"></a></div>
        </div>
        <?php
        }
    }
}

そして、私はここで試しました:

$email = $_post["email"]
    foreach($this->mysqli->query("SELECT * FROM `bruger` WHERE email='$email'") as $row) {
              if ($row['email'] !== $email) {

ここにすべての私のhtmlコードがあります:

<form action="#" enctype="multipart/form-data" method="post">
    <table width="100%" cellpadding="5" cellspacing="5">
        <tr>
            <td><p>Email</p></td>
            <td><input type="text" name="email" class="ned_input"></td>
        </tr>
        <tr>
            <td><p>Adgangskode</p></td>
            <td><input type="password" name="password_adgangskode_1" class="ned_input"></td>
        </tr>
        <tr>
            <td><p>Adgangskode Gentag</p></td>
            <td><input type="password" name="password_adgangskode_2" class="ned_input"></td>
        </tr>
        <tr>
            <td><p>Fornavn</p></td>
            <td><input type="text" name="fornavn" class="ned_input"></td>
        </tr>
        <tr>
            <td><p>Efternavn</p></td>
            <td><input type="text" name="efternavn" class="ned_input"></td>
        </tr>
        <tr>
            <td><p>Profilbillede</p></td>
            <td><input type="file" name="file" /></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" name="opret" value="Opret bruger" style="margin-top:10px;"></td>
        </tr>
    </table>
</form>

ここでEIDT

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 > 0)
             {
4

2 に答える 2

0

これのアルゴリズムを見てください

PHP終了

  1. 最初にデータを収集POSTし、入力をサニタイズします。
  2. メールを確認する

    SELECT emailFROM テーブル WHERE email= '$post_email' LIMIT 1

  3. 結果が空でない場合は、先に進みます

  4. それ以外の場合、重複エントリの警告が表示されます

データベース終了

データベースに UNIQUE KEY 制約を追加するには

ALTER TABLE  <table name >
ADD CONSTRAINT uniqueEmail UNIQUE (< `email column` > )

一意の制約を使用すると、テーブルが安全になります。誰かが重複を入力しようとするとエラーが発生します。したがって、テーブルのクエリをemail実行するときにINSERT、**mysqli_query** が返すものを確認します (以下を参照)。

$qry = "SELECT INTO table (whatever) VALUE (whatever)";
$done = mysqli_query($qry);

check $done、すべてがうまくいけばTRUEを返し、そうでなければmysql_error(1064の可能性があります)を返すので、この方法でメールアドレスの重複を防ぐこともできます

于 2013-05-31T06:06:15.253 に答える
0

メール ID が存在するかどうかを確認する場合は、このコードで十分です。

        $email_1 = $_post["email"];
        $result = mysql_query("SELECT * FROM bruger WHERE email='$email_1' LIMIT 1");
        if(mysql_num_rows($resut) > 0)
        {
            //code here!
            //$result contain other column values
        }
        else
        {

            //Email id not exist
        }
于 2013-05-31T06:09:48.800 に答える