Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: [sql+php] dodawanie rekordu do tab
Forum PHP.pl > Forum > Przedszkole
nicox
witam...mam taka tabele:



id | int(2) | | PRI | |auto_increment
nick | varchar(20) | YES
nr_gg | int(6) | YES
mail |varchar(20) | YES
telefon | int(9) | YES


i stronke php:

  1. <? 
  2. echo '<form method=POST>'; 
  3. echo '<input type=text name=tab size=20> nazwa tabeli<br>'; 
  4. echo '<input type=text name=nick size=20> nick<br>'; 
  5. echo '<input type=text name=nr_gg size=20> nr GG<br>'; 
  6. echo '<input type=text name=mail size=20> mail<br>'; 
  7. echo '<input type=text name=tel size=20> telefon<br>'; 
  8. echo '<INPUT TYPE=SUBMIT name=Akceptuj value=Akceptuj>'; 
  9. echo '</form>'; 
  10.  
  11. include 'connect.php'; 
  12.  
  13. if ($tab) 
  14. { 
  15. $zap = &#092;"INSERT INTO $tab(nick, nr_gg, mail, telefon) VALUES ($nick, $nr_gg, $mail,
  16.  $tel)&#092;"; 
  17. $wynik = mysql_query($zap); 
  18.  if($wynik) { 
  19.  echo &#092;"dodanie danych do tabeli zakoñczy³o sie sukcesem<br>\"; 
  20.  } else { 
  21.  $error = mysql_error($sql); /* Kopiuje zawarto¶æ b³êdu do zmiennej $error */ 
  22.  echo &#092;"B³ad skryptu, odpowied¼ serwera: $error\"; /* Drukuje b³±d na stronie */ 
  23.  } 
  24. } 
  25. else 
  26. { 
  27. echo &#092;"wype³nij wszystkie pola\" ; 
  28. } 
  29.  
  30. ?>



i wyskakuje mi mi blad skryptu .... co tu jest zle? aha i jak pokazuje blad skryptu nie wyswietla odpowiedzi serwera z bledem

to jest taka przykladowa tabela bo dopiero sie ucze wiec sie nie dziwcie ze takie proste to i lamerskie
Leezard
jesli to jest caly skrypt to po pierwsze nie masz atrybutu action w znaczniku FORM (gdzies te dane musza isc chocby do $PHP_SELF), druga sprawa to ze nie masz polaczenia z baza a probujesz cos wstawiac do tabeli nie znajac ani bazy ani nie majac z nia polaczenia

na oko tak to wyglada winksmiley.jpg
nicox
Cytat
druga sprawa to ze nie masz polaczenia z baza a probujesz cos wstawiac do tabeli nie znajac ani bazy ani nie majac z nia polaczenia


11 include 'connect.php'; <<< tam jest polaczenie z baza o dziala bo includuje w innych scryptach i jest OK
co do action to wpisalem nazwe pliku w ktorym znajdyje sie to wszystko i nic nie dalo....a jak sie nie wpisze action to czasami nie ejst tak ze dane sa przekazywane do zmiennych na tej samej str o tej samej nazwie? tzn tak jak tu

  1. <?php
  2. echo '<form method=POST>'; 
  3. echo '<input type=text name=tab size=20> nazwa tabeli<br>'; 
  4. echo '<input type=text name=nick size=20> nick<br>'; 
  5. echo '<input type=text name=nr_gg size=20> nr GG<br>'; 
  6. echo '<input type=text name=mail size=20> mail<br>'; 
  7. echo '<input type=text name=tel size=20> telefon<br>'; 
  8. echo '<INPUT TYPE=SUBMIT name=Akceptuj value=Akceptuj>'; 
  9. echo '</form>';
  10. ?>

name=tab nie ejst przekazywana do zmienej na tej str $tab?? itp itd?? dry.gif
strife
  1. <?php
  2.  
  3. echo '<form method=POST>'; 
  4. echo '<input type=text name=tab size=20> nazwa tabeli<br>'; 
  5. echo '<input type=text name=nick size=20> nick<br>'; 
  6. echo '<input type=text name=nr_gg size=20> nr GG<br>'; 
  7. echo '<input type=text name=mail size=20> mail<br>'; 
  8. echo '<input type=text name=tel size=20> telefon<br>'; 
  9. echo '<INPUT TYPE=SUBMIT name=Akceptuj value=Akceptuj>'; 
  10. echo '</form>'; 
  11.  
  12. include 'connect.php'; 
  13.  
  14. if ($tab) 
  15. { 
  16.  
  17. // A to dlatego bo my¶lê ¿e masz register globals off
  18.  
  19. $nick = $_POST['nick'];
  20. $nr_gg = $_POST['nr_gg'];
  21. $main = $_POST['mail'];
  22. $tel = $_POST['tel'];
  23.  
  24. $zap = &#092;"INSERT INTO $tab(nick, nr_gg, mail, telefon) VALUES ($nick, $nr_gg, $mail, $tel)\"; 
  25. $wynik = mysql_query($zap); 
  26.  if($wynik) { 
  27.  echo &#092;"dodanie danych do tabeli zakoñczy³o sie sukcesem<br>\"; 
  28.  } else { 
  29.  $error = mysql_error($sql); /* Kopiuje zawarto¶æ b³êdu do zmiennej $error */ 
  30.  echo &#092;"B³ad skryptu, odpowied¼ serwera: $error\"; /* Drukuje b³±d na stronie */ 
  31.  } 
  32. } 
  33. else 
  34. { 
  35. echo &#092;"wype³nij wszystkie pola\" ; 
  36. }
  37.  
  38. ?>


