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

Форум PHP

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

 

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

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

тема: Передача состояния группы checkbox на другу страницу
 
 автор: AnGor   (29.08.2006 в 13:19)   письмо автору
 
 

проблема вот в чем... есть страница... точнее 2 страниці...
на первой форма с чекбоксами (5 штук)
проблема в том что нужно отметить какое то количество чеквоксов... а потом информация отмеченная должна отобразиться на второй странице.... которая открываеться после нажатия кнопки отправить...

помогите пожалуйста...

заранее спасибо!!!

   
 
 автор: pini-pini   (29.08.2006 в 13:24)   письмо автору
 
   для: AnGor   (29.08.2006 в 13:19)
 

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

   
 
 автор: AnGor   (29.08.2006 в 13:32)   письмо автору
 
   для: pini-pini   (29.08.2006 в 13:24)
 

в форме....
короче вот весь код:
первая страница:

<body bgcolor="#000000" text="#FFFFFF">
<?
$form = "
<FORM METHOOD=\"POST\" ACTION=\"001.php\">
Ваше имя:<br>
<input type=\"TEXT\" name=\"name\" size=\"30\">
<br>
Адрес:<br>
<input type=\"TEXT\" name=\"adres\" size=\"30\">
<br>Телефон:<br>
<input type=\"TEXT\" name=\"tel\" size=\"10\">
<br>
<br>
Пол<br>
<INPUT TYPE=\"RADIO\" NAME=\"vib1\" VALUE=\"Мужской\">Мужчина<br>
<INPUT TYPE=\"RADIO\" NAME=\"vib1\" VALUE=\"Женский\">Женщина<br>
<br>
Образование:<br>
<INPUT TYPE=\"RADIO\" NAME=\"B1\" VALUE=\"Школа\">Школа <br>
<INPUT TYPE=\"RADIO\" NAME=\"B1\" VALUE=\"Техникум\">Техникум <br>
<INPUT TYPE=\"RADIO\" NAME=\"B1\" VALUE=\"Институт\">Институт<br>
<INPUT TYPE=\"RADIO\" NAME=\"B1\" VALUE=\"Аспирантура\">Аспирантура<br>
<br>
Семейное положение:<br>
<INPUT TYPE=\"RADIO\" NAME=\"B2\" VALUE=\"Замужем (Женат)\">Замужем (Женат)<br>
<INPUT TYPE=\"RADIO\" NAME=\"B2\" VALUE=\"Разведена (Разведен)\">Техникум <br>
<INPUT TYPE=\"RADIO\" NAME=\"B2\" VALUE=\"Вдова (Вдовец)\">Вдова (Вдовец)<br>
<INPUT TYPE=\"RADIO\" NAME=\"B2\" VALUE=\"В серьезных отношениях\">В серьезных отношениях<br>
<br>
<input type=\"checkbox\" name=\"faveMusic4\" value=\"Rock\" >Rock
<br><input type=\"checkbox\" name=\"faveMusic5\" value=\"Pop\" >Pop
<br><input type=\"checkbox\" name=\"faveMusic0\" value=\"Bluegrass\" >Bluegrass
<br><input type=\"checkbox\" name=\"faveMusic1\" value=\"Blues\" >Blues
<br><input type=\"checkbox\" name=\"faveMusic2\" value=\"Jazz\" >Jazz
<br><input type=\"checkbox\" name=\"faveMusic3\" value=\"Country\" >Country
<exec('select * from Table1')>
<br><br>
<input name=\"ENTER\" type=\"SUBMIT\" value=\"ПОСЛАТЬ\">
<input name=\"RESET\" type=\"RESET\" value=\"ОЧИСТИТЬ\">
</form>";
print "$form"

?>

вот вторая....

<body bgcolor="#000000" text="#FFFFFF">
</div>
<?
echo '<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"><div align="center"><strong>!!!Введенная информация!!!</strong></div></td>
</tr>
<tr>
<td>Имя:</td>
<td>'.$name.'</td>
</tr>
<tr>
<td>Адрес:</td>
<td>'.$adres.'</td>
</tr>
<tr>
<td>Телефон:</td>
<td>'.$tel .'</td>
</tr>
<tr>
<td>Пол:</td>
<td>'.$vib1.'</td>
</tr>
<tr>
<td>Образование:</td>
<td>'.$B1.'</td>
</tr>
<tr>
<td>Семейное положение:</td>
<td>'.$B2.'</td>
</tr>
<tr>
<td>Стили музыки:</td>
<td>'$faveMusic0'</td>
<td>'$faveMusic1'</td>
<td>'$faveMusic2'</td>
<td>'$faveMusic3'</td>
<td>'$faveMusic4'</td>
<td>'$faveMusic5'</td>
</td>
</tr>
</table>';
?>


