質問
shop_cartlook.phpからkazu_change.phpにアクセスすると$_POSTに値がはいっておらず変数が定義されていないとエラーが表示されます。shop_cartlook.phpのformタグに問題があるかとチェックしましたが、原因がわかりませんでした。解説よろしくお願いします。
該当のソースコード
kazu_change.php
php
1<?php 2 session_start(); 3 session_regenerate_id(true); 4 5 require_once('../common/common.php'); 6 $post=sanitize($_POST); 7 8 $max=$post['max']; 9 for($i=0;$i<$max;$i++){ 10 $kazu[]=$post['kazu'.$i]; 11 } 12 $_SESSION['kazu']=$kazu; 13 14 header('Location: shop_cartlook.php'); 15 exit(); 16?>
shop_cartlook.php
php
1<?php 2 session_start(); 3 session_regenerate_id(true); 4 if(isset($_SESSION['member_login'])==false){ 5 print'ようこそゲスト様'; 6 print'<a href="member_login.html">会員ログイン</a><br>'; 7 print'<br>'; 8 }else{ 9 print'ようこそ'; 10 print $_SESSION['member_name']; 11 print '様 '; 12 print'<a href="member_logout.php">ログアウト</a><br>'; 13 print'<br>'; 14 } 15?> 16<!DOCTYPE html> 17<html> 18<head> 19 <meta charset="UTF-8"> 20 <title>サンプル</title> 21</head> 22<body> 23<?php 24 try{ 25 $cart=$_SESSION['cart']; 26 $kazu=$_SESSION['kazu']; 27 $max=count($cart); 28 29 $dsn='mysql:dbname=shop;host=localhost;charset=utf8'; 30 $user='root'; 31 $password=''; 32 $dbh=new PDO($dsn,$user,$password); 33 $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 34 35 foreach($cart as $key=>$val){ 36 $spl='SELECT code,name,price,gazou FROM mst_product WHERE code=?'; 37 $stmt=$dbh->prepare($spl); 38 $data[0]=$val; 39 $stmt->execute($data); 40 41 $rec=$stmt->fetch(PDO::FETCH_ASSOC); 42 43 $pro_name[]=$rec['name']; 44 $pro_price[]=$rec['price']; 45 if($rec['gazou']==''){ 46 $pro_gazou[]=''; 47 }else{ 48 $pro_gazou[]='<img src="../product/gazou/'.$rec['gazou'].'">'; 49 } 50 } 51 $dbh=null; 52 53 } 54 55 catch(Exception $e){ 56 print'ただいま障害により大変ご迷惑をお掛けしています。'; 57 exit(); 58 } 59 ?> 60 61 カートの中身<br> 62 <br> 63 <form method="post" action="kazu_change.php"> 64 <?php for($i=0;$i<$max;$i++):?> 65 <?php print $pro_name[$i];?> 66 <?php print $pro_gazou[$i];?> 67 <?php print $pro_price[$i];?> 円 68 <input type="text" name="kazu<?php print $i;?>" value="<?php print $kazu[$i];?>"> 69 <br> 70 <?php endfor;?> 71 <input type="hidden" name="max" value="<?php print $max;?>"> 72 <input type="submit" value="数量変更"><br> 73 <input type="button" onclick="history.back()" value="戻る"> 74 </form> 75</body> 76</html>
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー