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

关键字“by”是一个 mySQL 保留关键字,它是您在 INSERT 语句中描述的字段之一。你必须用 `by` 放弃它。

于 2012-12-12T20:04:24.523 回答
0

$navn在 SQL 查询中使用,但该变量实际上称为$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 回答
-1

我会建议你在输入标签中使用id,比如

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

然后您将获得$_POST['fornavn'']中的值。

于 2012-12-12T18:51:31.553 回答