2

对不起,我的标题不好!:) 根据这个问题,我如何使用 php 和 mysql 检查和存储出现的字段的值;

假设表单是这样的:

<form method="post" action="#">
    <select name="job" id="job" class="medium">
        <option selected="selected" value="-1">Please Select...</option>
        <option value="1">Job A</option>
        <option value="2">Job B</option>
        <option value="3">Job C</option>
        <option value="4">Job D</option>
        <option value="0">Other</option>
    </select>

    <div id="foo" style="display:none;">
        <input type="text" name="job_other" id="job_other" placeholder="If Other, please specify" value="" />
    </div>
    <div>
        <input type="submit" name="submit" id="submit" value="submit" />
    </div>
</form>

选择“其他”选项时,将出现“job_other”文本字段。(由 javascript 处理)是我在 php 中检查和获取字段的过程,如下所示:

<?php 
 $input['job'] = (isset($_POST['job']) && $_POST['job'] != '-1') ? $_POST['job'] : '';

 if ( $input['job'] != '' &&  $input['job'] == '0') {
    $input['job_other'] = (isset($_POST['job_other']) && $_POST['job_other'] != '' && $_POST['job_other'] == '0') ? $_POST['job_other'] : '';
 }

?>

顺便说一句,当该字段出现时,它将是必需的。那么我怎样才能做得更好呢?

4

1 回答 1

1

这就足够了:

<?php 
 $input['job'] = (isset($_POST['job'])) ? (int) $_POST['job'] : -1;

 $input['job_other'] = ( ($input['job'] == 0) && (isset($_POST['job_other'])) ) ? $_POST['job_other'] : '';
?>

将 'job' 字段保存为整数,将 'job_other' 保存为string / varchar

于 2013-10-01T14:52:31.873 回答