//tips
//php理解
商品削除画面を修正していく。
<body>
<?php
try{
$pro_code=$_GET['procode'];
$dsn='mysql:dbname=shop;host=localhost;charset=utf8';
$user='root';
$password='';
$dbh=new PDO($dsn,$user,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$sql='SELECT name,gazou FROM mst_product WHERE code=?';
$stmt=$dbh->prepare($sql);
$data[]=$pro_code;
$stmt->execute($data);
$rec=$stmt->fetch(PDO::FETCH_ASSOC);
$pro_name=$rec['name'];
$pro_gazou_name=$rec['gazou'];
$dbh=null;
if($pro_gazou_name=''){
$disp_gazou='';
}else{
$disp_gazou='<img src="./gazou/'.$pro_gazou_name.'">';
}
}catch(Exception $e){
print'ただいま障害により大変ご迷惑をおかけしております';
exit();
}
?>
商品削除<br/>
<br/>
商品コード<br/>
<?php print $pro_code;?>
<br/>
商品名</br>
<?php print $pro_name;?>
<br/>
<?php print $disp_gazou;?>
<br/>
この商品を削除してよろしいですか?<br/>
<br/>
<form method ="post" action="pro_delete_done.php">
<input type="hidden" name="code" value="<?php print $pro_code;?>">
<input type="hidden" name="gazou_name" value="<?php print $pro_gazou_name;?>">
<input type="button" onclick="history.back()" value="戻る">
<input type="submit" value="OK">
</form>
</body>
さらに削除画面に画像ファイルの削除機能を追加。
<body>
<?php
try
{
$pro_code=$_POST['code'];
$pro_gazou_name=$_POST['gazou_name'];
$dsn='mysql:dbname=shop;host=localhost;charset=utf8';
$user='root';
$password='';
$dbh=new PDO($dsn,$user,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$sql = 'DELETE FROM mst_product WHERE code=?';
$stmt=$dbh->prepare($sql);
$data[]=$pro_code;
$stmt->execute($data);
$dbh=null;
if($pro_gazou_name!=''){
unlink('./gazou/'.$pro_gazou_name);
}
}
catch(Exception $e)
{
print'ただいま障害によろ大変迷惑をおかけしております。';
exit();
}
?>
削除しました。</br>
<br/>
<a href="pro_list.php">戻る</a>
</body>
ここで一旦実験。
削除はできたが画像の参照がうまく行っていないので要因を探していく。
Myphpの方にはgazou部分にimage名が含まれていることは確認。また、productの画像フォルダの中にも該当の画像は格納されていることも確認できた。
echo 'console.log('.$disp_gazou.’)’;でうまく$disp_gazou='<img src="./gazou/'.$pro_gazou_name.’”>’;が機能していないことが分かった。
$pro_gazou_name==‘’がイコール=になっていたのでこちらを変更したら表示がうまく行った。また<が入っておらずコードが画面に表示されている部分もあったのでこちらも修正。