что делать???

   
 
 автор: P@Sol   (29.08.2006 в 13:30)   письмо автору
 
   для: AnGor   (29.08.2006 в 13:19)
 

допустим чекбоксы выводятся в цикле

<form name=user_table action="table.php" method=post>
             <?for ($k=0$k 10$k++)
               {
                       if (
$k%== 0)
                       {
                               echo 
"<td><INPUT type='checkbox' name='"."qwe_".$k."' value='yes' checked></td>";
                       }
                      else
                      {
                              echo 
"<td><INPUT type='checkbox' name='"."qwe_".$k."' value='yes'></td>";
                      }
               }
               echo 
"</tr>";
       }

       
?>
     <td><INPUT type="submit" VALUE="Применить"></td>

table.php :
<?
for ($k=0$k 10$k++)
               {
                       if (
$_POST[{"qwe_".$k}] == "yes"$p "checked";
                       echo 
"<td><INPUT type='checkbox' name='".$_POST[{"qwe_".$k}]."' value='yes' ".$p."></td>";
}


вариант мог получиться не рабочим...но близким к рабочему

   
 
 автор: krollik   (29.08.2006 в 13:33)   письмо автору
 
   для: P@Sol   (29.08.2006 в 13:30)
 

Вроде легче будет если чекбоксы будут с именем ввиде массива(например 'data[]') Тогда в массиве data будут все значения отмеченых чекбоксов

   
 
 автор: AnGor   (29.08.2006 в 13:41)   письмо автору
 
   для: krollik   (29.08.2006 в 13:33)
 

есть код.. посмотрите кто нить.. очень нада!!!

   
 
 автор: 1999   (29.08.2006 в 13:45)   письмо автору
 
   для: AnGor   (29.08.2006 в 13:41)
 

код в студию

   
 
 автор: 1999   (29.08.2006 в 13:56)   письмо автору
 
   для: 1999   (29.08.2006 в 13:45)
 

если тод, что выше написан, то он не будет работать потому что написано METHOOD а не METHOD
вобще вот итоговый вариант

Файл index.php
<body bgcolor="#000000" text="#FFFFFF">
<FORM METHOD=POST ACTION="001.php">
Ваше имя:<br>
<input name="name" size="30" />
<br>
Адрес:<br>
<input name="adres" size="30" />
<br>Телефон:<br>
<input name="tel" size="10" />
<br>
<br>
Пол<br>
<INPUT TYPE="RADIO" NAME="vib1" VALUE="Мужской" />Мужчина<br>
<INPUT TYPE="RADIO" NAME="vib1" VALUE="Женский" />Женщина<br>
<br>
Образование:<br>
<INPUT TYPE="RADIO" NAME="B1" VALUE="Школа" />Школа <br>
<INPUT TYPE="RADIO" NAME="B1" VALUE="Техникум" />Техникум <br>
<INPUT TYPE="RADIO" NAME="B1" VALUE="Институт" />Институт<br>
<INPUT TYPE="RADIO" NAME="B1" VALUE="Аспирантура" />Аспирантура<br>
<br>
Семейное положение:<br>
<INPUT TYPE="RADIO" NAME="B2" VALUE="Замужем (Женат)" />Замужем (Женат)<br>
<INPUT TYPE="RADIO" NAME="B2" VALUE="Разведена (Разведен)" />Техникум <br>
<INPUT TYPE="RADIO" NAME="B2" VALUE="Вдова (Вдовец)" />Вдова (Вдовец)<br>
<INPUT TYPE="RADIO" NAME="B2" VALUE="В серьезных отношениях" />В серьезных отношениях<br>
<br>
<input type="checkbox" name="faveMusic[0]" value="Rock" />Rock
<br><input type="checkbox" name="faveMusic[1]" value="Pop" />Pop
<br><input type="checkbox" name="faveMusic[2]" value="Bluegrass" />Bluegrass
<br><input type="checkbox" name="faveMusic[3]" value="Blues" />Blues
<br><input type="checkbox" name="faveMusic[4]" value="Jazz" />Jazz
<br><input type="checkbox" name="faveMusic[5]" value="Country" />Country
<br><br>
<input name="ENTER" type="SUBMIT" value="ПОСЛАТЬ" />
<input name="RESET" type="RESET" value="ОЧИСТИТЬ" />
</form>

файл 001.php
<body bgcolor="#000000" text="#FFFFFF">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"><div align="center"><strong>!!!Введенная информация!!!</strong></div></td>
</tr>
<tr>
<td>Имя:</td>
<td><? echo $_POST['name']; ?></td>
</tr>
<tr>
<td>Адрес:</td>
<td><? echo $_POST['adres']; ?></td>
</tr>
<tr>
<td>Телефон:</td>
<td><? echo $_POST['tel']; ?></td>
</tr>
<tr>
<td>Пол:</td>
<td><? echo $_POST['vib1']; ?></td>
</tr>
<tr>
<td>Образование:</td>
<td><? echo $_POST['B1']; ?></td>
</tr>
<tr>
<td>Семейное положение:</td>
<td><? echo $_POST['B2']; ?></td>
</tr>
<tr>
<td>Стили музыки:</td>
<?
foreach($_POST['faveMusic'] as $key => $value)
{
  echo 
"<td>".$value."</td>\r\n";
}
?>
</tr>
</table>

   
 
 автор: P@Sol   (29.08.2006 в 13:47)   письмо автору
 
   для: AnGor   (29.08.2006 в 13:41)
 

грубо говоря

<? 
for ($k=0$k 6$k++) 
               { 
                       if (
$_POST[{"faveMusic".$k}] != "false"
                       echo 
"<td>$_POST[{"faveMusic".$k}]</td>"



но как сказал кролик, лучше в первом файле сделать так:

<input type=\"checkbox\" name=\"faveMusic[4]\" value=\"Rock\" >Rock

а как обработать не могу сказать...(может $_POST["faveMusic"][4])

   
 
 автор: krollik   (29.08.2006 в 13:51)   письмо автору
 
   для: P@Sol   (29.08.2006 в 13:47)
 

я несовсем так говорил =)

   
 
 автор: P@Sol   (29.08.2006 в 13:58)   письмо автору
 
   для: krollik   (29.08.2006 в 13:51)
 

отличий не нашел:)))

   
 
 автор: krollik   (29.08.2006 в 13:53)   письмо автору
 
   для: AnGor   (29.08.2006 в 13:41)
 

