Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z formularzem
Forum PHP.pl > Forum > Przedszkole
ten_typ
Mam problem z formularzem:

  1. <form method="post" action="dodaj1_gr.php">
  2. <table width=90% align=center>
  3.  
  4. <tr><td>Nazwa grupy:</td><td><input type=text name='nazwa_grupy' size=60 maxlength=255></td></tr>
  5. <tr><td>Język i poziom:</td><td>
  6.        <div><select name="id_kursu">
  7. <option value="">Wybierz kurs z poziomem:</option>
  8.  
  9. <?php
  10.  
  11.    $connection = //polączenie z bazą
  12.    
  13.    mysql_query('SET CHARACTER SET utf8, collation_connection = utf8_polish_ci');
  14.    
  15.    $wynik = mysql_query("SELECT nazwa_kursu, nazwa_poziomu from kurs inner join poziom_kursu using (id_kursu) inner join poziom using (id_poziomu)");
  16. $ilosc_wierszy1 = mysql_num_rows($wynik);
  17. for ($i = 0; $i <$ilosc_wierszy1 ; $i++)
  18. {
  19. $wiersz = mysql_fetch_array($wynik);
  20.  
  21. echo "<option value=\"".$wiersz["id_kursu"]."\">".$wiersz["nazwa_poziomu"]." ".$wiersz["nazwa_kursu"]."";
  22. }
  23.  
  24. ?>
  25. </option></select></div></td></tr>
  26. <tr><td>Zajęcia (1 dzień):</td><td><input type=text name='zajecia_1' size=60 maxlength=255></td></tr>
  27. <tr><td>Godzina (1 zajęć):</td><td><input type=text name='godzina_1' size=60 maxlength=255></td></tr>
  28. <tr><td>Zajęcia (2 dzień):</td><td><input type=text name='zajecia_2' size=60 maxlength=255></td></tr>
  29. <tr><td>Godzina (2 zajęć):</td><td><input type=text name='godzina_2' size=60 maxlength=255></td></tr>
  30. <tr><td>Opis grupy:</td><td><input type=text name='opis_grupy' size=60 maxlength=255></td></tr>
  31. <td></td><td><input type=submit value=Dodaj></td></tr>
  32. <td></td><td><input type=reset value=Wyczyść></td></tr>
  33. </table>
  34. </form>


