gpt4 book ai didi

PHP 不返回变量

转载 作者:行者123 更新时间:2023-11-30 00:20:29 25 4
gpt4 key购买 nike

我有menu.php:

    <!DOCTYPE html>
<html>
<body>
<ul>
<li>
<div style="width:150px;height:30px;border:1px solid blue;">
<a href="http://localhost/SCW_Files//Form_AddWood.html">Add wood to DataBase</a>
</div>
</li>
<li>
<div>
<a href="http://localhost/SCW_Files//Form_AddBowl.html">Add bowl to DataBase</a>
</div>
</li>
<li>
<div>
<a href="http://localhost/SCW_Files//Form_AddTime.html">Add time to DataBase</a>
</div>
</li>
</ul>

其中调用 Form_AddBowl.html:

    <html>
<body>
<form action="Form_AddBowl.php" method="post"><br /><br />
<div style="color:sienna;margin-left:300px;">
<br />
<div style="color:blue; serif; text-decoration:underline;">
<h1>Add bowl to database</h1>
</div>
<br /><br />
BowlCode: <input type="text" name="code"><br /><br />
SpeciesYear: <input type="text" name="species"><br /><br />
ProduceHeading: <input type="text" name="heading"><br /><br />
BowlDetails: <input type="text" name="details"><br /><br />
BowlPrice: <input type="text" name="price"><br /><br />
<input type="submit">
</div>
</form>

</body>
</html>

在提交时调用 Form_AddBowl.php:

            <?php include("menu.php"); ?>
<?php
$con = mysql_connect("localhost","xxxx","xxxx");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("scw-db", $con);

$sql="INSERT INTO tblsplintersbowlinventory (txtProductBowlCode, txtSpeciesSeq, txtProductHeading, txtProductBowlDetails, curProductBowlPriceAsked)
VALUES
('$_POST[code]', '$_POST[species]','$_POST[heading]', '$_POST[details]', '$_POST[price]')";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "<br>1 record added";

mysql_close($con);
?>
</body>
</html>

在数据库中,字段“txtProductBowlCode”被定义为“唯一”。

菜单工作正常,Form_AddBowl.html 显示新碗的表单。

只要代码字段是唯一的,Form_AddBowl 似乎就可以工作。

如果代码是唯一的,则返回“已添加 1 条记录”,如果不是,则返回:

Error: Duplicate entry 'Maple15-001' for key 'PRIMARY'

问题1:当 Maple15-001 是新代码时,如何显示结果“Maple15-001 记录已添加”?

我尝试过:

echo '<br>';
echo "$code record added";

但这会返回错误:

    Notice: Undefined variable: code in C:\xampp\htdocs\SCW_Files\Form_AddBowl.php on line 20
record added

问题2:这将返回到菜单而不是碗形式 - 我可能想连续输入几个碗,如果代码重复,请将其替换为新的。

编辑:

我做了安德鲁建议的更改,这是代码:

    <?php include("menu.php"); ?>
<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
$con = mysql_connect("localhost","xxxxxx","xxxxx");
if (!$con)
{
echo 'Could not connect to database ' . mysql_error();
} else {
mysql_select_db("scw-db", $con);

$sql="INSERT INTO tblsplintersbowlinventory (txtProductBowlCode, txtSpeciesSeq, txtProductHeading, txtProductBowlDetails, curProductBowlPriceAsked)
VALUES
('$_POST[code]', '$_POST[species]','$_POST[heading]', '$_POST[details]', '$_POST[price]')";
if (!mysql_query($sql,$con))
{
echo '<br>Could not save new bowl ';
echo $_POST['code'];
echo '<br>Error: ' . mysql_error();
} else {
echo '<br>';
echo $_POST['code'];
echo " record added";
}
}
mysql_close($con);
}
?>
<form action="" method="post"><br /><br />
<div style="color:sienna;margin-left:300px;">
<br />
<div style="color:blue; serif; text-decoration:underline;">
<h1>Add bowl to database</h1>
</div>
<br /><br />
BowlCode: <input type="text" name="code"><br /><br />
SpeciesYear: <input type="text" name="species"><br /><br />
ProduceHeading: <input type="text" name="heading"><br /><br />
BowlDetails: <input type="text" name="details"><br /><br />
BowlPrice: <input type="text" name="price"><br /><br />
<input type="submit">
</div>
</form>
</body>
</html>

当我调用脚本时,我看到:

    Could not save new bowl '; echo $_POST['code']; echo '
Error: ' . mysql_error(); } else { echo '
'; echo $_POST['code']; echo " record added"; } } mysql_close($con); } ?>

显示在页面顶部 - 输入任何内容之前...

下面是表格。

当我在字段中输入一个新碗并点击提交时,顶部的文本没有改变,我所做的条目消失了,并且测试碗尚未输入到数据库中,这原始版本确实会发生

最佳答案

对于第一个问题,您需要像这样回显 post 变量:

echo $_POST['code'];

同样在您的 mysql 查询中,您也缺少 post 变量中的引号,修复它的一种方法是:

'`{$_POST['code']}'`

或者:

'".$_POST['code']."'

对于第二个问题,您可以采用addbowl.php代码,并将其包装在“if request method is post”语句中,这样只有当表单为提交,然后将表单的 html 放在其下面,当然不要放在 PHP 标记之间。这样,即使在发帖时,您也可以与表单保持在同一页面上。

关于PHP 不返回变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23284735/

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