Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:为什么我的表单不通过$\u POST传输数据?_Php_Html_Forms_Post - Fatal编程技术网

PHP:为什么我的表单不通过$\u POST传输数据?

PHP:为什么我的表单不通过$\u POST传输数据?,php,html,forms,post,Php,Html,Forms,Post,我希望通过表单提交id、工作日、月、月日、时间、时区、年份、本地IP内部和全局IP内部,并以$u POST结束。然而,时区不起作用,我不知道为什么。时区由SELECT元素控制,每个标记的名称为“tz” 以下是视图中表单的代码: <form action='/mysecureview/admin_view/log_index.php' method='post'> <ul> <input type='hidden' value=

我希望通过表单提交id、工作日、月、月日、时间、时区、年份、本地IP内部和全局IP内部,并以$u POST结束。然而,时区不起作用,我不知道为什么。时区由SELECT元素控制,每个标记的名称为“tz”

以下是视图中表单的代码:

<form action='/mysecureview/admin_view/log_index.php' method='post'>
        <ul>
            <input type='hidden' value='<?php echo $id; ?>' name='id'>
            <li><label>weekday</label><input <?php echo (($weekday_error == TRUE)?"id='weekday_error'":'')?> type='text'    value='<?php echo $wd; ?>'   name='wd'></li>
            <li><label>month</label><input <?php echo (($month_error == TRUE)?"id='month_error'":'')?> type='text'      value='<?php echo $m; ?>'     name='m'></li>
            <li><label>month-day</label><input <?php echo (($month_day_error == TRUE)?"id='month_day_error'":'')?> type='text'  value='<?php echo $md; ?>'   name='md'></li>
            <li><label>time</label><input <?php echo (($time_error == TRUE)?"id='time_error'":'') ?> type='text'       value='<?php echo $t; ?>'    name='t'></li>
            <select>
                <option value="0">Please, select timezone</option>
                <?php 
                foreach(tz_list() as $t) { ?>

                <option value="<?php print $t['zone']?>"<?php echo "name='tz'";?> >
                    <?php print $t['diff_from_GMT'] . ' - ' . $t['zone'] . ' '; 
                    ?>
                </option>
                <?php } ?>
            </select>

            <li><label>year</label><input <?php echo (($year_error == TRUE)?"id='year_error'":'') ?> type='text'       value='<?php echo $y; ?>'    name='y'></li>
            <li><label>inside local IP address</label><input <?php echo (($ilp_error == TRUE)?"id='ilp_error'":'') ?> type='text' value='<?php echo $ilp ?>' name='ilp'></li>
            <li><label>inside global IP address</label><input <?php echo (($igp_error == TRUE)?"id='igp_error'":'') ?> type='text' value='<?php echo $igp ?>' name='igp'></li>

            <li><input type='submit' value='submit' name='show'></li>
            <input type='hidden' value='update-log' name='action'>
        </ul>
    </form>
为什么PHP不通过$_POST['tz']发送时区?

您需要为您的select标记命名

因为您没有name属性

请为您的select标记指定name属性

<select name="tz">
    <option value="0">Please, select timezone</option>
    <?php 
    foreach(tz_list() as $t) { ?>

    <option value="<?php print $t['zone']?>"<?php echo "name='tz'";?> >
        <?php print $t['diff_from_GMT'] . ' - ' . $t['zone'] . ' '; 
        ?>
    </option>
    <?php } ?>
</select>

使用select标记添加名称属性而不使用名称标记您无法在php$\u POST变量中为任何输入字段获取名称属性

您在select标记中缺少名称属性
         <select name="tz">
            <option value="0">Please, select timezone</option>
            <?php 
            foreach(tz_list() as $t) { ?>

            <option value="<?php print $t['zone']?>"<?php echo "name='tz'";?> >
                <?php print $t['diff_from_GMT'] . ' - ' . $t['zone'] . ' '; 
                ?>
            </option>
            <?php } ?>
        </select>
<select name="tz">
    <option value="0">Please, select timezone</option>
    <?php 
    foreach(tz_list() as $t) { ?>

    <option value="<?php print $t['zone']?>"<?php echo "name='tz'";?> >
        <?php print $t['diff_from_GMT'] . ' - ' . $t['zone'] . ' '; 
        ?>
    </option>
    <?php } ?>
</select>