gpt4 book ai didi

php - php 表单处理的问题

转载 作者:搜寻专家 更新时间:2023-10-31 20:36:23 25 4
gpt4 key购买 nike

我正在尝试创建一个共享的购物 list Web 应用程序,以此作为学习 HTML 和 PHP 的一种方式。我正在尝试关注 these directions创建我的项目添加表单。

我试图让我的页面在表单下显示提交的数据作为概念证明,但什么也不会显示。这是我的代码,保存在\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) 的代码示例或建议,但我强烈推荐against using extract() .

关于php - php 表单处理的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34005641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com