前提・実現したいこと
簡易的な掲示板を作っているのですが、名前とコメントが未入力の際に別ファイルに遷移させたいのですが、元のページを開いた瞬間にheader関数が動いて、入力画面が表示される前に遷移してしまいます。
該当のソースコード
<!DOCTYPE html> <html> <head lang="ja"> <meta charset="utf-8"> <title>坂本掲示板</title> </head> <body> <h3>坂本掲示板</h3> <form method="post" action="db_keijiban.php"> <input type="text" name="name" placeholder="Name"> <br> <textarea name="come"></textarea> <input type="submit" value="送る"> </form> <?php $sentname=$_POST['name']; $sentcome=$_POST['come']; try{ $dbh= new PDO('mysql:dbname=mydb;host=localhost;charset=utf8','root','root'); }catch(PDOException $e){ echo 'DBerror:'.$e->getMessage(); } if(!empty($sentname) && !empty($sentcome)){ $dbh->query("INSERT INTO keigiban(name,comment,time) VALUES('$sentname','$sentcome',NOW())"); }else{ header("location:erro.php"); } ?> <span> <?php $stmt=$dbh->query("SELECT * FROM keigiban"); while ($row = $stmt->fetch()) { if(empty($row)){ echo "さあ始めましょう"; }else{ printf("%s ; %s ; %s ; %s<br />\n", $row['id'], $row['name'], $row['comment'], $row['time']); } }; ?> </span> <div> <p>消したい番号とパスワードを入力してください</p> <form action="db_keijiban.php" method="post"> <input type="text" name="delpass" placeholder="パスワード"> <input type="text" name="del_id" placeholder="番号"> <input type="submit" value="パスワード入力"> </form> </div> <div> <span> <?php $del_id=$_POST['del_id']; $delpass='ryosuke0513'; if($delpass==$_POST['delpass']){ $sql="DELETE FROM keijiban WHERE id={$del_id}"; }else{ echo "パスワードが違います"; } ?> </span> </div> </body> </html>
補足情報(FW/ツールのバージョンなど)
php 7.3.8
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。