dodaj.php
<? if ($wporzo != "tak") { exit; } else { } for($i = 0 ; $jezyk[$i] != null; $i++) { } ?>
<html> <body> <form action="dodaj_baza.php" method="post"> <table> <tr> <td> <input type="checkbox" name="jezyk[]" value="Angielski podstawowy"> Angielski podstawowy<br> <input type="checkbox" name="jezyk[]" value="Angielski rozszerzony"> Angielski rozszerzony<br> <input type="checkbox" name="jezyk[]" value="Niemiecki podstawowy"> Niemiecki podstawowy<br> <input type="checkbox" name="jezyk[]" value="Niemiecki rozszerzony"> Niemiecki rozszerzony<br> <input type="checkbox" name="jezyk[]" value="Hiszpański podstawowy"> Hiszpański podstawowy<br> <input type="hidden" name="jezyki" value="<? echo $jezyki; ?>"> </td> </tr> <tr> </tr> </table> </form> </body> </html>
Generalnie w tym skrypcie chodzi o to aby za pomocą checkboxów można było zaznaczyć dowolne opcje,
a następnie wynik w postaci ciągu (implode) był w oknie wynikowym skryptu dodaj_baza.php. Problemu nie ma gdy w action wstawimy
dodaj.php zamiast dodaj_baza.php (można to sprawdzić wstawiając
po
).
Jednak gdy w polu action damy dodaj_baza.php to zachowuje sie tak jakby nie było zmiennej $jezyki w wyniku czego powracamy do formularza (skrypt dodaj_baza.php kontroluje czy wartości dla zmiennych istnieją). Proszę o pomoc gdyż przeszukiwałem co się dało, to forum, jak i inne oraz google wraz z angielskimi serwisami! i szczerze mówiąc sie nie doszukałem. Problem podkreślam raz jeszcze polega na ustawieniu wartości dla Action w Form chyba że tkwi on gdzieś indziej.
dodaj_baza.php
<? if ((!$nazwa) || (!$jezyki)) { exit; } else { } if ($wporzo != "tak") { exit; } else { } $nazwa_bazy = "nazwa bazy"; $nazwa_tabeli = "nazwa tabeli"; $polaczenie = @mysql_connect("localhost", "login", "haslo") or die ("Próba polaczenia nie powiodla sie"); $sql = "INSERT INTO $nazwa_tabeli (id, nazwa, jezyki) VALUES ("", "$nazwa", "$jezyki") "; ?>