[英]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.