我有一个表单,我用PHP发布数据。 发送数据时,我想显示新值。 在文本字段上执行此操作很简单,但如何在radiobox上设置新值。 我的默认值是男性。
PHP
if (isset($_POST['Submit'])) {
update_user($_POST['name'], $_POST['sex']); // the update method
}
HTML
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label for="name">Name:</label>
<input type="text" name="name" size="30" value="<?php echo (isset($_POST['name'])) ? $_POST['name'] : ""; ?>">
<br /><br />
<label for="sex">Sex:</label>
<input type="radio" checked="checked" name="sex" value="<?php echo (isset($_POST['sex'])) ? $_POST['sex'] : "M"; ?>" /> Male
<input type="radio" name="sex" value="<?php echo (isset($_POST['sex'])) ? $_POST['sex'] : "F"; ?>" /> Female
</form>
答案 0 :(得分:2)
<input type="radio" <?php if ($_POST['sex'] == "M") print "checked=\"checked\"";?> name="sex" value="M" /> Male
<input type="radio" <?php if ($_POST['sex'] == "F") print "checked=\"checked\"";?> name="sex" value="F" /> Female
答案 1 :(得分:1)
嗯,你知道性别无线电台的价值...... M和F.你想知道哪一个需要检查。这将默认将被检查为男性,就像您目前拥有它一样。
<input type="radio" <?php echo (!isset($_POST['sex']) || $_POST['sex'] == "M") ? 'checked="checked"': ''; ?> name="sex" value="M" /> Male
<input type="radio" <?php echo (isset($_POST['sex']) && $_POST['sex'] == "F") ? 'checked="checked"': ''; ?> name="sex" value="F" /> Female
答案 2 :(得分:0)
请尝试以下方法:
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label for="name">Name:</label>
<input type="text" name="name" size="30" value="<?php echo (isset($_POST['name'])) ? $_POST['name'] : ""; ?>">
<br /><br />
<label for="email">Sex:</label>
<input type="radio" name="sex"<?php echo (@$_POST['sex'] == "M") ? 'checked="checked"' : "";?> value="M" /> Male
<input type="radio" name="sex" <?php echo (@$_POST['sex'] == "F") ? 'checked="checked"' : "";?> value="F" /> Female
</form>
使用@
字符表示您不需要使用isset
,如果变量不在$_POST
数组中,它将禁止警告/错误。
答案 3 :(得分:-2)
尝试使用print_r($ _POST);退出;查看变量POST中发送的值。