Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Предать методом POST
 
 автор: technic611   (12.02.2006 в 07:23)   письмо автору
 
 


<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="stext" >&nbsp;<input  name="param[]" type="checkbox"  value="1"  class="sinput" >&nbsp;Audio&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="2"  class="sinput" >&nbsp;MD&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="3"  class="sinput" >&nbsp;Full time&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="4"  class="sinput" >&nbsp;Суперсалон&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="5"  class="sinput" >&nbsp;Эл. табло&nbsp;&nbsp;</td>
</tr>
<tr>
<td class="stext" >&nbsp;<input  name="param[]" type="checkbox"  value="6"  class="sinput" >&nbsp;Video&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="7"  class="sinput" >&nbsp;ABS&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="8"  class="sinput" >&nbsp;Airbag&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="9"  class="sinput" >&nbsp;Кондиционер&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="10"  class="sinput" >&nbsp;Навигация&nbsp;&nbsp;</td>
</tr>
<tr>
<td class="stext" >&nbsp;<input  name="param[]" type="checkbox"  value="11"  class="sinput" >&nbsp;CD</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="12"  class="sinput" >&nbsp;VDC&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="13"  class="sinput" >&nbsp;TRC</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="14"  class="sinput" >&nbsp;Climat control</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="15"  class="sinput" >&nbsp;Литые диски</td>
</tr>
<tr>
<td class="stext" >&nbsp;<input  name="param[]" type="checkbox"  value="16"  class="sinput" >&nbsp;Changer&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="17"  class="sinput" >&nbsp;4WS&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="18"  class="sinput" >&nbsp;Cruise control</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="19"  class="sinput" >&nbsp;Эл. пакет&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="20"  class="sinput" >&nbsp;Сигнализация&nbsp;&nbsp;</td>
</tr>
<tr>
<td class="stext" >&nbsp;<input  name="param[]" type="checkbox"  value="21"  class="sinput" >&nbsp;DVD&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="22"  class="sinput" >&nbsp;EBD&nbsp;&nbsp;</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="23"  class="sinput" >&nbsp;Подушки безоп.</td>
<td class="stext" ><input  name="param[]" type="checkbox"  value="24"  class="sinput" >&nbsp;Эл. люк&nbsp;&nbsp;</td>
<td class="stext" ><input name="param[]" type="checkbox" id="param[]" value="25"  class="sinput" >&nbsp;Подогрев</td>
</tr>
</table>


Как из этой формы передать методом POST обработчику формы, значения которые выбрал пользователь и занести в базу, конечно лучше занести все в массив

   
 
 автор: krollik   (12.02.2006 в 10:46)   письмо автору
 
   для: technic611   (12.02.2006 в 07:23)
 

=) Короче всё засовываеш в тег

<FORM METHOD=POST ACTION="#"></FORM>   

в массив и так всё занесётся , а чтобы в базу данных занести надо больше информации по этой самой БД(структура и т.д.)

   
 
 автор: technic611   (12.02.2006 в 11:47)   письмо автору
 
   для: krollik   (12.02.2006 в 10:46)
 

Да у меня все уже занесено между <FORM METHOD=POST ACTION="#"></FORM>Я не знаю как обработать чекбоксы

   
 
 автор: kasmanaft   (12.02.2006 в 10:51)   письмо автору
 
   для: technic611   (12.02.2006 в 07:23)
 

нуда обозвать чакбоксы, чтобы у каждого было свое имя...
добавть кнопку типа субмит...
все ето поставить между тегами <form action='ваш скрипт' method=post> и </form>
затем скриптом 'ваш скрипт' обрабатывать полученные значения... $_POST['имя чекбокса'] будет содержать его value='xx'

вроде бы так... но я еще не сталкивался с чекбоксами...
пока обходился без них :)

   
 
 автор: technic611   (12.02.2006 в 11:48)   письмо автору
 
   для: kasmanaft   (12.02.2006 в 10:51)
 

А как же массив?

   
 
 автор: Drago   (12.02.2006 в 12:05)   письмо автору
 
   для: technic611   (12.02.2006 в 11:48)
 

Все, что вам нужно, так это указать скрипт в <form action='ваш скрипт' method=post>, который будет обрабатывать ваши чекбоксы и кнопку отправки данных <input type="submit" name="send">. Тогда, в обрабатывающем скрипте, в сможете обратиться к массиву выбранных значений так $_POST['param'].

   
 
 автор: technic611   (12.02.2006 в 12:39)   письмо автору
 
   для: Drago   (12.02.2006 в 12:05)
 

