###前提・実現したいこと
PHP・MySQLの練習として掲示板を作っています。
削除機能を付けようと参考書を見ながらやっておりますがうまくいきません。
以下の仕様を考えています。
・投稿時にパスワードを入力
・削除時に投稿時に入力したパスワードを入力し
レス番号とパスワードが一致すれば削除し、一致しなければ削除しない
###発生している問題・エラーメッセージ
レス番号とパスワードの照合が上手くいかず
削除時にどのようなパスワードを入力しても「合致しました」と表示されます。
###該当のソースコード
【delete-out.php】 <?php session_start(); $pdo=new PDO('mysql:host=localhost;dbname=board;charset=utf8','ユーザー','パスワード'); $sql=$pdo->prepare('select * from board1 where nomber=? and pass=?'); $sql->execute([$_SESSION['deletenomber'],$_REQUEST['pass']]); foreach ($sql->fetchAll() as $row) { $_SESSION['res']=[ 'nomber'=>$row['nomber'], 'pass'=>$row['pass']]; } if (isset($_SESSION['res'])) { echo "合致しました。"; } else { echo '合致しませんでした。'; } ?>
【delete-in.php】 <?php $i=$_REQUEST['nomber']; session_start(); unset($_SESSION['deletenomber']); $_SESSION['deletenomber']=$i; echo $_SESSION['deletenomber']; ?> <!doctype html> <html> <head> <meta charset="utf-8"/> <body> <p>投稿時に設定した削除パスワードを入力して下さい</p> <form action="delete-out.php" method="post"> <input type="password" name="pass"> <input type="submit" value="削除"> </form> </body> </head> </html>
$_SESEION['deletenomber']にはレス番号が入っています。
追記:$_SESSION['res']を確認のためにechoで書き出しをしようと思い
echo $_SESSION['res'];をいれましたが
Parse error: syntax error, unexpected 'is' (T_STRING)が出てしまいました。
echoで書き出しはできなのでしょうか。
追記2:delete-in.phpのソースも追加いたしました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/30 16:20
2016/12/30 18:24
2017/01/09 21:10