前提・実現したいこと
staff_listで値が選択されていない場合staff_edit.phpへ遷移せずに
staff_ng.phpへ遷移するようにしたいのですが
選択されていなくてもstaff_edit.phpへ遷移してしまいます。
該当のソースコード
<?php try{ $dsn = 'mysql:dbname=shop;host=localhost'; $user = '***'; $password = ''; $dbh = new PDO($dsn,$user,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh -> query('SET NAMES utf8'); //スタッフの名前全部ちょうだいというSQL $sql = 'SELECT code,name FROM mst_staff WHERE 1';//WHERE 1 全部という意味 $stmt = $dbh->prepare($sql); $stmt -> execute(); $dbh = null; print 'スタッフ一覧<br>'; print'<form method ="post" action="staff_branch.php">'; while(true){ $rec = $stmt->fetch(PDO::FETCH_ASSOC); if($rec==false){ break; } print'<input type="radio" name="staffcode" value="'.$rec['code'].'">'; print $rec['name']; print '<br>'; } print'<input type="submit" name="edit" value="修正">'; //print'<input type="submit" name="delete" value="削除">'; print'<input type="submit" name="delete" value="削除">'; print'</form>'; } catch (Exception $e){ print 'ただいま障害により大変ご迷惑をおかけしました。'; exit(); } ?>
<?php if(isset($_POST['edit'])==true) { if(isset($_POST['staffcode'])==false){ header('Location:staff_ng.php'); } $staff_code=$_POST['staffcode']; header('Location:staff_edit.php?staffcode='.$staff_code); } if(isset($_POST['delete'])==true) { if(isset($_POST['staffcode'])==false){ header('Location:staff_ng.php'); } $staff_code=$_POST['staffcode']; header('Location:staff_delete.php?staffcode='.$staff_code); } ?>
試したこと
if(empty)やis_nullを試してみましたが変わりませんでした。
まったく別の問題なのでしょうか。。。
回答1件
あなたの回答
tips
プレビュー