質問
参考書をもとにphpを勉強しているんですが、pro_add.phpに情報を入力してpro_add_check.phpでその情報を入手したいのですが、うまくいきません。pro_add.phpでOKを押すとリンクhttp://localhost/product/pro_add.php/pro_add_check.phpに飛ぶのですが、なぜhttp://localhost/product/pro_add_check.phpに飛ばないのか解説お願いします。
該当のソースコード
pro_add.php
php
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8"> 5 <title>サンプル</title> 6</head> 7<body> 8 商品紹介<br> 9 <br> 10 <form method="post" action="./pro_add_check.php"> 11 商品名を入力してください。<br> 12 <input type="text" name="name" style="width:200px"><br> 13 価格を入力してください。<br> 14 <input type="text" name="price" style="width: 50px;"><br> 15 <br> 16 <input type="button" onclick="history.back()" value="戻る"> 17 <input type="submit" value="OK"> 18 </form> 19</body> 20</html>
pro_add_check.php
php
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8"> 5 <title>サンプル</title> 6</head> 7<body> 8 <?php 9 $pro_name=$_POST['name']; 10 $pro_price=$_POST['price']; 11 12 $pro_name=htmlspecialchars($pro_name,ENT_QUOTES,'UTF-8'); 13 $pro_price=htmlspecialchars($pro_price,ENT_QUOTES,'UTF-8'); 14 15 if($pro_name==''){ 16 printf("商品名が入力されていません\n"); 17 } 18 else{ 19 print'商品名:'; 20 print $pro_name; 21 print'<br>'; 22 } 23 if(preg_match('/\A[0-9]+\z/',$pro_price)==0){ 24 print'価格をきちんと入力してください。<br>'; 25 }else{ 26 print'価格'; 27 print $pro_price; 28 print'円<br>'; 29 } 30 if($pro_name==''||preg_match('/\A[0-9]+\z/',$pro_price)==0){ 31 print'<form>'; 32 print'<input type="button" onclick="history.back()" value="戻る">'; 33 print'</form>'; 34 } 35 else{ 36 print'上記の商品を追加します。<br>'; 37 print'<form method="post" action="pro_add_done.php">'; 38 print'<input type="hidden" name="name" value="'.$pro_name.'">'; 39 print'<input type="hidden" name="price" value="'.$pro_price.'">'; 40 print'<br>'; 41 print'<input type="button" onclick="history.back()" value="戻る">'; 42 print'<input type="submit" value="OK">'; 43 print'</form>'; 44 } 45 ?> 46</body> 47</html>
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー