phpで下記コーディングをすると、
mysqlのDBにデータがどんどん格納されていくと本に記載があり、コードチェックを何度も行い
試していますが、データが格納されず困っています。
<?php $dsn = 'mysql:dbname=phpkiso;host=localhost'; $user = 'root'; $password = ''; $dbh = new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8');
~~~~~~~~~~~~~~~~~~
phpの最後ら辺には以下コードが入っています。
~~~~~~~~~~~~~~~~~~
$sql = 'INSERT INTO anketo(nickname,email,goiken)VALUES("'.$nickname.'","'.$email.'","'.$goiken.'")'; $stmt = $dbh->prepare($sql); $stmt->execute(); $dbh = null; ?>
以上になります。
状況をより詳細にお伝えしますと
コードのページは以下です(2ファイル)。
必要事項記入用のファイル⇓
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php $nickname = $_POST["nickname"]; $email = $_POST["email"]; $goiken = $_POST["goiken"]; $nickname = htmlspecialchars($nickname); $email = htmlspecialchars($email); $goiken = htmlspecialchars($goiken); if($nickname == ""){ print"ニックネームを入力してください<br />"; } else{ print"ようこそ"; print $nickname; print"様<br />"; } if($email == ""){ print"emailを入力してください<br />"; } else{ print "メールアドレス:"; print $email; print "<br />"; } if($goiken == ""){ print"ご意見を入力してください<br />"; } else{ print"「ご意見:"; print $goiken; print "」<br />"; } if($nickname==''||$email==''||$goiken==''){ print '<form>'; print '<input type="button" onclick="histroy.back()" value="戻る">'; print '</form>'; }else { print '<form method="post" action="thanks.php">'; print '<input name="nickname"type="hidden"value="'.$nickname.'">'; print '<input name="email" type="hidden" value="'.$email.'">'; print '<input name="goiken" type="hidden" value="'.$goiken.'">'; print '<input type="button" onclick="hstory.back()" value="戻る">'; print '<input type="submit" value="OK!!!">'; print '</form>'; } ?> </body> </html>
以下、飛ぶページ⇓
※mysqlにデータが飛ぶようにしています。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php $dsn = 'mysql:dbname=phpkiso;host=localhost'; $user = 'root'; $password = ''; $dbh = new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8'); $nickname=$_POST['nickname']; $email=$_POST['email']; $goiken=$_POST['goiken']; $nickname = htmlspecialchars($nickname); $email = htmlspecialchars($email); $goiken = htmlspecialchars($goiken); print $nickname; print '様<br />'; print 'ご意見ありがとうございました!<br />'; print '頂いたご意見「'; print $goiken; print '」<br />'; print $email; print 'にメールを送りしましたのでご確認ください。'; $mail_sub='アンケートを受け付けました。'; $mail_body= $nickname."様へ\nアンケートご協力ありがとうございました。"; $mail_body=html_entity_decade($mail_body,ENT_QUOTES,"UTF-8"); $mail_head='From:djokovickyear@gmail.com'; mb_language('Japanese'); mb_internal_encording("UTF-8"); mb_send_mail($email,$mail_sub,$mail_body,$mail_head); $sql = 'INSERT INTO anketo(nickname,email,goiken)VALUES("'.$nickname.'","'.$email.'","'.$goiken.'")'; $stmt = $dbh->prepare($sql); $stmt->execute(); $dbh = null; ?> </body> </html>
以上です。
mysqlでの設定は本の流れに沿って下記の通り完了している状況です。
code nickname email goiken
1 ろくまる djokovicyear@gmail.com おいしかったです
回答2件
あなたの回答
tips
プレビュー