HTTP ERROR 500の問題解決方法とは?

このQ&Aのポイント
  • HTTP ERROR 500が発生し、復旧が困難な状況に陥っていませんか?この記事では、HTTP ERROR 500の問題解決方法をご紹介します。
  • HTMLページでの動作に問題があり、localhostでは現在リクエストを処理できないエラーが表示されている場合、原因は様々な要素によって引き起こされる可能性があります。
  • この記事では、エラーの原因を特定するための手順や具体的な対処方法、そしてphp.iniの使い方についても解説しています。問題解決に役立つ情報を提供しているので、ぜひ参考にしてください。
回答を見る
  • ベストアンサー

HTTP ERROR 500復旧困難!!!

いつも大変お世話になり誠にありがとうございます。 標記の件。 難しい用語を検索してやっておりましたが、次から次へと解らない用語が出てきて質問させて頂きます。 「このページは動作していませんlocalhost では現在このリクエストを処理できません。 HTTP ERROR 500」 下記のコードをリンク表示できません。          記 <?php require_once ('blog.php'); $blog = new Blog(); $blogData = $blog->getAll(); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ブログ一覧</title> </head> <body> <h2>ブログ一覧</h2> <p><a href="/form.html">新規作成</a></p> <table> <tr> <th>No</th> <th>タイトル</th> <th>カテゴリー</th> <tr> <?php foreach ($blogData as $column): ?> <tr> <td><?php echo $column['id'] ?></td> <td><?php echo $column['title'] ?></td> <td><?php echo $blog->setCategoryName($column['category']) ?></td> <td><a href="/detail.php?id=<?php echo $column['id'] ?>">詳細</a></td> </tr> <?php endforeach; ?> </body> </html> どこに問題があるのでしょうか??? 解りやすい問題解決方法はないでしょうか??? リンク元はindex.htmlです。 php.iniの使い方も解らなかったです。 これだけでは情報不足だと思いますが 何卒、アドバイスのほど、宜しくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.1

HTTPレスポンスコードの 500 はサーバ内の処理でエラーになって処理を完了できなかった場合に出るエラーです。 書かれているファイルの内容にはエラーは無さそうなので require_once で読み込んでいる blog.php にエラーが有るのではないでしょうか。 Webサーバのエラーログに詳細が書き出されているはずですので、まずはログを確認しましょう。 デバッグをする際はまずログを確認するのが基本ですよ。

kouzou250
質問者

お礼

ご回答誠にありがとうございます。 やってみます。

kouzou250
質問者

補足

エラーログはアプリは何で開くのでしょうか? すみません。 教えてください。

その他の回答 (4)

回答No.5

論外なほど常識で、 /var/log/でHTTPDのログはhttpdまたはapache2でしょう。 基本は、デーモン名を探す癖をつけることです。 crondなら、cron...で始まるファイルを調べる前に見ようとする癖をつけるところからです。 今教わって、これを見ればいいのね?=これじゃダメ! 同じ問題が出るとまた聞くだけになります。 「探し方」のみを覚えて「探した結果は、忘れてください」 記憶力は無限じゃないので! なお、 tail -f 対象ファイル で追加されるごとに自動的に表示もできます。 これは、xamppでも、linuxでも同じです。 最低限linuxを使うのであれば、使い方は覚えてください。

kouzou250
質問者

お礼

ご親切にありがとうございます。 そりゃそうですね。 apache2がディレクトリーだったので、 勘違いしました。

回答No.4

>エラーログの見方を教えてくださいませんでしょうか? これも前に教えてるんですけどね~

kouzou250
質問者

お礼

opensuseはxampp抜きでやっております。 # ls /var/log acpid boot.omsg lastlog NetworkManager tuned zypp alternatives.log btmp mail pbl.log updateTestcase-2022-07-04-09-13-03 zypper.log apache2 chrony mail.err pk_backend_zypp warn apparmor cups mail.info private wtmp audit firewall mail.warn samba Xorg.0.log boot.log firewalld messages snapper.log Xorg.0.log.old boot.msg krb5 mysql tallylog YaST2 localhost:/home/kou # cat /var/log/snapper.log すみません。 この中のどれが該当のファイルだと判るのですか??? 教えてください。 宜しくお願い申し上げます。