Я покажу на маленьком примере
Вот скажем первая страница

Музыка
<FORM METHOOD="POST" ACTION="001.php">
<input type="checkbox" name="Music[]" value="Rock" >Rock
<br><input type="checkbox" name="Music[]" value="Pop" >Pop
<br><input type="checkbox" name="Music[]" value="Bluegrass" >Bluegrass
<br><input type="checkbox" name="Music[]" value="Blues" >Blues
<br><input type="checkbox" name="Music[]" value="Jazz" >Jazz
<br><input type="checkbox" name="Music[]" value="Country" >Country
<input name="ENTER" type="SUBMIT" value="ПОСЛАТЬ">
<input name="RESET" type="RESET" value="ОЧИСТИТЬ">
</form>

Вот вторая

Музыка
<?
If (count($_REQUEST['Music'])) {
  foreach (
$_REQUEST['Music'] as $value) {
   echo(
$value.'<br>');
  }
}
?>

Должно вроде работать

   
 
 автор: AnGor   (29.08.2006 в 13:58)   письмо автору
 
   для: krollik   (29.08.2006 в 13:53)
 

не работает....
он меня только обматерил вот этим
Warning: Invalid argument supplied for foreach()
:(((((

   
 
 автор: AnGor   (29.08.2006 в 14:08)   письмо автору
 
   для: AnGor   (29.08.2006 в 13:58)
 

ЗАРАБОТАЛО!!!!
СПАСИБО БОЛЬШОЕ!!!!!

   
Rambler's Top100
вверх

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