Хорошо как проверить кокой именно чекбокос выбран?

   
 
 автор: kasmanaft   (12.02.2006 в 12:43)   письмо автору
 
   для: technic611   (12.02.2006 в 12:39)
 

как я говорил, можно обозвать все чекбоксы (box1, box2, box3, box4....)
затем в цикле смотреть, если значение $_POST['имя бокса'] не empty, то наверное он выбран..

   
 
 автор: Drago   (12.02.2006 в 12:59)   письмо автору
 
   для: technic611   (12.02.2006 в 12:39)
 

При нажатии на кнопку Submit, в массив $_POST['param'] будут звнесены значения только выбранных чекбоксов. А проверить можно по value чекбокса, они ведь у вас разные. А вообще все зависит от конкретной задачи. можно все чекбоксы и разными именами назвать, но при их большом количестве, замучаетесь проверять.

   
 
 автор: cheops   (12.02.2006 в 13:32)   письмо автору
 
   для: technic611   (12.02.2006 в 12:39)
 

Проверить можно примерно следующим образом
<?php
  
for($i 0$i count($_POST['param']); $i++)
  {
     if(
$_POST['param'][$i] == "on")  echo "Включён";
     else echo 
"Выключен";
  }
?>

   
 
 автор: Drago   (12.02.2006 в 13:37)   письмо автору
 
   для: cheops   (12.02.2006 в 13:32)
 

Так ведь будет показываться, что все включены. В массив же заносятся, только выбранные.

   
 
 автор: technic611   (12.02.2006 в 13:44)   письмо автору
 
   для: cheops   (12.02.2006 в 13:32)
 

Дело в том что выбранные чекбоксы, после замены value на нормальное название, мне нужно занести в одну переменную, а потом уже в базу, т.е все из этой переменной в одно поле, а показывать через echo мне не нужно, да и как уже сказали в массив и так заносятся только выбранные. Так ка же из массива занести в переменную кто нибудь знает?

   
 
 автор: kasmanaft   (12.02.2006 в 13:48)   письмо автору
 
   для: technic611   (12.02.2006 в 13:44)
 

$perem = $perem.$massiv[$i];
или
$perem .= $massiv[$i];

   
 
 автор: Drago   (12.02.2006 в 14:04)   письмо автору
 
   для: kasmanaft   (12.02.2006 в 13:48)
 

Лучше сделать так

$str = "";
foreach ($_POST['param'] as $value)
{
  $str .= $value . "|";
}
$str = substr ($str, 0, -1);

Теперь в строке $str будут все значения из массива $_POST['param'], разделенные символом "|". после, можно будет разбить эту строку функцией explode().

   
 
 автор: kasmanaft   (12.02.2006 в 14:50)   письмо автору
 
   для: Drago   (12.02.2006 в 14:04)
 

разве я не так сказал :)) про | ничего не говорилось :)
а что произойдет когда
$str = substr ($str, 0, -1); ???

   
 
 автор: Drago   (12.02.2006 в 17:01)   письмо автору
 
   для: kasmanaft   (12.02.2006 в 14:50)
 

>разве я не так сказал :))

Практически так. :)

>про | ничего не говорилось :)

Но так будет гораздо проще, потом разбирать строку.

>а что произойдет когда
>$str = substr ($str, 0, -1); ???

Просто удалится последний символ "|".

   
 
 автор: technic611   (13.02.2006 в 13:34)   письмо автору
 
   для: Drago   (12.02.2006 в 17:01)
 

Спасибо то, что надо! Только я строку не разбирал дальше. Просто вместо "|" сделал ", " И вместо цифр в value подставил названия. Если в будущем пригодится покажи все же как строку explode разбить? Спасибо за помощь

   
 
 автор: Drago   (13.02.2006 в 17:06)   письмо автору
 
   для: technic611   (13.02.2006 в 13:34)
 

Очень просто

$array = explode ("char", $str);

Где, $str - строка, которую нужно разбить. "char" - символ по которому нужно разбить (может быть любым и даже несколькими сразу). $array - массив, в котором будут находится получившиеся значения.
То есть, если, к примеру, $str = "login|password|ip|time", то при разбиении этой строки по символу "|", получим массив...

$array[0] = "login";
$array[1] = "password";
$array[2] = "ip";
$array[3] = "time";

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования