[PR] [html][php]Post i tablica wartości

0

Napotkałem mały problem:

na stronie mam dziesięć (ale może ich być więcej) checkbox'ów i ich wartość przesyłam metodą post. Jak w php zapisać te zaznaczone do zmiennej??

index.php:

<?php
  if( $_GET['act'] == "do" ){
    //no właśnie co tutaj trzeba zrobić?? Jakaś pętla?? Jeśli tak
    //to jak wyciągnąć poszczególne wartości jeśli dany chceck
    // box był zaznaczony??
  } else {
?>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
</head>
<body>
  <form action="index.php?act=do" method="post">
    <input type="checkbox" name="data" value="1">Nr 1<br>
    <input type="checkbox" name="data" value="2">Nr 2<br>
    <input type="checkbox" name="data" value="3">Nr 3<br>
    <input type="checkbox" name="data" value="4">Nr 4<br>
    <input type="checkbox" name="data" value="5">Nr 5<br>
    <input type="checkbox" name="data" value="6">Nr 6<br>
    <input type="checkbox" name="data" value="7">Nr 7<br>
    <input type="checkbox" name="data" value="8">Nr 8<br>
    <input type="checkbox" name="data" value="9">Nr 9<br>
    <input type="checkbox" name="data" value="10">Nr 10<br><br>
    <input type="submit" name="submit" value="działaj">
  </form>
</body>
</html>
<?php
  }
?>
0

jeżeli zamiast name="data" napiszesz name="data[]" będziesz miał w skrypcie dostępną tablice $data.

p.s to <form action="index.php?act=do" method="post"> jest trochę głupie, napisz

<form action="index.php" method="post"> <input type="hidden" name="act" value="do">

i będziesz miał pewność że skrypt się wykona tylko jeśli formularz był wysłany :)

0

yhy, ale to jet połowa sukcesu bo jeśli check box był zaznaczony to mi tylko wyświetla "on" tyle razy ile checkbox'ów było zaznaczonych a jak pobrać ich wartość?? Wartość Value jest pobierana z bazy sql więc jej nie znam tak samo jak ilośc checkbox'ów...

0
<?

if( $_GET['act'] == "do" ){
for($i=0;$i<=count($data);$i++){
$ID_ZAZNACZONEGO=$data[$i];
}
}

?>
0
<?

if( $_GET['act'] == "do" ){
for($i=0;$i<=count($data);$i++){
$ID_ZAZNACZONEGO=$data[$i];
}
}

?>

Już tak próbowałem i zwracało mi zawsze "on" raz jeśli był tylko jeden checkbox zaznaczony lub np "ononon" jeśli były trzy...

0

Ok nie mam zielonego pojęcia o co ci chodzi najlepiej poaz caly kod.. ale sproboje:

<input type="checkbox" name="data[]" value="2">
<input type="checkbox" name="data[]" value="3">

Kiedy to wysylasz, w skrypcie pojawia się tablica $data[] => ([0] => 2; [1] => 3);
i $data[0] przedstawia ci wartość pierwszego zaznaczonego pola... czyli 2 a nie "on"...

0

Podziałało... Dzięki !!

1 użytkowników online, w tym zalogowanych: 0, gości: 1