提示コードですがこれは会員登録の仮登録のメール送信ページなのですがメールアドレスを入力してこのページに飛ぶとこのページは動作していません
というエラーが出るのですが原因がわかりません。これはなぜでしょうか?
php
1<!DOCTYPE html> 2<html lang=ja> 3 <head> 4 <meta charset="utf-8"> 5 6 <link rel="stylesheet" href="style.css"> 7 <title>send</title> 8 </head> 9 10 <body> 11 12<?php 13ini_set("display_errors",1); 14error_reporting(E_ALL); 15session_start(); 16?> 17 18<h1 class="center"> 登録確認 </h1> 19 20<?php 21 22 $dsn = 'mysql:dbname=Bulletin_Board;host=localhost;charset=utf8'; 23 $dbh = new PDO($dsn,"root",""); 24 25 26if(empty($_POST['submit']) == true) 27{ 28 echo "メールアドレスが未入力です"; 29} 30else 31{ 32 $mail = $_POST['mail']; 33 if(!preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $mail)) 34 { 35 echo "メールアドレスの形式が正しくありません。"; 36 } 37 38 $sql = "SELECT id FROM Account WHERE mail=:mail"; 39 $stm = $dbn->prepare($sql); 40 $stm->bindValue(':mail',$mail,PDO::PARAM_STR); 41 $stm->execute(); 42 $result = $stm->fetch(PDO::FETCH_ASSOC); 43 44 if(isset($result["id"]) == true) 45 { 46 echo "このメールアドレスは既に利用されています。"; 47 } 48 else 49 { 50 $urltoken = hash('sha256',uniqid(rand(),1)); 51 $url = "http://localhost:registerCheck.php?urltoken=".$urltoken; 52 53 try 54 { 55 $dsn = 'mysql:dbname=Bulletin_Board;host=localhost;charset=utf8'; 56 $dbh = new PDO($dsn,"root",""); 57 58 $sql = 'INSERT INTO `preAccount`(`mail`,`token`,`enable`,`date`) VALUES (:mail,:urltoken,'0',now())'; 59 $stmt = $dbh->prepare($sql); 60 $stmt->bindValue(':token',$urltoken,PDO::PRARAM_STR); 61 $stmt->bindValue(':mail',$mail,PDO::PRARAM_STR); 62 $stmt->execute(); 63 $dbh = null; 64 65 }catch(PDOException $e) 66 { 67 print('Error:'.$e->getMessage()); 68 } 69 70 /* 71 $mailTo = $mail; 72 $body = <<< EOM 73 この度はご登録いただきありがとうございます。 74 24時間以内に下記のURLからご登録下さい。 75 {$url} 76EOM; 77 mb_language('ja'); 78 mb_internal_encoding('UTF-8'); 79 80 //Fromヘッダーを作成 81 $header = 'From: ' . mb_encode_mimeheader($companyname). ' <' . $companymail. '>'; 82 83 if(mb_send_mail($mailTo, $registation_subject, $body, $header, '-f'. $companymail)){ 84 //セッション変数を全て解除 85 $_SESSION = array(); 86 //クッキーの削除 87 if (isset($_COOKIE["PHPSESSID"])) { 88 setcookie("PHPSESSID", '', time() - 1800, '/'); 89 } 90 //セッションを破棄する 91 session_destroy(); 92 $message = "メールをお送りしました。24時間以内にメールに記載されたURLからご登録下さい。"; 93 } 94 */ 95 } 96} 97 98?> 99 100 101</body> 102 103</html> 104
回答2件
あなたの回答
tips
プレビュー