前提・実現したいこと
重複チェックの部分のプログラムを書いたところ、画面になにも出なくなってしまいました。
重複チェックの部分を外すと問題ありません
php
1 2<?php 3 session_start(); 4 if(!empty($_POST)){ 5 if($_POST['name']===''){ 6 $error['name']='blank'; 7 } 8 if($_POST['email']===''){ 9 $error['email']='blank'; 10 } 11 if(strlen($_POST['password'])<4){ 12 $error['password']='length'; 13 } 14 if($_POST['password']===''){ 15 $error['password']='blank'; 16 } 17 18 $fileName=$_FILES['image']['name']; 19 20 if(!empty($fileName)){ 21 $ext=substr($fileName,-3); 22 if($ext !='JPG'&&$ext !='gif'){ 23 $error['image']='type'; 24 } 25 } 26 //重複チェック 27 if(empty($error)){ 28 $member=$db->prepare('SELECT COUNT(*) AS cnt FROM members WHERE email=?'); 29 $member->execute(array($_POST['email'])); 30 $record=$member->fetch(); 31 if($record['cnt']>0){ 32 $error['email']='duplicate'; 33 } 34 } 35 36 if(empty($error)){ 37 $image=date('YmdHis').$_FILES['image']['name']; 38 $ret=move_uploaded_file($_FILES['image']['tmp_name'],'../member_picture/'.$image); 39 if (!$ret) { 40 echo 'ファイルの取得失敗'; 41 } 42 $_SESSION['join']=$_POST; 43 $_SESSION['join']['image']=$image; 44 header('Location:check.php'); 45 exit(); 46 } 47 } 48 if($_REQUEST['action']=='rewrite'&&isset($_SESSION['join'])){ 49 $_POST=$_SESSION['join']; 50 } 51?> 52 53
php
1<?php 2try{ 3 $db=new PDO('mysql:dbname=mini_bbs;host=localhost:8889;charset=utf8','root','root'); 4}catch(PDOException $e){ 5 print('DBエラー'.$e->getMessage()); 6} 7?> 8
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。