POST后的PHP表单值

时间:2010-03-11 13:48:35

标签: php forms post

我有一个表单,我用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>

4 个答案:

答案 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中发送的值。