kouzou250
質問者

補足

このページは動作していませんlocalhost では現在このリクエストを処理できません。 HTTP ERROR 500 上記のエラーを発生させて、ログを見ようとしてますが、 どこにも反映されていません。 どう見ればいいのでしょうか??? 度々申し訳ありません。 教えてください。 宜しくお願い申し上げます。

  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.3

> エラーログはアプリは何で開くのでしょうか? Webサーバのログは一般的にテキストファイルです。 なのでテキストエディターで開けますし、Linuxを使っているなら cat コマンドのようなファイル表示機能を使えば簡単に見られますし、tail コマンドを使ってログを流しながらサイトにアクセスすればリアルタイムでエラーが出るところを見ることだって出来ます。

kouzou250
質問者

お礼

# ls /var/log acpid boot.omsg lastlog NetworkManager tuned zypp alternatives.log btmp mail pbl.log updateTestcase-2022-07-04-09-13-03 zypper.log apache2 chrony mail.err pk_backend_zypp warn apparmor cups mail.info private wtmp audit firewall mail.warn samba Xorg.0.log boot.log firewalld messages snapper.log Xorg.0.log.old boot.msg krb5 mysql tallylog YaST2 localhost:/home/kou # cat /var/log/snapper.log すみません。 この中のどれが該当のファイルだと判るのですか??? 教えてください。 宜しくお願い申し上げます。

kouzou250
質問者

補足

このページは動作していませんlocalhost では現在このリクエストを処理できません。 HTTP ERROR 500 上記のエラーを発生させて、ログを見ようとしてますが、 どこにも反映されていません。 どう見ればいいのでしょうか??? 度々申し訳ありません。 教えてください。 宜しくお願い申し上げます。

回答No.2

ログみましょうよ!って何回も言ったと思いますけど。 また、テストする時は最小限のソース単位で行う。 無駄なコードはすべて削除して、動いてからコーディングに入るなど 基本的な、流れを無視してるのが原因ですので、 まずは、エラーログを見て何が問題かを 質問者さんが把握してそれを書いてください。 その上で解決法となる回答が出る物です。

kouzou250
質問者

お礼

すみません。 エラーログの見方を教えてくださいませんでしょうか? 何から何まで申し訳ありません。

