前提・実現したいこと
HTML,CSS.JS,JQの勉強のため、某マッチングサイトを写経し正常に表示できた後、
「ユーザ登録機能」機能を実装中に以下のエラーメッセージが発生しました。
エラーの原因をweb検索をして調べましたが、解決できず。
見苦しいコードではあると思いますが、どこが間違えているかご教示いただきたいです。
MAMPのhtdocsフォルダには以下のファイルが置いてあります。
sampleフォルダ
∟index.php
∟mypage.php
∟stylesheet.css
∟script.js
∟imgフォルダ(photo)
発生している問題・エラーメッセージ
このページは動作していません localhost では現在このリクエストを処理できません。 HTTP ERROR 500
該当のソースコード
Index.php
Index.php
1<?php 2error_reporting(E_ALL); //E_STRICTレベル以外のエラーを報告する 3ini_set('display_errors','On'); //画面にエラーを表示させるか 4 5//1.post送信されていた場合 6if(!empty($_POST)){ 7 8 //エラーメッセージを定数に設定 9 define('MSG01','入力必須です'); 10 define('MSG02', 'Emailの形式で入力してください'); 11 define('MSG03','パスワード(再入力)が合っていません'); 12 define('MSG04','半角英数字のみご利用いただけます'); 13 define('MSG05','6文字以上で入力してください'); 14 15 //配列$err_msgを用意 16 $err_msg = array(); 17 18 //2.フォームが入力されていない場合 19 if(empty($_POST['email'])){ 20 21 $err_msg['email'] = MSG01; 22 23 } 24 if(empty($_POST['pass'])){ 25 26 $err_msg['pass'] = MSG01; 27 28 } 29 if(empty($_POST['pass_retype'])){ 30 31 $err_msg['pass_retype'] = MSG01; 32 33 } 34 35 if(empty($err_msg)){ 36 37 //変数にユーザー情報を代入 38 $email = $_POST['email']; 39 $pass = $_POST['pass']; 40 $pass_re = $_POST['pass_retype']; 41 42 //3.emailの形式でない場合 43 if(!preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9._-]+)+$/", $email)){ 44 $err_msg['email'] = MSG02; 45 } 46 47 //4.パスワードとパスワード再入力が合っていない場合 48 if($pass !== $pass_re){ 49 $err_msg['pass'] = MSG03; 50 } 51 52 if(empty($err_msg)){ 53 54 //5.パスワードとパスワード再入力が半角英数字でない場合 55 if(!preg_match("/^[a-zA-Z0-9]+$/", $pass)){ 56 $err_msg['pass'] = MSG04; 57 58 }elseif(mb_strlen($pass) < 6){ 59 //6.パスワードとパスワード再入力が6文字以上でない場合 60 61 $err_msg['pass'] = MSG05; 62 } 63 64 if(empty($err_msg)){ 65 66 //DBへの接続準備 67 $dsn = 'mysql:dbname=php_sample01;host=localhost;charset=utf8'; 68 $user = 'root'; 69 $password = 'root'; 70 $options = array( 71 // SQL実行失敗時に例外をスロー 72 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 73 // デフォルトフェッチモードを連想配列形式に設定 74 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, 75 // バッファードクエリを使う(一度に結果セットをすべて取得し、サーバー負荷を軽減) 76 // SELECTで得た結果に対してもrowCountメソッドを使えるようにする 77 PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, 78 ); 79 80 // PDOオブジェクト生成(DBへ接続) 81 $dbh = new PDO($dsn, $user, $password, $options); 82 83 //SQL文(クエリー作成) 84 $stmt = $dbh->prepare('INSERT INTO users (email,pass,login_time) VALUES (:email,:pass,:login_time)'); 85 86 //プレースホルダに値をセットし、SQL文を実行 87 $stmt->execute(array(':email' => $email, ':pass' => $pass, ':login_time' => date('Y-m-d H:i:s'))); 88 89 header("Location:mypage.php"); //mypage画面へ 90 } 91 92 } 93 } 94} 95 96?> 97 98 99<!DOCTYPE html> 100<html lang="ja"> 101 <head> 102 <meta charaset="UTF-8"> 103 <title>MeeTech</title> 104 <link rel="stylesheet" href="http://localhost:8888/sample/stylesheet.css"> 105 <link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet"> 106 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 107 <script src="http://localhost:8888/sample/index.php/jquery.js"></script> 108 </head> 109 110 <body> 111 <div class="header"> 112 <div class="header-logo"> 113 <h1 id="top-btn"><i class="fas fa-robot"></i>MeeTech</h1> 114 </div> 115 116 <div class="header-list"> 117 <ul> 118 <li><div id="header-menu"><a href="#about">ABOUT</a></div></li> 119 <li><div id="header-menu"><a href="#merit">MERIT</a></div></li> 120 <li><div id="header-menu"><a href="#price">PRICE</a></div></li> 121 <li><div id="header-menu"><a href="#faq">FAQ</a></div></li> 122 <li><div id="header-menu"><a href="#contact">CONTACT</a></div></li> 123 </ul> 124 </div> 125 126 </div> 127 128 <div class="register-modal-wrapper" id="register-modal"> 129 <div class="modal"> 130 131 <div class="close-modal"> 132 <i class="fa fa-2x fa-times"></i> 133 </div> 134 135 <div id="register-form"> 136 <h2>新規登録</h2> 137 <form action="" method="post"> 138 <span class="err_msg"><?php if(!empty($err_msg['email']; )) echo $err_msg['email']; ?></span> 139 <input class="form-control" name="email" type="text" placeholder="メールアドレス" value="<?php if(!empty($_POST['email'])) echo $_POST['email'];?>"> 140 141 <span class="err_msg"><?php if(!empty($err_msg['pass']; )) echo $err_msg['pass']; ?></span> 142 <input class="form-control" name="pass" type="password" placeholder="パスワード" value="<?php if(!empty($_POST['pass'])) echo $_POST['pass'];?>"> 143 144 <span class="err_msg"><?php if(!empty($err_msg['pass_retype']; )) echo $err_msg['pass_retype']; ?></span> 145 <input class="form-control" name="pass_retype" type="password" placeholder="パスワード(再)" value="<?php if(!empty($_POST['pass_retype'])) echo $_POST['pass_retype'];?>"> 146 147 <input type="submit" id="submit-btn" value="登録"> 148 </form> 149 </div> 150 </div> 151 </div> 152 153 <div class="login-modal-wrapper" id="login-modal"> 154 <div class="modal"> 155 156 <div class="close-modal"> 157 <i class="fa fa-2x fa-times"></i> 158 </div> 159 160 <div id="login-form"> 161 <h2>ログイン</h2> 162 <form action="#"> 163 <input class="form-control" type="text" placeholder="メールアドレス"> 164 <input class="form-control" type="password" placeholder="パスワード"> 165 <div id="submit-btn">ログイン</div> 166 </form> 167 </div> 168 </div> 169 </div> 170 171 172 <div class="top-wrapper"> 173 <div class="contaner"> 174 <h1>新しい人と出会う。新しい自分に出会える</h1> 175 <div class="contaner-btn"> 176 <a href="#" class="btn new register-show" ><i class="fas fa-user-alt"></i>新規登録</a> 177 <a href="#" class="btn login login-show"><i class="fas fa-sign-in-alt"></i>ログイン</a> 178 </div> 179 </div> 180 </div> 181 182 <div id="about"> 183 <div id="about1"> 184 <h1>MeeTechとは?</h1> 185 <h3>マッチング業界初の<span id="mark">ITエンジニア限定</span>のAIマッチングサービスです。</h3> 186 187 <ul class="msr_flow02"> 188 <li> <span class="step"></span><i class="fas fa-sign-out-alt"></i>ユーザ登録</li> 189 <li> <span class="step"></span><i class="fas fa-id-badge"></i>プロフィール入力</li> 190 <li> <span class="step"></span><i class="fab fa-android"></i><span class="AI">AIマッチング成立</span></li> 191 <li> <span class="step"></span><i class="fas fa-utensils"></i>日時・場所決定</li> 192 <li> <span class="step"></span><i class="fas fa-hand-holding-heart"></i>デート</li> 193 </ul> 194 195 196 </div> 197 198 199 <div id="about2"> 200 <img src="http://localhost:8888/sample/img/photo10.png" width=80%; height=80% > 201 </div> 202 </div> 203 204 <div id="merit"> 205 <h1>MERIT</h1> 206 <div class="parent-merit"> 207 <div class="child-merit"> 208 <div class="child-merit-up"> 209 <h2 id="merimeri">AI自動マッチング</h2> 210 <p class="first">あなたのプロフィールから、</p> 211 <p class="second">AIが相性の良いお相手を選びます。</p> 212 </div> 213 <div class="child-merit-low one"></div> 214 </div> 215 216 <div class="child-merit"> 217 <div class="child-merit-up"> 218 <h2>店予約不要</h2> 219 <p class="first">お会いするエリアと予算を指定すれば、</p> 220 <p class="second">条件に合ったお店を自動で予約します。</p> 221 </div> 222 <div class="child-merit-low two"></div> 223 </div> 224 225 <div class="child-merit"> 226 <div class="child-merit-up"> 227 <h2>サクラゼロ</h2> 228 <p class="first">厳重な入会審査を実施しており、</p> 229 <p class="second">会員の中にサクラは一人もいません。</p> 230 </div> 231 <div class="child-merit-low three"></div> 232 </div> 233 234 <div class="child-merit"> 235 <div class="child-merit-up"> 236 <h2>新たな人脈</h2> 237 <p class="first">もし恋愛に発展しなかった場合でも、</p> 238 <p class="second">「ITエンジニア」として新たな人脈となります。</p> 239 </div> 240 <div class="child-merit-low four"></div> 241 </div> 242 243 </div> 244 </div> 245 246 247 <div id="price"> 248 <h1>PRICE</h1> 249 <table> 250 <tr> 251 <th><i class="fas fa-male"></i>Men</th> 252 <td>¥4,500 / 月</td> 253 </tr> 254 <tr> 255 <th><i class="fas fa-female"></i>Women</th> 256 <td>¥2,000 / 月</td> 257 </tr> 258 </table> 259 </div> 260 261-----文字数制限のため以下省略---
回答1件
あなたの回答
tips
プレビュー