html
1<!DOCTYPE html> 2<head> 3<title> 4サンプルフォーム 5</title> 6</head> 7<body> 8<form action="0829post.php" method="post"><br> 9<p>お名前:<input type="text" name="name" width="50px"><br> 10<p>ご住所:<input type="text" name="address"><br> 11<p>ご年齢:<input type="text" name="age"><br> 12<p>TEL:<input type="text" name="tel"><br> 13<p>お問い合わせ:<br> 14<textarea name="contact" cols ="100px" rows="10px"></textarea> 15<input type="submit"> 16</form> 17</body> 18</html>
上記のようなフォームを作りました。
これの受取先のソースコードは以下になります
PHP
1<!DOCTYPE html> 2<head> 3<title> 4サンプルフォーム受け取り 5</title> 6</head> 7<body> 8<?php 9$data1 = $_POST['name']; 10$data2 = $_POST['address']; 11$data3 = $_POST['age']; 12$data4 = $_POST['tel']; 13$data5 = nl2br($_POST['contact']); 14echo '<form aciton="0829post2.php" method="POST">'; 15echo $data1.'<br>'; 16echo $data2.'<br>'; 17echo $data3.'<br>'; 18echo $data4.'<br>'; 19echo $data5.'<br>'; 20echo '<input type="submit">'; 21echo '</form>'; 22?> 23<input type="submit" value="戻る" onclick="history.back()"> 24</body> 25</html>
受け取りのphp側からmysqlにデータベースにフォームの内容を格納しようと思いPDO接続を
試みたりしていたのですが、なかなかうまくいかず。
詳しい方いらっしゃったら、アドバイスよろしくお願いいたします。
ーーーーここから追記ーーーーーー
皆様、コメントありがとうございます。
上の受取ページからさらに新規ページを追加し、データベースに入れられるかどうか試してみました。
結果は、何も表示されませんでした。
修正箇所などございましたら、アドバイスいただければと思います。
皆様のお力添え賜りたく思います。
宜しくお願いいたします。
PHP
1<?php 2try{ 3$dataname = $data1; 4$dataaddress = $data2; 5$dataage = $data3; 6$datatel = $data4; 7$datacontact = $data5; 8 9$dsn = 'mysql:dbname=sampleform;host=localhost;charset=utf8'; 10$user = 'tobe'; 11$password = 'VyPGbQPSVSibL5FW'; 12$dbh = new PDO($dsn,$user,$password); 13$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 14 15$sql = 'insert into test(お名前, 住所,ご年齢,TEL,お問い合わせ)values(?,?)'; 16$stmt = $dbh->prepare($sql); 17$data[] = $dataname; 18$data[] = $dataaddress; 19$data[] = $dataage; 20$data[] = $datatel; 21$data[] = $datacontact; 22$stmt->execute($data); 23$dbh = null; 24if($data[] = ''){ 25print '無事追加できました'; 26}
上記までのコードでは0829post.phpで何も表示されないという状況だったので
コメントいただいていた方から修正してもらっていたものを下記に記載いたしております。
それが下です↓
---------さらに追記-----------
php
1<!DOCTYPE html> 2<head> 3<title> 4サンプルフォーム受け取り 5</title> 6</head> 7<body> 8<?php 9$data1 = $_POST['name']; 10$data2 = $_POST['address']; 11$data3 = $_POST['age']; 12$data4 = $_POST['tel']; 13$data5 = nl2br($_POST['contact']); 14echo '<form action="0829post2.php" method="post">'; 15echo $data1.'<input type="hidden" name="name" value="'.htmlspecialchars($data1).'"><br>'; 16echo $data2.'<br>'; 17echo $data3.'<br>'; 18echo $data4.'<br>'; 19echo $data5.'<br>'; 20echo '<input type="submit">'; 21echo '</form>'; 22?> 23<input type="submit" value="戻る" onclick="history.back()"> 24</body> 25</html> 26コード
↓修正いたしました0829post2.phpです。
php
1<?php 2try{ 3$dataname = $_POST["name"]; 4$dataaddress = $_POST['address']; 5$dataage = $_POST['age']; 6$datatel = $_POST['tel']; 7$datacontact = nl2br($_POST['contact']); 8 9$dsn = 'mysql:dbname=sampleform;host=localhost;charset=utf8'; 10$user = 'tobe'; 11$password = 'VyPGbQPSVSibL5FW'; 12$dbh = new PDO($dsn,$user,$password); 13$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 14 15$sql = 'insert into test(お名前, 住所,ご年齢,TEL,お問い合わせ)values(?,?)'; 16$stmt = $dbh->prepare($sql); 17$data[] = $dataname; 18$data[] = $dataaddress; 19$data[] = $dataage; 20$data[] = $datatel; 21$data[] = $datacontact; 22$stmt->execute($data); 23$dbh = null; 24if($stmt->execute($data)){ 25 print '無事追加できました'; 26}else{ 27 print '追加失敗'; 28}
16時38分現在は以下のようなエラーがpost2.phpに出ています。
Fatal error: Cannot use try without catch or finally in C:\xampp\htdocs\3days\0829post2.php on line 30
17時31分現在の0829post2.phpのコードは下記になります。
php
1<?php 2/* 3var_dump($_POST);exit; 4*/ 5try{ 6$dataname = $_POST["name"]; 7$dataaddress = $_POST['address']; 8$dataage = $_POST['age']; 9$datatel = $_POST['tel']; 10$datacontact = nl2br($_POST['contact']); 11 12$dsn = 'mysql:dbname=sampleform;host=localhost;charset=utf8'; 13$user = 'tobe'; 14$password = 'VyPGbQPSVSibL5FW'; 15$dbh = new PDO($dsn,$user,$password); 16$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 17$sql = 'insert into test(お名前, 住所,ご年齢,TEL,お問い合わせ)values(?,?,?,?,?)'; 18$stmt = $dbh->prepare($sql); 19$data[] = $dataname; 20$data[] = $dataaddress; 21$data[] = $dataage; 22$data[] = $datatel; 23$data[] = $datacontact; 24$stmt->execute($data); 25$dbh = null; 26if($stmt->execute($data)){ 27 print '無事追加できました'; 28}else{ 29 print '追加失敗'; 30} 31}catch(Exception $e){ 32echo $e->message(); 33}; 34?>