0

学校のプロジェクト用にウェブショップを立ち上げようとしていますが、注文セクションで問題が発生しています。少なくとも私の知る限り、すべての変数を定義しましたが、それでも「未確認のインデックス」と表示されます。

HTML コードのフォーム部分は次のとおりです (名前はデンマーク語です。無視してください)。

    <div id="bestillingform">
    <table align="center" border="0">
        <form name="bestilling" action="insert.php" method="post">
            <tr id="headline">
                <th colspan="2" align="center"><p>Bestilling</p></th>
            </tr>
            <tr>
                <td>Fornavn: </td>
                <td><input type="text" name="fornavn" ><br/></td>
            </tr>
            <tr>
                <td>Efternavn: </td>
                <td><input type="text" name="efternavn" ><br/></td>
            </tr>
            <tr>
                <td>Land: </td>
                <td><input type="text" name="land" ><br/></td>      
            </tr>
            <tr>
                <td>By: </td>
                <td><input type="text" name="by" ><br/></td>        
            </tr>
            <tr>
                <td>Pickup sted: </td>
                <td><input type="text" name="pickup" ><br/></td>        
            </tr>
            <tr>
                <td>Antal personer: </td>
                <td><input type="text" name="antal" ><br/></td>     
            </tr>   
            <tr>
                <td>Pakke: </td>
                <td><input type="text" name="pakke" ><br/></td>     
            </tr>
            <tr>
                <td>Kodeord: </td>
                <td><input type="password" name="kodeord" ><br/></td>       
            </tr>       
            <tr>
                <td colspan="2" align="center"><input type="submit" name="submit" value="Bestil" ><br/></td>
            </tr>
        </form>
    </table>
</div>

ここに私のphpコードがあります:

    $host="localhost"; 
    $user="root"; 
    $password=""; 
    $database="webshop"; 
    $table="bestilling"; 

    $fnavn = $_POST['fornavn'];
    $enavn = $_POST['efternavn'];
    $land = $_POST['land'];
    $by = $_POST['by'];
    $pickup = $_POST['pickup'];
    $antal = $_POST['antal'];
    $pakke = $_POST['pakke']; 
    $kodeord = $_POST['kodeord'];

    // Forbindelse til server
    mysql_connect($host, $user, $password)or die("Kan ikke forbinde til server");
    mysql_select_db($database)or die("Kan ikke forbinde til databasen");

    $bestil = "INSERT INTO $table(Fornavn, Efternavn, Land, By, Pickup, Antal, Pakke, Kodeord)VALUES('$fnavn', '$navn', '$land', '$by', '$pickup', '$antal', '$pakke', '$kodeord')";

    $result = mysql_query($bestil);

    if ($result){
        echo("<br>Din bestilling er blevet oprettet");
    }else{
        echo(mysql_error());
    } 

    mysql_close();
    ?>

また、データをテーブルに手動で投稿して、それらを取得できるかどうかを確認し、データベースに接続しているかどうかを確認しようとしましたが、問題はありませんでした。ここで終わります。

4

3 に答える 3

0

SQLクエリで使用$navnしますが、変数は実際にはと呼ばれ$enavnます。

$bestil = "INSERT INTO $table(Fornavn, Efternavn, Land, By, Pickup, Antal, Pakke, Kodeord)VALUES('$fnavn', '$enavn', '$land', '$by', '$pickup', '$antal', '$pakke', '$kodeord')";

これらのいずれかを変更します。

于 2012-12-12T18:14:38.367 に答える
0

キーワード「by」はmySQLの予約済みキーワードであり、INSERTステートメントで記述されたフィールドの1つです。あなたはそれを`by`で放棄しなければなりません。

于 2012-12-12T20:04:24.523 に答える
-1

次のように、入力タグでid使用することをお勧めします

<input type="text" name="fornavn" id="fornavn" />

次に、$_POST['fornavn'']で値を取得します。

于 2012-12-12T18:51:31.553 に答える