我在表格的这一部分遇到了麻烦。我不太确定会出现什么问题,所以我想我会看到这里是否有人可以给我一个提示。
我的代码试图仅使用一个选项来确定用户的性别以及他们的性取向。我很确定这是可能的,但我认为我的语法略有不同。
<select name="gender" title="gender" class="dropdown nextPanel <?=( $this->get('error_gender') === true ) ? 'error' : ''?>">
<option value=""><?php echo $this->localization->get( 'form1.choose' ); ?></option><!-- Text: - - Choose - - -->
<option value="M" <?=( $_POST['gender']['orientation'] == 'M' . 'F')? 'selected="selected"' : ''?>>Man Seeking a Woman</option>
<option value="F" <?=( $_POST['gender']['orientation'] == 'F' . 'M')? 'selected="selected"' : ''?>>Woman Seeking a Man</option>
<option value="M" <?=( $_POST['gender']['orientation'] == 'M' . 'M')? 'selected="selected"' : ''?>>Man Seeking a Man</option>
<option value="F" <?=( $_POST['gender']['orientation'] == 'F' . 'F')? 'selected="selected"' : ''?>>Woman Seeking a Woman</option>
</select>
我一直在抓文档,但我想我忽略了一些非常小而且愚蠢的东西。我知道这个人会变得容易到那里的人!感谢您的任何提示!
答案 0 :(得分:1)
<select name="gender" title="gender" class="dropdown nextPanel <?=( $this->get('error_gender') === true ) ? 'error' : ''?>">
<option value=""><?php echo $this->localization->get( 'form1.choose' ); ?></option><!-- Text: - - Choose - - -->
<option value="MF" <?=( $_POST['gender']['orientation'] == 'M' . 'F')? 'selected="selected"' : ''?>>Man Seeking a Woman</option>
<option value="FM" <?=( $_POST['gender']['orientation'] == 'F' . 'M')? 'selected="selected"' : ''?>>Woman Seeking a Man</option>
<option value="MM" <?=( $_POST['gender']['orientation'] == 'M' . 'M')? 'selected="selected"' : ''?>>Man Seeking a Man</option>
<option value="FF" <?=( $_POST['gender']['orientation'] == 'F' . 'F')? 'selected="selected"' : ''?>>Woman Seeking a Woman</option>
</select>
答案 1 :(得分:1)
我认为从$ _POST中检索值时不需要'orientation'索引。试试这个:
<select name="gender" title="gender" class="dropdown nextPanel <?=( $this->get('error_gender') === true ) ? 'error' : ''?>">
<option value=""><?php echo $this->localization->get( 'form1.choose' ); ?></option><!-- Text: - - Choose - - -->
<option value="M" <?=( $_POST['gender'] == 'M' . 'F')? 'selected="selected"' : ''?>>Man Seeking a Woman</option>
<option value="F" <?=( $_POST['gender'] == 'F' . 'M')? 'selected="selected"' : ''?>>Woman Seeking a Man</option>
<option value="M" <?=( $_POST['gender'] == 'M' . 'M')? 'selected="selected"' : ''?>>Man Seeking a Man</option>
<option value="F" <?=( $_POST['gender'] == 'F' . 'F')? 'selected="selected"' : ''?>>Woman Seeking a Woman</option>
</select>
我认为此页面已发布回自己。
答案 2 :(得分:0)
当此字段为POSTED时,它将显示为:
$_POST['gender'] = 'M'
-OR -
$_POST['gender'] = 'F'
您无法从有限的信息中了解他们的偏好。
此外,术语$_POST['gender']['orientation']
未映射到有效的数组元素,因为输入字段的名称为"gender"
,而不是"gender[orientation]"
。
您应该为<option>
代码提供以下值:
<option value="MF">
<option value="FM">
<option value="MM">
<option value="FF">
然后当您在服务器上接收它时,您可以使用数组表示法:
if($_POST['gender'][0] == 'M')
// gender is male
if($_POST['gender'][1] == 'F')
// seeking is female
这有帮助吗?
答案 3 :(得分:0)
这应该有效
<select name="gender" title="gender" class="dropdown nextPanel <?=( $this->get('error_gender') === true ) ? 'error' : ''?>">
<option value=""><?php echo $this->localization->get( 'form1.choose' ); ?></option><!-- Text: - - Choose - - -->
<option value="MF" <?=( $_POST['gender'] == 'MF')? 'selected="selected"' : ''?>>Man Seeking a Woman</option>
<option value="FM" <?=( $_POST['gender'] == 'FM')? 'selected="selected"' : ''?>>Woman Seeking a Man</option>
<option value="MM" <?=( $_POST['gender'] == 'MM')? 'selected="selected"' : ''?>>Man Seeking a Man</option>
<option value="FF" <?=( $_POST['gender'] == 'FF')? 'selected="selected"' : ''?>>Woman Seeking a Woman</option>
</select>