Zobacz teraz.
Coyote
Brakuje w <form> znacznika action ... i formularz nie wie co zrobic ... z tymi danymi ktore zostaja zapisane musisz to dodac bo inaczej nie bedzie dzialalo ja proponuje zrobic to w dwoch plikach :

formularz.php :
  1. <?
  2. echo '<form method=POST ACTION=zapisz.php>'; 
  3. echo '<input type=text name=tab size=20> nazwa tabeli<br>'; 
  4. echo '<input type=text name=nick size=20> nick<br>'; 
  5. echo '<input type=text name=nr_gg size=20> nr GG<br>'; 
  6. echo '<input type=text name=mail size=20> mail<br>'; 
  7. echo '<input type=text name=tel size=20> telefon<br>'; 
  8. echo '<INPUT TYPE=SUBMIT name=Akceptuj value=Akceptuj>'; 
  9. echo '</form>'; 
  10. ?>


zapisz.php :
  1. <?
  2. include 'connect.php'; 
  3.  
  4. if ($tab) 
  5. { 
  6.  
  7. // A to dlatego bo my¶lê ¿e masz register globals off
  8.  
  9. $nick = $_POST['nick'];
  10. $nr_gg = $_POST['nr_gg'];
  11. $main = $_POST['mail'];
  12. $tel = $_POST['tel'];
  13.  
  14. $zap = &#092;"INSERT INTO $tab(nick, nr_gg, mail, telefon) VALUES ($nick, $nr_gg, $mail, $tel)\"; 
  15. $wynik = mysql_query($zap); 
  16.  if($wynik) { 
  17.  echo &#092;"dodanie danych do tabeli zakoñczy³o sie sukcesem<br>\"; 
  18.  } else { 
  19.  $error = mysql_error($sql); /* Kopiuje zawarto¶æ b³êdu do zmiennej $error */ 
  20.  echo &#092;"B³ad skryptu, odpowied¼ serwera: $error\"; /* Drukuje b³±d na stronie */ 
  21.  } 
  22. } 
  23. else 
  24. { 
  25. echo &#092;"wype³nij wszystkie pola\" ; 
  26. }
  27.  
  28. ?>


Teraz powinno dzialac
nicox
nic nie dalo....
a zrobilem maly test i na koncu wtdrukowalem zmienne $tab $nick itd .. no i sie pojawily czyli ze je zapamietuje....ale nadal blad niechce dodac do tabeli mad.gif


moze to cos z ta tabela zle? juz nieiwme co to moze byc
Ociu
  1. <?php
  2. mysql_query(&#092;"INSERT INTO \".$tab.\" SET nick = '\".$nick.\"', nr_gg = '\".$nr_gg.\"', mail = '\".$mail.\"', tel='\".$tel.\"'\"); 
  3. ?>


Spróbuj tak
strife
  1. <?php
  2.  
  3. // Reszta
  4.  
  5. $tab = $_POST['tab'];
  6. $nick = $_POST['nick'];
  7. $nr_gg = $_POST['nr_gg'];
  8. $main = $_POST['mail'];
  9. $tel = $_POST['tel'];
  10.  
  11. $zap = &#092;"INSERT INTO $tab SET nick = '$nick', nr_gg = '$nr_gg', mail = '$mail', telefon = '$tel' \");
  12.  
  13. // Reszta
  14.  
  15.  
  16. ?>


W ten sposób, jak nie zadzia³a dodaj do $tab w zapytaniu ' ' .. Pozdrawiam!

@Ociu - by³e¶ szybszy o 13 sec. smile.gif
nicox
tak
  1. <?php
  2. mysql_query(&#092;"INSERT INTO \".$tab.\" SET nick = '\".$nick.\"', nr_gg = '\".$nr_gg.\"', mail = '\".$mail.\"', tel='\".$tel.\"'\");
  3. ?>

bez zmian nadal blad
a tak:
  1. <?php
  2. // Reszta
  3.  
  4. $tab = $_POST['tab'];
  5. $nick = $_POST['nick'];
  6. $nr_gg = $_POST['nr_gg'];
  7. $main = $_POST['mail'];
  8. $tel = $_POST['tel'];
  9.  
  10. $zap = &#092;"INSERT INTO $tab SET nick = '$nick', nr_gg = '$nr_gg', mail = '$mail', telefon = '$tel' \");
  11.  
  12. // Reszta
  13. ?>

wywala blad w tej lini:
$zap = "INSERT INTO $tab SET nick = '$nick', nr_gg = '$nr_gg', mail = '$mail', telefon = '$tel' ");

aha poprawilem ta literowke $main = $_POST['mail']; na mail wiec to nie to tongue.gif



a moza to chodiz o ta kolumne id ktora ma sie automatycznie wypelniac niby ? hmm? dry.gif


czy jeszcze ktos ma jakies pomysly bo nadal nie moge sobie z tym poradzic
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.