よくわかるPHPの教科書でリンク先のページが真っ白になる【500 (Internal Server Error)】の解決法
よくわかるPHPの教科書で学習中にリンク先のページが真っ白になるというエラーを解決する方法をサクッとまとめます。
(初学者のエラー解決方の一例です。低レベルですがご了承ください)
今回は「削除機能をつける」の段階でのエラーでしたが全般的に起こりうるエラーだと思います(?)
【エラー詳細】
削除する為のコードを書いて削除ボタンに設定したリンクにアクセスすると、真っ白になりました。
リンク先を見てみると
delete.php=?id=18
となっているので、削除したい投稿にはアクセスできているみたいです。
【解決手順】
なにが起こっているのかわからなかったので、デベロッパーツールにて確認します
この「console」の部分を見てみると...
なにやらエラーが出ています。
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
調べてみると...
webサーバー上のエラー?っていうのが多く出てきましたが...(よくわかrん)
【500 (Internal Server Error)】
というのはかなりザックリしたエラーのようで、原因が色々あって特定が難しいらしい...
さらに調べると、もっと詳細のエラーを画面に出す為のコードがあるみたいで、下記コードをdelete.phpの先頭に記述しました。
ini_set("display_errors", 1);
error_reporting(E_ALL);
これを記載すると
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
session_start();
require('dbconnect.php');
if(isset($_SESSION['id'])){
$id = $_REQUEST['id'];
$messages = $db->prepare('SELECT * FROM posts WHERE id=?');
$messages->execute(array($id));
$message = $messeges->fetch();
if($message['member_id'] == $_SESSION['id']){
$del = $db->prepare('DELETE FROM posts WHERE id=?');
$del->execute(array($id));
}
}
header('Location: index.php');
exit();
?>
こんな感じ。
上書き保存してもう一度、削除リンクにアクセスしてみると...
なにやら画面にエラーが表示されました。(ワクワク)
google翻訳さんに通訳してもらうと、
Fatal error ・・・致命的だそうです。
そして
「delete.phpの14行目がダメだぞ!」
って言われてるみたいです。
そこでdelete.phpの14行目を確認してみると..
messagesの一部が
a → e
になっておりました。(貴様が原因か...!)
以上
スペルを直すと、正常に動作しました。
エラーの8〜9割はスペルミスだな〜と勉強していて感じます。
正確に打つこともそうですが、今回のようにエラー箇所が分かるようになると探す手間も省けるので、使いこなせるようになりたいです。
あと、エラーは間違いを教えてくれる優しい奴なんだな〜と感じました。
おしまい
Author And Source
この問題について(よくわかるPHPの教科書でリンク先のページが真っ白になる【500 (Internal Server Error)】の解決法), 我々は、より多くの情報をここで見つけました https://qiita.com/kei_Q/items/28fadf37dff0532d0e3b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .