下記のソースは、データベース上のデータを削除するプログラムです。
pro_delete.phpからpro_delete_done.phpへ削除に必要なデータが入っている三つの変数を送っています。
$pro_codeがデータの通し番号、$pro_gazou_nameは画像のアドレス(xxx.png),$pro_nameは、データの名称です。
ここで疑問なのですが、指定通り三つの変数をpro_delete_done.phpで受け取ったのですが、
$pro_code、pro_nameは展開されるにも関わらず、$pro_gazou_nameだけがうまく受け取れていないのです。
pro_delete.phpでは画像がちゃんと表示されているので、pro_delete_done.phpでデータが受信できていないのだと思うのですが、
その原因は全く分かりません。
どうかお力添えください。
@pro_delete.php
php
1<?php 2try { 3require_once "../lib/dbaccess.php"; 4$pro_code = $_GET["procode"]; 5 6$dbh = dbaccess(); 7$sql = "select name,gazou from mst_product where code=?"; 8$stmt = $dbh->prepare($sql); 9$data[] = $pro_code; 10$stmt->execute($data); 11 12$dbh = null; 13 14$rec = $stmt->fetch(PDO::FETCH_ASSOC); 15$pro_name = $rec["name"]; 16$pro_gazou_name = $rec["gazou"]; 17 18if($pro_gazou_name == "") { 19 $disp_gazou = ""; 20} else { 21 $disp_gazou ="<p><img src='./gazou/".$pro_gazou_name."'></p>"; 22} 23 24} catch(Exception $e) { 25 echo <<<EOF 26 ただいま障害が発生しています。 27EOF; 28exit(); 29} 30?> 31 32 <h1>選択した商品</h1> 33 <p>名:<?php print $pro_name; ?></p> 34 <p>番号:<?php print $pro_code; ?></p> 35 <?php print $disp_gazou;?> 36 <hr> 37 <form action="./pro_delete_done.php" method="post"> 38 <input type="hidden" name="code" value="<?php print $pro_code; ?>"> 39 40 <input type="hidden" name="gazou_name" value"<?php print $pro_gazou_name; ?>"> 41 <p><input type="button" onClick="history.back()" value="戻る"><input type="submit" value="送信"></p> 42 </form>
@pro_delete_done.php
php
1<?php 2try { 3require_once "../lib/dbaccess.php"; 4 5$pro_code = $_POST["code"]; 6$pro_gazou_name = $_POST["gazou_name"];// 7 8$dbh = dbaccess(); 9 10$sql = "delete from mst_product where code=?"; 11$stmt = $dbh->prepare($sql); 12$data[] = $pro_code; 13$stmt->execute($data); 14 15$dbh = null; 16 17if($pro_gazou_name != "") { 18 unlink("./gazou/".$pro_gazou_name);//消えない 19} 20print "<p>削除しました。</p>"; 21 22} catch(Exception $e) { 23 echo <<<EOF 24 ただいま障害が発生しています。 25EOF; 26exit(); 27} 28?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。