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

Форум PHP

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

 

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

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

тема: chekbox средствами пхп
 
 автор: Alexx   (10.11.2005 в 00:29)   письмо автору
 
 

как узнать выбран ли чикбох? с помошью пхп?

   
 
 автор: Shorr Kan   (10.11.2005 в 09:25)   письмо автору
 
   для: Alexx   (10.11.2005 в 00:29)
 

Только после отправки формы с чекбоксами. Как только кто-то нажал на submit - if(isset($_REQUEST['name_checkbox'])){ print "Чекбокс - зачекбоксен"; }

Ну это при условии, что у чекбокса name='name_checkbox'

   
 
 автор: Alexx   (10.11.2005 в 12:52)   письмо автору
 
   для: Shorr Kan   (10.11.2005 в 09:25)
 

вроде ясно, а

if (isset($chekbox))  echo "работает"; 

   
 
 автор: Alexx   (10.11.2005 в 13:13)   письмо автору
 
   для: Alexx   (10.11.2005 в 12:52)
 

есть ещё одна проблема. есть цикл for от 1 до $countn :)


for ($i=0; $i < $countn ;$i++)
        { 
         list ($ntext, $ntime) = explode ("||", $filen[$i]);
         echo "
                                             <tr>
           <td width=\"2%\" height=\"24\" bgcolor=\"#EEEEEE\"><input name=\"???\" type=\"checkbox\" value=\"\" /></td>
          <td bgcolor=\"#EEEEEE\">$ntext</td>
          <td width=\"18%\" align=\"right\" bgcolor=\"#EEEEEE\">$ntime</td>
         </tr>";
        }


как задавать имя автоматически chekbox. Допустим chek$i или по другому. А во- вторых как когда ты выберишь чикбокс и нажмёшь на кнопку как узнать и вывести какой чик бох ты выбрал ?

   
 
 автор: cheops   (10.11.2005 в 13:15)   письмо автору
 
   для: Alexx   (10.11.2005 в 13:13)
 

Да либо cheсk$i, либо check[$i] - в обработчике необходимо будет воспроизвести этот цикл, чтобы проверить все флажки.

   
 
 автор: Alexx   (10.11.2005 в 13:35)   письмо автору
 
   для: cheops   (10.11.2005 в 13:15)
 


<table width="100%" height="71" border="0" cellpadding="1" cellspacing="1">
  <tr onmouseover=f(this) >
    <td width="2%" height="24" >&nbsp;</td>
    <td>Новости</td>
    <td width="18%" align="right"><img src="img/ic/new.gif" alt="" width="24" height="24" /><img src="img/ic/red.gif" alt="" width="24" height="24" /><img src="img/ic/del.gif" alt="" width="24" height="24" /></td>
  </tr>
  <? 
       $filen
=file("db.txt");
       
$countn=count($filen);
       
       for (
$i=0$i $countn ;$i++)
        { 
         list (
$ntext$ntime) = explode ("||"$filen[$i]);
         echo 
"<tr onmouseover=f(this) >
          <td width=\"2%\" height=\"24\" ><input name=\" check[
$i]\" type=\"checkbox\" value=\"\" /></td>
          <td >
$ntext</td>
          <td width=\"18%\" align=\"right\" >
$ntime</td>
         </tr>"
;
        }
        
    
?>
  <tr onmouseover=f(this)>
  <td width="2%" height="24">&nbsp;</td>
    <td>Новости</td>
    <td width="18%" align="right">
      <label>
        <input type="submit" name="go" value="Submit" />
        </label>
   
    </td>
 
  </tr>
</table>

</form>
 

<? 
if (isset($go)) 
   { 
    echo 
"выбран номер:";
    for (
$i=0$i $countn ;$i++)
       { 
         if(isset(
$_REQUEST['check[$i]'])) 
           {
             echo 
"$i, ";
           }
       }
   }
?>  


где ошибки ?

   
 
 автор: cheops   (10.11.2005 в 22:40)   письмо автору
 
   для: Alexx   (10.11.2005 в 13:35)
 

А как себя скрипт ведёт - почему вы думаете, что имеются ошибки?

   
 
 автор: Alexx   (11.11.2005 в 00:56)   письмо автору
 
   для: cheops   (10.11.2005 в 22:40)
 

в том что когда жмёшь на кнопку то не выводится те чикбоксы которые ты выбрал. В этом ошибка

   
 
 автор: cheops   (11.11.2005 в 02:03)   письмо автору
 
   для: Alexx   (10.11.2005 в 13:35)
 

<?php
if(isset($_REQUEST['check[$i]']))
?>

это ошибка, следует писать следующим образом
<?php
if(isset($_REQUEST['check'][$i]))
?>

   
 
 автор: Ressfourt   (11.11.2005 в 03:10)   письмо автору
 
   для: Alexx   (10.11.2005 в 00:29)
 

попробуй так


<input type=checkbox name=checkbox[1] value=TEST1>
<input type=checkbox name=checkbox[2] value=TEST2>
<input type=checkbox name=checkbox[2] value=TEST3>


прорерка

if($_POST[checkbox])
foreach($_POST[checkbox] as $id=>$key)
{
if($key)
{
echo "Выбран Checkbox : $id  с VALUE = $key <br>\n";
$check[$id] = $key;
}
}
}



а чтобы после субмита еще и оставались выбранными



<input type=checkbox name=checkbox[1] value=TEST1 <?if($check[1] == TEST1){echo " checked"}>
<
input type=checkbox name=checkbox[2value=TEST2 <?if($check[2] == TEST2){echo " checked"}>
<
input type=checkbox name=checkbox[2value=TEST3 <?if($check[2] == TEST3){echo " checked"}>


это всеголишь пример вдруг поможет :)))

   
 
 автор: Alexx   (11.11.2005 в 16:46)   письмо автору
 
   для: Ressfourt   (11.11.2005 в 03:10)
 

спасиб помогло

   
Rambler's Top100
вверх

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