簡體   English   中英

php表單處理有問題

[英]Trouble with php form handling

我正在嘗試創建一個共享的雜貨清單webapp作為學習HTML和PHP的方法。 我正在嘗試按照這些說明創建我的項目添加表單。

我試圖讓我的頁面在表單下顯示提交的數據作為概念證明,但不會顯示任何內容。 這是我的代碼,保存在\\ XAMPP \\ htdocs \\中:

<html>
<head>
    <title>Grocery List</title>
</head>
<body>

<?php
$category = $item = "";
?>

    <form id='additem' method='post'>
    <fieldset>
        <legend>Add Item</legend>
        <table>
        <tr>
            <td><label for='Category'>Category: </label></td>
            <td><input type='text' name='Category' list='categories' value='<?php echo $category;?>' /></td>
                <datalist id='categories'>
                    <option value='Protein'>
                    <option value='Produce'>
                    <option value='Baked Goods'>
                    <option value='Dry/Canned'>
                    <option value='Household'>
                </datalist>
        </tr><tr>
            <td><label for='item'>Name: </label></td>
            <td><input type='text' name='item' value='<?php echo $item;?>' /></td>
        </tr><tr>
            <td></td><td><input type='Submit' value='Submit' /></td>
        </tr>
        </table>
    </fieldset>
    </form>

    <?php
    echo "Your Input:";
    echo $category;
    echo $item;
    ?>

但是當我在瀏覽器中打開該頁面並輸入一些信息時,我得到的是“你的輸入:”,然后是空白區域,我的信息應該輸出。

誰能看到我錯在哪里?

這是因為您實際上並沒有處理提交的$_POST變量。

更改您的代碼如下:

<?php
    // Load the posted values into their respective variables
    $category = $_POST['Category'];
    $item = $_POST['item'];
    echo "Your Input:";
    echo $category;
    echo $item;
?>

編輯
由於您已更新了問題,我正在更新您應該在哪里進行這些更改。

現在,您已在頁面頂部聲明了變量(這很好)。 但是你現在應該從post變量中獲取它們,並包括某種檢查以查看它是否被發布(以避免警告/通知):

在文件的頂部:

<?php
    $category = '';
    $item = '';
    // Check if the form is posted...
    if (isset($_POST['item'])) {
        // Load the posted values into the variables
        $category = $_POST['Category'];
        $item = $_POST['item'];
        // .. do the same for any other form values 
    }
?>

您可能會找到代碼示例或使用extract($_POST)建議,但我強烈建議您不要使用extract()

您的選項標簽格式不正確。

<option value='Protein'>Protein</option>
<option value='Produce'>Produce</option>
<option value='Baked Goods'>Baked Goods</option>
<option value='Dry/Canned'>Dry/Canned</option>
<option value='Household'>Household</option>

在這種情況下, <option></option>標簽之間的內容將顯示在屏幕上, value=stuff將保存為“Categories”的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM