这是我的代码,出于某种原因,我是否为输入id指定了一个值,它似乎提供了一个,因为只运行if语句。此外,当我为id(或不是)提供值时,不会更新或更改任何内容。
<?php
$culture = $_POST["culture"];
if (isset($_POST["id"])) {
$UID = $_POST["id"];
mysql_query("UPDATE culture SET cult_desc='$culture' WHERE cult_id=$UID");
echo $UID . " " . $culture . " If Statement Activated";
}
else {
mysql_query("INSERT INTO culture
VALUES(cult_desc='$culture')");
echo $culture . " Else Statement Activated";
}
?>
这是html代码:
<form action="addculture.php" method="POST">
<span><input type="text" size="3" name="id" />
<input type="text" name="culture" />
<input type="submit" value="add" /></span>
</form>
答案 0 :(得分:5)
如果您的ID值来自浏览器中的<input>
字段,那么isset($_POST['fieldname'])
将始终为真。即使输入字段中没有数据,也始终向服务器提交输入字段。
如果您想检查字段中是否有内容,请执行以下操作:
if (isset($_POST['id']) && ($_POST['id'] !== '')) {
...
}
那将检查id字段是否存在(应该是),如果它包含除空字符串以外的东西 - 所有来自$ _POST / $ _ GET的数据都是一个字符串,即使它是数字数据。
答案 1 :(得分:0)
请尝试使用if语句:
if (isset($_POST["id"]) && trim($_POST["id"]) != "") {
如果您从表单发布数据并且您有id输入,我相信id POST变量将被设置为空。