【问题标题】:how to get form POST value in php [duplicate]如何在php中获取表单POST值[重复]
【发布时间】:2018-06-22 13:22:30
【问题描述】:

我需要如何在同一页面上获取表单 POST 值。下面是我尝试提取值以及表单 html 的脚本:

<form action="" id ='list' name= "list" class="form-inline" method="POST">
    <div class="select">
        <select name="lamp" id ="lamp" onchange="gender(this)" style="background:transparent">
            <option id ='gender' hidden="hidden">Gender</option>
            <option value="0">Boy's</option>
            <option value="1">Girl's</option>
        </select>
    </div>
</form> 

我的 PHP 代码:

if (isset($_POST)) {  
    $pg_type =$_POST['lamp'];
    echo $pg_type;die;
}

我已经回显了它显示的我的变量:

注意:未定义索引:第 20 行 C:\xampp\www\htdocs\rentozy\assets\includes\list-header.php 中的灯

【问题讨论】:

  • 在你没有定义action=""之前,表单如何向你的php文件发送请求?
  • isset($_POST['lamp'])替换isset($_POST)
  • 我想这与您的内联 javascript gender(this) 发送错误值有关,因为此表单上没有提交。可能与您的其他问题有关:stackoverflow.com/questions/48219386/…
  • 动作只在同一页
  • 由于$_POST 是一个超全局变量,我相信isset($_POST) 将始终返回true,即使它为空(即在初始页面加载时)。因此,您可能需要检查实际字段 isset($_POST['lamp'])

标签: php html mysql


【解决方案1】:

形式:
1. 保持一致 - 使用 "' 但不能同时用于 HTML 属性;
2.将select的名字设置为gender,去掉第一个option,因为在这个例子中是废话;

<form action="" id="list" name="list" class="form-inline" method="POST">
    <div class="select">
        <select name="gender" id="gender" style="background:transparent">
            <option value="0">Boy's</option>
            <option value="1">Girl's</option>
        </select>
    </div>
</form>

PHP:
1.将if检查更改为确切的键,例如gender而不是整个POST数组 2. 要检查通过 POST 实际发送的内容,您可以打印整个数组:

if (isset($_POST['gender'])) {  
    $pg_type=$_POST['gender'];
    die('Gender value in $pg_type is: ' . $pg_type); // for debugging
}
else {
     // for debugging
     print_r($_POST);
}

【讨论】:

    猜你喜欢
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多