2015-05-15 3 views
2

Итак, я пытаюсь получить значение из 3 флажков, которые позже будут отправлены в базу данных, но по какой-то причине они не публикуют в PHP при им-тестировании.Флажки не публикуются в 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 

У меня есть теги формы, все правильно, вот как это другой вопрос, все иначе на страницах сообщений правильно, кроме этой одной вещи

+1

Где ваши теги формы? – Rizier123

+0

Возможно, у вас нет тега '

' вообще, его просто входы и прочее, обертывание таблицы с ним – Ghost

+0

Я отредактировал свое сообщение и написал комментарий, у меня есть теги формы, у меня есть несколько вещей, которые публикуются на странице правильно ЗА ИСКЛЮЧЕНИЕМ этого –

ответ

5

Думаю, вам нужно положить <form>. И в этом теге следует указать (как действие) в файл PHP, который будет reviece данные;)

Взгляните, что: http://www.html-form-guide.com/php-form/php-form-checkbox.html


Edit:

В соответствии с your original post, вам нужно обработать ваши флажки в виде массива.

Sidenote: Вы должны всегда делать редактирование под своим оригинальным вопросом и помечены как изменение, чтобы не перезаписывать оригинал.

I.e .: 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'])) 

?> 
+0

Я сделал это, все остальное на страницах сообщений отлично, за исключением аватара –

+0

спасибо за перезапись моего редактирования. что-то не показывает. use ticks –

+0

Это было сразу после вашего редактирования @ Fred-ii-, я смотрел, как это произошло. Просто неудачный выбор времени. –

Смежные вопросы