php - 复选框未在 PHP 中发布

标签 php checkbox posting

所以我试图从 3 个复选框中获取值,这些值稍后将发送到数据库,但由于某种原因,在测试时它们没有在 PHP 中发布。

<table width="200" border="0">
 <tr>
  <td><img src="images/image1.jpg" ></td>
  <td><img src="images/image2.jpg" ></td>
  <td><img src="images/image3.jpg" ></td>
 </tr>
 <tr>
  <td><input type="checkbox" id="checkbox65" class="css-checkbox med"     name="avatar" value="image1"/>
   <label for="checkbox65" class="css-label med elegant" /></label></td>
  <td><input type="checkbox" id="checkbox66" class="css-checkbox med" name="avatar" value="image2"/>
   <label for="checkbox66" class="css-label med elegant" /></label></td>
  <td><input type="checkbox" id="checkbox67" class="css-checkbox med" name="avatar" value="image3"/>
   <label for="checkbox67" class="css-label med elegant"  ></label></td>
  </tr>
 </table><br>

我在另一个页面上发帖:

<?php 
if(isset($_POST['submit'])){$avatar=$_POST['avatar'];} 
echo $avatar; ?>

但是我得到

 Undefined index: avatar on line 14

我有表单标签,一切都是正确的,这就是为什么这是一个不同的问题,页面上的其他所有内容都正确发布,除了这一件事

最佳答案

我认为你必须输入 <form>标记您的输入。在该标签中,您应该指定(作为操作)将审查数据的 php 文件;)

看看:http://www.html-form-guide.com/php-form/php-form-checkbox.html

<小时/>

编辑:

根据 your original post ,您需要将复选框视为数组。

旁注:您应该始终在原始问题下方进行编辑并标记为编辑,以免覆盖原始问题。

即:name="avatar[]"在具有相同名称属性的每个元素周围添加括号。然后您需要使用 foreach循环,同时使用条件语句并将其 POST 数组及其变量放入该循环内。

<form action="reg_test.php" method="post">
                                Username:<br>
                                <input type="text" name="username"><br>

                                Password:
                                <input type="password" name="password" ><br>

                                E-mail:
                                <input type="text" name="email" ><br>

                                Avatar:

   <table width="200" border="0">
  <tr>
    <td><img src="images/avatars/image1.jpg" ></td>
    <td><img src="images/avatars/image2.jpg" ></td>
    <td><img src="images/avatars/image3.jpg" ></td>
  </tr>
 <tr>
<td><input type="checkbox" id="checkbox65" class="css-checkbox med" name="avatar[]" value="image1"/>
    <label for="checkbox65" class="css-label med elegant" /></label></td>
<td><input type="checkbox" id="checkbox66" class="css-checkbox med" name="avatar[]" value="image2"/>
    <label for="checkbox66" class="css-label med elegant" /></label></td>
<td><input type="checkbox" id="checkbox67" class="css-checkbox med" name="avatar[]" value="image3"/>
    <label for="checkbox67" class="css-label med elegant"  ></label></td>
</tr>
</table><br>
<input type="submit" value="Register" name="submit">
</form>

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

if(isset($_POST['submit'])){
    $username=$_POST['username'];
    $password=$_POST['password'];
    $email=$_POST['email'];

if(isset($_POST['avatar'])){

    $avatar=$_POST['avatar'];

   foreach ($avatar as $avatars=>$value) {
             echo "Avatars : ".$value."<br />";
        }

echo $username.",".$password.",".$email."</br>";

    }

} // brace for if(isset($_POST['submit']))

?>

关于php - 复选框未在 PHP 中发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30261382/

相关文章:

javascript - Ajax 调用 php 脚本从多个复选框表单发送值

facebook - facebook开放图对象可以动态创建吗?

php - PHP 中的 html_entity_decode 问题?

jquery - 如何将选中的 ="checked"属性添加到 .html() 方法的输出

php - Laravel 更新或创建关系

ruby-on-rails - 使用复选框更改模型( rails )上的 boolean 属性

javascript - 如何在将它引用到类时动态创建一个 div?

iphone - 登录FB后如何发帖到墙

php - 用于查找有效文件名的正则表达式

php - Laravel 查找开放时间内的 2 个日期之间的时间量