現在、PHPとMySQLの使い方の学習をしています。
それにあたり、メールアドレスの登録フォームの作成をしています。
要件は以下になります。
①メールアドレスとパスワードの入力ができる
②未入力項目がある場合にはエラーを出す
③入力された場合には過去に登録がないか確認する
④過去に登録がない場合に新規登録をする
この③まではうまくいったつもりなのですが、④の新規登録ができません。
必ず、「登録に失敗しました!」と出てしまいます。
どこがおかしいか分かりますでしょうか?
PHP
1<?php 2 $link = mysqli_connect("localhost", "root", "root", "memberapp"); 3 //サーバー名、データベースユーザー名、パスワード 4 5 if(mysqli_connect_error()){ 6 echo "データベースへの接続に失敗しました"; 7 } 8 if(array_key_exists('email', $_POST) OR array_key_exists('password', $_POST)){ 9 //print_r($_POST); 10 if($_POST['email'] == ''){ 11 echo "メールアドレスを記入してください"; 12 }elseif($_POST['password'] == ''){ 13 echo "パスワードを入力してください"; 14 }else{ 15 $query = "SELECT `id` FROM `users` WHERE email = '".mysqli_real_escape_string($link, $_POST['email'])."'"; 16 $result = mysqli_query($link, $query); 17 if(mysqli_num_rows($result) > 0){ 18 echo "そのメールアドレスは既に使われています。"; 19 }else{ 20 $query = "INSERT INTO `users` (`email`, `password`) VALUES(`".mysqli_real_escape_string($link, $_POST['email'])."','".mysqli_real_escape_string($link, $_POST['password'])."')"; 21 if(mysqli_query($link, $query)){ 22 echo "登録されました!"; 23 }else{ 24 echo "登録に失敗しました!"; 25 } 26 } 27 } 28 } 29 30 31?> 32 33<form method="post"> 34 <input name="email" type="text" placeholder="アドレス"> 35 <input name="password" type="password" placeholder="パスワード"> 36 <input type="submit" value="登録する"> 37 38</form> 39
回答1件
あなたの回答
tips
プレビュー