oraz

  1. <?php
  2. $nazwa_grupy = $_POST['nazwa_grupy'];
  3. $zajecia_1 = $_POST['zajecia_1'];
  4. $godzina_1 = $_POST['godzina_1'];
  5. $zajecia_2 = $_POST['zajecia_2'];
  6. $godzina_2 = $_POST['godzina_2'];
  7. $opis_grupy = $_POST['opis_grupy'];
  8. $id_kursu = $_POST['id_kursu'];
  9.  
  10. if($nazwa_grupy and $zajecia_1 and $godzina_1 and $zajecia_2 and $godzina_2 and $opis_grupy and $id_kursu) {
  11.    
  12.    $connection = //połączenie
  13.    
  14.    mysql_query('SET CHARACTER SET utf8, collation_connection = utf8_polish_ci');    
  15.    @mysql_query("START TRANSACTION ");
  16.  
  17.    # ZAPYTANIA
  18.  
  19.    $zapytanie = @mysql_query("insert into grupa set nazwa_grupy='$nazwa_grupy',
  20.    zajecia_1='$zajecia_1', godzina_1='$godzina_1', zajecia_2='$zajecia_2', godzina_2='$godzina_2',
  21.    opis_grupy='$opis_grupy'");
  22.  IF(mysql_errno()) $error=True;
  23.    $zapytanie = @mysql_query("SELECT nazwa_kursu, nazwa_poziomu FROM poziom inner join poziom_kursu using (id_poziomu) inner join kurs using (id_kursu) WHERE id_kursu='$id_kursu'");
  24. IF(mysql_errno()) $error=True;
  25.       $zapytanie = @mysql_query("insert into kurs_grupy set id_kurs_grupy=null, id_grupy=last_insert_id(), id_kursu='$id_kursu'");
  26. IF(mysql_errno()) $error=True;
  27.    # WERYFIKACJA
  28.    if($error){
  29.        @mysql_query("ROLLBACK");
  30.        echo 'Modyfikacja bazy zakończona niepowodzeniem.';
  31.    } else {
  32.        @mysql_query("COMMIT");
  33.        echo 'Operacja zakończona pomyślnie.';
  34.    }
  35.  
  36.    
  37.    if($zapytanie) echo "<h3>Nowa grupa została dodana poprawnie</h3><br><br>
  38.    <a href='pwg.php'>Odśwież</a>";
  39.    else echo "<h3>Błąd. Nie udało się dodać nowej grupy</h3>";
  40.    
  41.    mysql_close($connection);
  42. }
  43. else echo "<h3>Błąd. Nie wprowadzono wszystkich wymaganych danych.</h3>";
  44.  
  45. ?>


Wyrzuca mi echo: Błąd. Nie wprowadzono wszystkich wymaganych danych. Czyli tak jakby początkowy IF nie był spełniony a wydaje się, że jest ? Proszę o pomoc wstydnis.gif
memory
powinno byc:

  1. <?php
  2. echo "<option value=\"".$wiersz["id_kursu"]."\">".$wiersz["nazwa_poziomu"]." ".$wiersz["nazwa_kursu"]."</option>";
  3. ?>



Błąd. Nie wprowadzono wszystkich wymaganych danych - sprawdzalem wszytskie $_POST i dzialaja jak nalezy oprocz Select option
ten_typ
Tak też już próbowałem i nie działa, dalej to samo.
Lion_87
a moze to else
Cytat
else echo "<h3>Błąd. Nie wprowadzono wszystkich wymaganych danych.</h3>";

też daj w klamry?!

Kod
else {echo "<h3>Błąd. Nie wprowadzono wszystkich wymaganych danych.</h3>";}
ten_typ
Nadal to samo worriedsmiley.gif
memory
u mnie takie cos dziala bez id_kursu

Kod
if($nazwa_grupy and $zajecia_1 and $godzina_1 and $zajecia_2 and $godzina_2 and $opis_grupy )


Oczywiscie wszystkie pola musza byc wypelnione
melkorm
w pętli wyświetlając option'y daj sobie :

  1. <?php
  2. var_dump($wiersz['id_kursu']);
  3. ?>


I powinieneś zobaczyć, bo wydaje mi się że coś gubisz w zapytaniu :] ... dlatego z post'a nie przychodzi Tobie id_kursu
ten_typ
Cytat(memory @ 7.01.2009, 11:10:20 ) *
u mnie takie cos dziala bez id_kursu

Kod
if($nazwa_grupy and $zajecia_1 and $godzina_1 and $zajecia_2 and $godzina_2 and $opis_grupy )


Oczywiscie wszystkie pola musza byc wypelnione

zgadza się - bez id_kursu działa

Cytat(melkorm @ 7.01.2009, 14:10:29 ) *
w pętli wyświetlając option'y daj sobie :

  1. <?php
  2. var_dump($wiersz['id_kursu']);
  3. ?>


I powinieneś zobaczyć, bo wydaje mi się że coś gubisz w zapytaniu :] ... dlatego z post'a nie przychodzi Tobie id_kursu

dałem to tak:
  1. <?php
  2. for ($i = 0; $i <$ilosc_wierszy1 ; $i++)
  3. {
  4. var_dump($wiersz['id_kursu']);
  5. $wiersz = mysql_fetch_array($wynik);
  6. echo "<option value=\"".$wiersz["id_kursu"]."\">".$wiersz["nazwa_poziomu"]." ".$wiersz["nazwa_kursu"]."</option>";
  7. }
  8. ?>


ale bez zmian?
melkorm
eh widać że mnie nie zrozumiałeś chciałem abyś sam znalazł błąd ale widze że jest to bez celowe, wywal to var_dump etc. w zapytaniu jak pobierasz dane dopisz id_kursu , lub wrzuć gwiazdke " * ". I będzie smigać .

Bo var dump powinien pokazać że nie ma takiego indexu. ot nie masz wyswietlania błędów bo powinien wyświetlić się błąd o nieprawidłowy index.
czyli tak :
  1. <?php
  2. $wynik = mysql_query("SELECT nazwa_kursu, nazwa_poziomu , id_kursu from kurs inner join poziom_kursu using (id_kursu) inner join poziom using (id_poziomu)");
  3. ?>
ten_typ
działa - wielkie dzięki ;-) nie wiem jak mogę być taki ślepy
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.