这是我的代码,由于某种原因,我是否为输入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";
}
?>
Run Code Online (Sandbox Code Playgroud)
这是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>
Run Code Online (Sandbox Code Playgroud)
如果您的ID值来自<input>浏览器中的字段,则isset($_POST['fieldname'])始终为真.即使输入字段中没有数据,也始终向服务器提交输入字段.
如果要检查字段中是否有内容,请执行以下操作:
if (isset($_POST['id']) && ($_POST['id'] !== '')) {
...
}
Run Code Online (Sandbox Code Playgroud)
那将检查id字段是否存在(应该是),如果它包含的东西不是空字符串 - 所有来自$ _POST/$ _ GET的数据都是一个字符串,即使它是数字数据.