1

PHPを使用してMySQLに接続し、いくつかのデータを表示しようとしています。私はこれに完全に不慣れです。私は主にw3schoolsと、Googleで見つけた他のいくつかのサイトからこのテーマについて読みました。しかし、私は最初に2つの問題を抱えています。PHPコードはその後から始まります

$result = mysql_query("SELECT * FROM Passengers_On_Flight");

プレーンテキストとして表示されています。

if(isset($_POST['submit']))もう1つの問題は、フォームが送信されていない場合でも常に発生するため、何らかの理由でフォームが正しく評価されていないと思われることです。私は、人々が真を評価することは決してないが、常に真を評価するわけではないという問題を抱えている他の質問を見つけました。

サーバーでPHP-vを実行して、php5がインストールされていることを確認しました。これも実行しました:http ://www.gilesorr.com/papers/PHP/x37.html

どちらも、PHPが実際にインストールされて機能していることを示しています。検索しましたが、問題がわからないようです。

PHPを使用したHTMLは次のとおりです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
    <link rel="stylesheet" type="text/css" href="cobraStyle.css">
    <HEAD>
    <TITLE>Cobra</TITLE>
    </HEAD>
    <BODY>
    <div id="container">
        <div id="header">
            <h1>
            Cobra Airlines
            </h1>
        </div>
        <div id="navigation">
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="viewFlights.html">Check Flights</a></li>
                <li><a href="#">Administration</a></li>
                <li><a href="#">Contact us</a></li>
            </ul>
        </div>
        <div id="content">
        <h2>
        Flights heading
        </h2>
        <?php
        if($_POST['submit'])
        {
            $con = mysql_connect("localhost","root","qwerty");
        if (!$con)
        {
            die('Could not connect: ' . mysql_error());
        }
        mysql_select_db("Cobra_Airlines", $con);

        $result = mysql_query("SELECT * FROM Passengers_On_Flight");

        echo "<table border='1'>
            <tr>
            <th>Fligh Number</th>
            <th>Departure Date</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Passenger Number</th>
            </tr>";

        while($row = mysql_fetch_array($result)){
            echo "<tr>";
            echo "<td>" . $row['FlightNum'] . "</td>";
            echo "<td>" . $row['Departure_Date'] . "</td>";
            echo "<td>" . $row['First_Name'] . "</td>";
            echo "<td>" . $row['Last_Name'] . "</td>";
            echo "<td>" . $row['PassengerNum'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";

        mysql_close($con);
    }
?>
<p>
<form name="input" action="viewFlights.html" method="post">
    Flight Number: <input type="text" name="flight">
    <input type="submit" value="submit" name="submit">
</form>
</p>
</div>
<div id="footer">
    Copyright © Cobra Air, 2012
</div>
</div>
</BODY>
</HTML>

更新されたPHPは次のとおりです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<link rel="stylesheet" type="text/css" href="cobraStyle.css">
   <HEAD>
      <TITLE>Cobra</TITLE>
   </HEAD>

   <BODY>

    <div id="container">
        <div id="header">
                <h1>
                    Cobra Airlines
                </h1>
            </div>

        <div id="navigation">
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="viewFlights.html">Check Flights</a></li>
                <li><a href="#">Administration</a></li>
                <li><a href="#">Contact us</a></li>
            </ul>
        </div>

        <div id="content">
            <h2>
                Flights heading
            </h2>

            <?php


                    $con = mysql_connect("localhost","root","qwerty");
                    if (!$con)
                    {
                        die('Could not connect: ' . mysql_error());
                    }
                    mysql_select_db("Cobra_Airlines", $con);

                    $result = mysql_query("SELECT * FROM Passengers_On_Flight");

                    echo 
                    "<table border='1'>
                    <tr>
                        <th>Fligh Number</th>
                        <th>Departure Date</th>
                        <th>First Name</th>
                        <th>Last Name</th>
                        <th>Passenger Number</th>
                    </tr>";

                    while($row = mysql_fetch_array($result))

                        echo "<tr>";
                        echo "<td>" . $row['FlightNum'] . "</td>";
                        echo "<td>" . $row['Departure_Date'] . "</td>";
                        echo "<td>" . $row['First_Name'] . "</td>";
                        echo "<td>" . $row['Last_Name'] . "</td>";
                        echo "<td>" . $row['PassengerNum'] . "</td>";
                        echo "</tr>";

                    endwhile;
                    echo "</table>";

                    mysql_close($con);

            ?>

            <p>
                <form name="input" action="viewFlights.php" method="post">
                    Flight Number: <input type="text" name="flight">
                    <input type="submit" value="submit" name="submit">
                </form>
            </p>

        </div>

        <div id="footer">
            Copyright © Cobra Air, 2012
        </div>
</div>

   </BODY>

</HTML>
4

2 に答える 2

2

問題は、それらが php ではなく html ファイルでありviewFlights.htmlx37.htmlサーバーに .html を指定しない限り PHP として解析しないことです。

ファイル名を and に変更します(フォーム アクションを viewFlights.php に更新します) .phpviewFlights.phpx37.php

Undefined index エラーを回避するには、に変更する必要がif ($_POST['submit'])あります。if (isset($_POST['submit']))

さておき...

あなたがそれに対処したとき、空白が重要ではないのになぜ人々がこれを行うのか、私には決して理解できません.

echo "<tr>";
echo "<td>" . $row['FlightNum'] . "</td>";
echo "<td>" . $row['Departure_Date'] . "</td>";
echo "<td>" . $row['First_Name'] . "</td>";
echo "<td>" . $row['Last_Name'] . "</td>";
echo "<td>" . $row['PassengerNum'] . "</td>";
echo "</tr>";

ただ

echo "<tr>
    <td>" . $row['FlightNum'] . "</td>
    <td>" . $row['Departure_Date'] . "</td>
    <td>" . $row['First_Name'] . "</td>
    <td>" . $row['Last_Name'] . "</td>
    <td>" . $row['PassengerNum'] . "</td>
    </tr>
";

編集

2 番目の問題への回答、while(){} は while():endwhile に変更されましたが、コロンがありません。する必要がある

while($row = mysql_fetch_array($result)):
于 2012-11-30T12:58:45.667 に答える
0

プレーンテキストとはどういう意味ですか? パスワードなどでない限り、レコードをプルしようとしている場合...それで問題ないでしょうか?

submit 値を$_POST入力することで、どこにもプッシュしていません。

$_POST次のようにフライト番号を入力する 必要があります。if($_POST['flight'])

レコードをプルするためのプログラミングのチャンクも欠落しています。

コーディングする前に、プロセスを計画することをお勧めします。

また、mysql接続の構造が貧弱です。外部ディレクトリに永続的な接続を1つ保持してください。閉じる準備ができるまで、リソースの使用量が少なくなります。

(../接続/config.php)

$pcon = mysql_pconnect('','','')

mysql_select_db('', $pcon)

ページを .html ではなく .php 拡張子に変更することを忘れないでください!!

于 2012-11-30T13:16:03.380 に答える