実現したいこと
エラーを解消したい。
前提
会社からの指示で気づけばプロ並みPHP改訂版という書籍を参考にしています。
業務で本書籍を読了する必要があるため、たびたび質問をさせていただくかと思います。
本書記載通りにコードを入力してもエラーばかりが出ます。
お手数お掛けして申し訳ございませんが、ご教授いただけますと幸いです。
発生している問題・エラーメッセージ
Warning: Undefined array key "gazou" in C:\xampp\htdocs\product\pro_edit_check.php on line 15
商品名:スイカ
価格:898円
Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\product\pro_edit_check.php on line 58
上記のように変更します。
該当のソースコード
php
1 2<?php 3 4$pro_code=$_POST['code']; 5$pro_name=$_POST['name']; 6$pro_price=$_POST['price']; 7$pro_gazou_name_old=$_POST['gazou_name_old']; 8$pro_gazou=$_FILES['gazou']; 9 10$pro_code=htmlspecialchars($pro_code,ENT_QUOTES,'UTF-8'); 11$pro_name=htmlspecialchars($pro_name,ENT_QUOTES,'UTF-8'); 12$pro_price=htmlspecialchars($pro_price,ENT_QUOTES,'UTF-8'); 13 14if($pro_name=='') 15{ 16 print'商品名が入力されていません。<br/>'; 17} 18else 19{ 20 print'商品名:'; 21 print$pro_name; 22 print'<br/>'; 23} 24 25if(preg_match('/\A[0-9]+\z/',$pro_price)==0) 26{ 27 print'価格をきちんと入力してください。<br/>'; 28} 29else 30{ 31 print'価格:'; 32 print$pro_price; 33 print'円<br/>'; 34} 35 36if (isset($pro_gazou['size']) && $pro_gazou['size'] > 0) 37 38{ 39 if($pro_gazou['size']>1000000) 40 { 41 print '画像が大き過ぎます'; 42 } 43 else 44 { 45 move_uploaded_file($pro_gazou['tmp_name'],'./gazou/'.$pro_gazou['name']); 46 print '<img src="./gazou/'.$pro_gazou['name'].'">'; 47 print '<br />'; 48 } 49} 50 51if($pro_name=='' || preg_match('/\A[0-9]+\z/',$pro_price)==0 || $pro_gazou['size']>1000000) 52{ 53 print'<form>'; 54 print'<input type="button" onclick="history.back()" value="戻る">'; 55 print'</form>'; 56} 57else 58{ 59 print'上記のように変更します。<br/>'; 60 print'<form method="post" action="pro_edit_done.php">'; 61 print'<input type="hidden" name="code" value="'.$pro_code.'">'; 62 print'<input type="hidden" name="name" value="'.$pro_name.'">'; 63 print'<input type="hidden" name="price" value="'.$pro_price.'">'; 64 print'<br/>'; 65 print'<input type="button" onclick="history.back()" value="戻る">'; 66 print'<input type="submit" value="OK">'; 67 print'</form>'; 68} 69 70?>
試したこと
$pro_gazou が設定されているか確認するためにissetを使用いたしました。

回答2件
あなたの回答
tips
プレビュー