関連するQ&A

  • $blogData変数が変???

    いつも大変お世話になり誠にありがとうございます。 標記の件。 ファイルが多すぎて、分からなくなってしまいました。 他の箇所に問題があるのではないかと思っております。 5行目にエラーが出ております。 エラーメッセージは Fatal error: Uncaught Error: Call to undefined method Blog::getAll() in C:\xampp\htdocs\index.php:5 Stack trace: #0 {main} thrown in C:\xampp\htdocs\index.php on line 5 です。 分かりづらいと思いますが、 アドバイスを宜しくお願い申し上げます。 本当に度々申し訳ございません。         記 <?php require_once('blog.php'); $blog = new Blog(); $blogData = $blog->getAll(); function h($s) { return htmlspecialchars($s, ENT_QUOTES, "UTF-8"); } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ブログ一覧</title> </head> <body> <h2>ブログ一覧</h2> <p><a href = "/form.html">新規作成</a></p> <table> <tr> <th>タイトル</th> <th>カテゴリー</th> <th>投稿日時</th> </tr> <?php foreach($blogData as $column): ?> <tr> <td><?php echo h($column['title'])?></td> <td><?php echo h($blog->setCategoryName($column['category']))?></td> <td><?php echo h($column['post_at'])?></td> <td><a href = "/detail.php?id=<?php echo $column['id'] ?>">詳細</a></td> <td><a href = "/update_form.php?id=<?php echo $column['id'] ?>">編集</a></td> <td><a href = "/blog_delete.php?id=<?php echo $column['id'] ?>">削除</a></td> </tr> <?php endforeach; ?> </table> </body> </html>

    • ベストアンサー
    • PHP
  • 突如!接続エラー!?php

    いつもお世話になりありがとうございます。 標記の件。 下記のエラーがlocalhost/index.php/で出ました。 接続失敗SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for $host failed: ���̂悤�ȃz�X�g�͕s���ł��B 大変恐縮ではございますが、下記のコードを吟味して頂けないでしょうか? 度々申し訳ございません。 宜しくお願い申し上げます。      記 index.php <?php require_once ('blog.php'); $blog = new Blog(); $blogData = $blog->getAll(); function h($s){ return htmlspecialchars($s, ENT_QUOTES,"UTF-8"); } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ブログ一覧</title> </head> <body> <h2>ブログ一覧</h2> <p><a href="/form.html">新規作成</a></p> <table> <tr> <th>タイトル</th> <th>カテゴリー</th> <th>投稿日時</th> <tr> <?php foreach ($blogData as $column): ?> <tr> <td><?php echo h($column['title']) ?></td> <td><?php echo h($blog->setCategoryName($column['category'])) ?></td> <td><?php echo h($column['post_at']) ?></td> <td><a href="/detail.php?id=<?php echo $column['id'] ?>">詳細</a></td> <td><a href="/update_form.php?id=<?php echo $column['id'] ?>">編集</a></td> <td><a href="/blog_delete.php?id=<?php echo $column['id'] ?>">削除</a></td> </tr> <?php endforeach; ?> </body> </html> env.php <?php define('DB_HOST','localhost'); define('DB_NAME','blog_app'); define('DB_USER','blog_user'); define('DB_PASS','**********'); ?> dbc.php <?php require_once('env.php'); class Dbc { protected $table_name; protected function dbConnect() { $host = DB_HOST; $dbname = DB_NAME; $user = DB_USER; $pass = DB_PASS; $dsn = 'mysql:host=$host;dbname=$dbname;blog_app;charset=utf8'; try { $dbh = new \PDO($dsn, $user, $pass, [ \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, ]); } catch (PDOException $e) { echo '接続失敗' . $e->getMessage(); exit(); }; return $dbh; } public function getAll() { $dbh = $this->dbConnect(); //①SQLの準備 $sql = "SELECT * FROM $this->table_name"; //②SQLの実行 $stmt = $dbh->query($sql); //③SQLの結果を受け取る $result = $stmt->fetchall(\PDO::FETCH_ASSOC); return $result; $dbh = null; } public function setCategoryName($category) { if ($category == '1') { return '日常'; } elseif ($category == '2') { return '非日常'; } else { return 'その他'; } } public function getById($id) { if (empty($id)) { exit('idが不正です。'); } $dbh = $this->dbConnect(); $sql = "SELECT * FROM $this->table_name"; $stmt = $dbh->prepare("SELECT * FROM $this->table_name Where id = :id"); $stmt->bindValue(':id', (int)$id, \PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetch(\PDO::FETCH_ASSOC); if (!$result) { exit('本文がありません。'); } return $result; } public function delete($id) { if (empty($id)) { exit('idが不正です。'); } $dbh = $this->dbConnect(); $stmt = $dbh->prepare("DELETE FROM $this->table_name Where id = :id"); $stmt->bindValue(':id', (int)$id, \PDO::PARAM_INT); $stmt->execute(); echo 'ブログを削除しました!'; return $result; } } ?> <p><a href="/">戻る</a></p> 大変、お手数をおかけします。 どうか教えてください。 宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • php html 混在 htmlに異常なエラー??

    いつも大変お世話になり誠にありがとうございます。 標記の件。 PhpStormにphpとhtmlを混在させると、htmlにエラー警告が イッパイ出ます。異常です。 添付の通り、正規にやっているのにhtmlにエラー警告が イッパイ出ます。 実際にはエラーじゃないのに、実行するとエラーになりました。 おかしいです。 これを回避するにはどうしたらよいでしょうか? 度々申し訳ございません。 教えてください。 宜しくお願い申し上げます。      記 <?php $dsn = 'mysql:host=localhost;dbname=blog_app;charset=utf8'; $user = 'blog_user'; $pass = 'rhythm0!KT'; try { $dbh = new PDO($dsn, $user, $pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]); //echo '接続成功'; //①SQLの準備 $sql = "SELECT * FROM blog"; //②SQLの実行 $stmt = $dbh->query($sql); //③SQLの結果を受け取る $result = $stmt->fetchall(PDO::FETCH_ASSOC); var_dump($result); $dbh = null; }catch(PDOException $e) { echo '接続失敗'.$e->getMessage(); exit(); } <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ブログ一覧</title> </head> <body> <h2>ブログ一覧</h2> <table> <tr> <th>タイトル</th> <th>カテゴリー</th> <tr> <?php foreach ($result as $column):?> <tr> <td><?php echo $column['id'] ?></td> <td><?php echo $column['title'] ?></td> <td><?php echo $column['category'] ?></td> <?php endforeach; ?> </tr> </body>

  • php どこが間違っているんでしょうか?

    いつも大変お世話になり誠にありがとうございます。 標記の件。 27行目のfunction getAllBlog() { にParse error: syntax error, unexpected token "function", expecting ";" in C:\xampp\htdocs\dbc.php on line 27 と出ます。 一体、どこが間違っているのでしょうか? ご回答のほど宜しくお願い申し上げます。      記 <?php //関数1つに1つの機能のみ持たせる //データベース接続 //データを取得する //1.データベース接続 //引数:なし //返り値:接続結果を返す function dbConnect() { $dsn = 'mysql:host=localhost;dbname=blog;charset=utf8'; $user ='blog_user'; $pass ='**********'; try { $dbh = new PDO($dsn,$user,$pass,[ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]); } catch (PDOException $e) { echo '接続失敗'; $e->getMessage(); exit(); }; return $dbh // 2.データを取得する //引数:なし //返り値:取得したデータ function getAllBlog() { $dbh = dbConnect(); //⓵SQLの準備 $sql = 'SELECT * FROM blog'; //⓶SQLの実行 $stmt = $dbh->query($sql); //⓷SQLの結果を受け取る $result = $stmt-> fetchall(PDO::FETCH_ASSOC); return $result; $dbh = null; } //取得したデータを表示 $blogData = getAllBlog(); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ブログ一覧</title> </head> <body> <h2>ブログ一覧</h2> <table> <tr> <th>No.</th> <th>お名前</th> <th>カテゴリー</th> </tr> <?php foreach($blogData as $column): ?> <tr> <td><?php echo $column['id']?></td> <td><?php echo $column['name']?></td> <td><?php echo $column['category']?></td> </tr> <?php endforeach; ?> </table> </body> </html>

    • ベストアンサー
    • PHP
  • 表示すると文字化けします

    下記のファイルが表示されると文字化けしてエンコードを修正しないとみれませんなぜでしょうか? 日本語EUCになってしまします。 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> </HEAD> <BODY> <TABLE border="1"> <TBODY> <TR> <TD bgcolor="#ffff00" width="699"><B><FONT size="+2">登録ありがとうございました</FONT></B></TD> </TR> <TR> <TD height="99" width="699"><B>■<A href="http*************************">使いこなすために</A>手順に沿って進んでください</B>→<A href="http**************************">次へ進む</A></TD> </TR> </TBODY> </TABLE> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • PHP + MySQLを使用して詳細画面を開く

    いま下記のソースで一覧画面が表示されます! 氏名をクリックしたら別ウインドウで詳細画面を表示させたいのですがやり方がわかりません 参考までに教えてください <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","password","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html>

    • ベストアンサー
    • MySQL
  • PHPでMySQLにデーターを追加するところで壁に当たってしまいました

    PHPでMySQLにデーターを追加するところで壁に当たってしまいました。 PHP5.3&MYSQL5.1 1.フォームへ入力 2.確認画面 3.MySQLへデーター追加 1.form <html> <head><title></title></head> <body> <form method="post" action="conf.php"> <table> <tr><th>番号</th><td><input type="text" name="id" /></td></tr> <tr><th>タイトル</th><td><input type="text" name="title" /></td></tr> <tr><th>テキスト</th><td><textarea name="cont" cols="40" rows="5" /></textarea></tr> <tr><th>日付け</th><td><input type="text" name="update" size="10" /></td></tr> </table> <input type="submit" value="送信" /><input type="reset" value="リセット" /> </form> </body> </html> 2.確認画面 <html> <head><title></title></head> <body> <table> <tr><th>番号</th><td><?php echo htmlspecialchars($_POST["id"]) ?></td></tr> <tr><th>タイトル</th><td><?php echo htmlspecialchars($_POST["title"]) ?></td></tr> <tr><th>テキスト</th><td><?php echo htmlspecialchars($_POST["cont"]) ?></td></tr> <tr><th>日付け</th><td><?php echo htmlspecialchars($_POST["update"]) ?></td></tr> </table> <form method="post" action="upld.php"> <input type="hidden" name="did" value="<?php echo htmlspecialchars($_POST["id"]) ?>" /> <input type="hidden" name="title" value="<?php echo htmlspecialchars($_POST["title"]) ?>" /> <input type="hidden" name="cont" value="<?php echo htmlspecialchars($_POST["cont"]) ?>" /> <input type="hidden" name="update" value="<?php echo htmlspecialchars($_POST["update"]) ?>" /> <input type="submit" value="登録" /> </form> </body> </html> 3.MySQLへデーター追加 <?php $Con = mysql_connect("localhost","root",""); if ($Con == false) {dir ("MySQLの接続に失敗。");} if (!mysql_select_db("phpdata",$Con)) {dir ("データーベース接続に失敗。");} $sql = "insert into daimoku(id,title,cont,update) values('".$_POST["id"]."','".$_POST["title"]."','".$_POST["cont"]."','".$_POST["update"]."')";//SQL文の作成 $res = mysql_query($sql) or die(mysql_error());//クエリの実行 mysql_close($Con);//切断 ?> <html> <head> <title></title> </head> <body> <p>ご登録ありがとうございました。</p> <a href="01.php">戻る</a> </body> 以上のコードでデーターの追加が出来ません。 どなたか教えていただけないでしょうか?

    • ベストアンサー
    • PHP
  • mysql データ表示

    下記のプログラムは詳細を選択すると選択されたデータをいま1件ずつ表示しているのですが 氏名と住所を編集できるようにテキストボックスにしたいまた選択されたデータを初期値として取りたいです 表示されるのですが入力できません どこにフォームなどの命令を入れればいいですか 全体表示のtop.php <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","admin","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> <th>詳細</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "<td><a href=\"exit.php?id=" . $row['番号'] . "\">詳細</a></td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html> 詳細表示の exit.php <html> <body> <table border='1'> <BR><BR> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr> <?php $id=(isset($_GET["id"]))?((int) $_GET["id"]):0; $con=mysqli_connect("localhost","root","admin","db_test"); $result = mysqli_query($con,"SELECT `番号`,`氏名`,`住所` FROM tbl_test where `番号`={$id}"); while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { print "<tr>"; print "<td>".htmlspecialchars($row["番号"])."</td>"; print "<td>".htmlspecialchars($row["氏名"])."</td>"; print "<td>".htmlspecialchars($row["住所"])."</td>"; print "</tr>"; } ?> </table> <BR><BR> <A HREF="http://localhost/top.php"> <INPUT TYPE = "SUBMIT" VALUE = "一覧へ戻る"></A> </body> </html>

  • よくわかるPHPの教科書のエラー?について

    わからないところがあるので教えて下さい。 (コード) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. w3.org/TR/xhtmll/DTD/xhtmll- transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>PHP入門</title> </head> <body> <?php require('dbconnect.php'); $page = $_REQUEST['page']; if($page =='') { $page =1; } $page = max($page, 1); //最終ページを取得する $sql ='SELECT COUNT(*) AS cnt FROM my_items'; $recordSet = mysqli_query($db, $sql); $table = mysqli_fetch_assoc($recordSet); $maxPage = ceil($table['cnt'] /5); $page = min($page, $maxPage); $start = ($page - 1) * 5; $recordSet = mysqli_query($db, 'SELECT m.name, i.* FROM makers m, my_items i WHERE m.id=i.maker_id ORDER BY id DESC LIMIT ' . $start . ',5'); ?> <p><a href="input.php">新しい商品を登録する。</a></p> <table width="100%"> <tr> <th scope="col">ID</th> <th scope="col">メーカー</th> <th scope="col">商品名</th> <th scope="col">価格</th> <th scope="col">編集・削除</th> </tr> <?php while($table = mysqli_fetch_assoc($recordSet)) { ?> <tr> <td><?php print(htmlspecialchars($table['id'])); ?></td> <td><?php print(htmlspecialchars($table['name'])); ?></td> <td><?php print(htmlspecialchars($table['item_name'])); ?></td> <td><?php print(htmlspecialchars($table['price'])); ?></td> <td><a href="update.php?id=<?php print(htmlspecialchars($table['id'])); ?>">編集</a> <a href="delete.php?id=<?php print(htmlspecialchars($table['id'])); ?>" onclick="return confirm('削除してもよろしいですか?');">削除</a> </td> </tr> <?php } ?> </table> <ul class="paging"> <?php if($page > 1) { ?> <li><a href="index.php?page=<?php print($page - 1); ?>">前のページへ </a></li> <?php } else { ?> <li>前のページへ</li> <?php } ?> <?php if($page < $maxPage) { ?> <li><a href="index.php?page=<?php print($page + 1); ?>">次のページへ </a></li> <?php } else { ?> <li>次のページへ</li> <?php } ?> </ul> </body> </html> 参考書?はよくわかるPHPの教科書5.5対応なのですが、一番初めにこのファイルを開くと Notice: Undefined index: page in C:\xampp\htdocs\shop\index.php on line 14っとエラー?が出ます。 次のページ、前のページを押すとエラー?は消えるのですが、とっても気になります。 なるべくなら、エラーを非表示にせずにプログラム内で問題を解決したいのですが・・・ 初心者なのでどうして良いかわかりません。 出来れば、とってもわかりやすい解決を出来ればお願いしたいです。(馬鹿なので・・・) よろしくお願いします。

    • ベストアンサー
    • PHP
  • nextsiblingの使い方

    javascript 初心者です。 テーブルの値を取り出そうとしています。 2列目にリンクをはらないときは正常に値がとらだせるのですが、リンクを貼ると(<a・・・を追加)うまくいきません、どうしたらいいでしょうか。 function stringSort(k) { for(i=0;i<n;i++) { xval=nodeArray[i].childNodes[k].firstChild.nodeValue; //<- テーブルに<a でリンクを入れないとこれでOK xval=nodeArray[i].childNodes[k].nextsibling.nodeValue; //<- テーブルに<a でリンクを入れると値がとりだせない x[i]=xval; } sort(); show(); } <BODY onLoad="TableSort()"> <TABLE> <THEAD> <TR> <TH width="50">ID</TH> <TH width="150"><input type=button value="△" onClick="downward=true;stringSort(1)">機種<input type=button value="▽" onClick="downward=false;stringSort(1)"></TH> <TH width="100">登録数</TH> </TR> </THEAD> <TBODY id="tbd1"> <TR id="tr0"><TD width="50">&nbsp;</TD><TD width="150"><a href="http://xx.yy.zz/index.htm">iPhone</a></TD><TD width="100">26</TD></TR> <TR id="tr1"><TD width="50">&nbsp;</TD><TD width="150"><a href="http://xx.yy.zz/index.htm">WX331K</a></TD><TD width="100">47</TD></TR> <TR id="tr2"><TD width="50">&nbsp;</TD><TD width="150"><a href="http://xx.yy.zz/index.htm">WX320T</a></TD><TD width="100">34</TD></TR> <TR id="tr3"><TD width="50">&nbsp;</TD><TD width="150"><a href="http://xx.yy.zz/index.htm">WX310K</a></TD><TD width="100">53</TD></TR> <TR id="tr4"><TD width="50">&nbsp;</TD><TD width="150"><a href="http://xx.yy.zz/index.htm">WS018KE</a></TD><TD width="100">61</TD></TR> <TR id="tr5"><TD width="50">&nbsp;</TD><TD width="150"><a href="http://xx.yy.zz/index.htm">WS009KE</a></TD><TD width="100">61</TD></TR> <TR id="tr6"><TD width="50">&nbsp;</TD><TD width="150"><a href="http://xx.yy.zz/index.htm">705NK</a></TD><TD width="100">61</TD></TR> <TR id="tr7"><TD width="50">&nbsp;</TD><TD width="150"><a href="http://xx.yy.zz/index.htm">705N</a></TD><TD width="100">61</TD></TR> </TBODY> </TABLE> </BODY>