「PHP+MySQLマスターブック」という本を参考に、登録画面からデータを入力して、テーブルにそのデータを入力するプログラムを書いているのですが、詰まってしまったのでこちらに質問させていただきます。
以下が実際に書いたプログラムです。
html
1<html> 2 <head> 3 <title>PHP TEST</title> 4 <meta http-equiv="Content-Type" content="test/html; charset=utf-8"> 5 </head> 6 <body bgcolor="#FFFFFF" text="#000000"> 7 <font size="4">PHP TEST</font> 8 <form name="form1" method="post" action="view.php"> 9 Last Name: <br> 10 <input type="text" name="last_name"> 11 <br> 12 First Name: <br> 13 <input type="test" name="first_name"> 14 <br> 15 Your Age: <br> 16 <input type="text" name="age"> 17 <br> 18 <input type="submit" value="Submit"> 19 </form> 20 21 </body> 22</html>
php
1<html> 2 <head> 3 <title>PHP TEST</title> 4 </head> 5 <body> 6 <?php 7 $db_user="root"; 8 $db_pass="root"; 9 $db_host="localhost"; 10 $db_name="mydb"; 11 $db_type="mysql"; 12 13 $dsn = "db_type:host=$db_host; dbname=$db_name;charset=utf8"; 14 15 try { 16 $pdo = new PDO($dsn, $db_user, $db_pass); 17 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 18 $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 19 print "Connected<br>"; 20 } catch(PDOException $Exception) { 21 die('ERROR:'.$Exception->getMessage()); 22 } 23 24 try { 25 $pdo->beginTransaction(); 26 $sql = "INSERT INTO member(last_name, first_name, age) VALUES (:last_name, :first_name, :age)"; 27 $stmh = $pdo->prepare($sql); 28 $stmh->bindValue(':last_name', $_POST['last_name'], PDO::PARAM_STR); 29 $stmh->bindValue(':first_name', $_POST['first_name'], PDO::PARAM_STR); 30 $stmh->bindValue(':age', $_POST['age'], PDO::PARAM_INT); 31 $stmh->execute(); 32 $pdo->commit(); 33 print "データを".$stmh->rowCount()."件、挿入しました。<br>"; 34 } catch (PDOException $Exception) { 35 $pdo->rollBack(); 36 print "ERROR:".$Exception->getMessage; 37 } 38 ?> 39 </body> 40</html>
HTMLで作成した送信フォームはしっかりと動いているように思いますが、Last Name, First Name, Ageを入力し、SubmitするとPHPのソースコードがそのまま表示されてしまいます。
色々と調べましたが、よくわからないまま詰まっております。
Win 8.1
MAMP
PHP 7.2.14
Apache
MySQL 5.7.24
どなたか詳しい方いらっしゃいましたら、回答を分かりやすくお願いします。