質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.58%

ポストに関するPHPのエラー

解決済

回答 2

投稿

  • 評価
  • クリップ 1
  • VIEW 474

ホームページで、データベースに登録した情報を表にして出力するということがしたいのですが、どうしてもエラーが治りません。

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <?php
      $pdo = new PDO("pgsql:dbname=rikuta;host=localhost","rikuta","LLkoO89K");
      $st = $pdo->prepare("INSERT INTO aevent VALUES(?,?,?,?,?,?)");
      $st->execute(array($_POST['name'], $_POST['day'], $_post['place'], $_post['station'], $_POST['price'], $_POST['comment']));
     ?>
     イベントを追加しました<br>
     <a href="http://gms.gdl.jp/~rikuta/aevent/aevent_list.php">リストに戻る</a><br>
     <a href="http://gms.gdl.jp/~rikuta/aevent/aevent_insert.html">イベントを追加</a>
  </body>
</html>


テラタームで、調べると、こんな感じのエラーが表示されます。

[rikuta@gms aevent]$ php aevent_insert.php
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    PHP Notice:  Undefined index: name in /home/h0/rikuta/public_html/aevent/aevent_insert.php on line 11
PHP Notice:  Undefined index: day in /home/h0/rikuta/public_html/aevent/aevent_insert.php on line 11
PHP Notice:  Undefined variable: _post in /home/h0/rikuta/public_html/aevent/aevent_insert.php on line 11
PHP Notice:  Undefined variable: _post in /home/h0/rikuta/public_html/aevent/aevent_insert.php on line 11
PHP Notice:  Undefined index: price in /home/h0/rikuta/public_html/aevent/aevent_insert.php on line 11
PHP Notice:  Undefined index: comment in /home/h0/rikuta/public_html/aevent/aevent_insert.php on line 11
     イベントを追加しました<br>
     <a href="http://gms.gdl.jp/~rikuta/aevent/aevent_list.php">リストに戻る</a><br>
     <a href="http://gms.gdl.jp/~rikuta/aevent/aevent_insert.html">イベントを追加</a>
  </body>
</html>
<!DOCTYPE html>
<html lang="ja" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <form class="" action="aevent_insert.php" method="post">
      名前<br>
      <input type="text" name="name" value="~フェス"><br>
      日にち<br>
      <input type="text" name="day" value="2018-1-1"><br>
      場所<br>
      <input type="text" name="place" value="武道館"><br>
      最寄り駅<br>
      <input type="text" name="station" value="九段下駅"><br>
      費用<br>
      <input type="text" name="price" value="1000"><br>
      コメント<br>
      <input type="text" name="comment" value="楽しいイベントです!"><br>
      <input type="submit" name="" value="公開"><br>
    </form>
    <a href="http://gms.gdl.jp/~rikuta/aevent/aevent_list.php">リストに戻る</a><br>
    <a href="http://gms.gdl.jp/~rikuta/aevent/aevent_insert.html">イベントを追加</a>
  </body>
</html>
<!DOCTYPE html>
<html lang="ja" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <table border="1">
      <tr>
        <th>イベント名</th><th>日にち</th><th>場所</th><th>最寄り駅</th><th>費用</th><th>コメント</th>
      </tr>
      <?php
      $pdo = new PDO("pgsql:dbname=rikuta;host=localhost","rikuta","LLkoO89K");
      $st = $pdo->query("SELECT * FROM aevent");
      while ($row = $st->fetch()) {
        $name = htmlspecialchars($row['name']);
        $day = htmlspecialchars($row['day']);
        $place = htmlspecialchars($row['place']);
        $station = htmlspecialchars($row['station']);
        $price = htmlspecialchars($row['price']);
        $comment = htmlspecialchars($row['comment']);
        echo "<tr><td>$name</td><td>$day 日</td><td>$place</td><td>$station</td><td>$price</td><td>$comment</td></tr>";
      }
       ?>
    </table>
    <a href="http://gms.gdl.jp/~rikuta/aevent/aevent_list.php">リストに戻る</a><br>
    <a href="http://gms.gdl.jp/~rikuta/aevent/aevent_insert.html">イベントを追加</a>
  </body>
</html>


URLはhttp://gms.gdl.jp/~rikuta/aevent/aevent_list.phpです。

もしわかる方いらっしゃったら宜しくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+3

PHP Notice:  Undefined index 〇〇 のエラーについて、
aevent_insert.html内の 公開ボタンでsubmitせずに、テラタームで直接aevent_insert.phpにアクセスしていませんか?
エラーの内容は、
aevent_insert.phpの11行目で、配列に〇〇のindexは定義されていません。という意味合いです。
ここでいう配列は$_POSTです。
テラタームで直接アクセスした場合は、$_POSTには何も定義されていませんのでエラーが出ています。

さて、この11行目で取り出したい配列は
$_POST['name'] $_POST['day'] $_post['place'] $_post['station'] $_POST['price'] $_POST['comment']
ですので、placestationも同じエラーとなるはずですが、間違えて$_postと小文字で書いてしまっていますので、Undefined variable(変数が未定義)のエラーになっています。
phpの変数は大文字小文字を区別しますので、ここは$_POST['place']  $_POST['station'] に直しましょう。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/11/24 23:53

    To: collingさん
    Windowsなので Meiryo です。

    キャンセル

  • 2018/11/24 23:57

    そうなんですね。ちょっとwindowsから引っ張ってきて入れてみますw

    キャンセル

  • 2018/11/25 01:09

    ありがたいです。早速、試してみます!!
    夜勤のバイト中なので、すこしお時間みていただきたいです。
    皆さまありがとうございます。

    キャンセル

0

解決できました!!迅速な対応と、皆様の温かい丁寧な回答のおかげです。
本当にお世話になりました!!!

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.58%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る