Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql+php] dodawanie rekordu do tab
nicox
post 27.02.2005, 13:59:47
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.02.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Leezard
post 27.02.2005, 14:41:58
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 19.09.2004
Skąd: Uć

Ostrzeżenie: (0%)
-----


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


--------------------
Nie rób nic na siłę - weź większy młotek ;)
Go to the top of the page
+Quote Post
nicox
post 27.02.2005, 17:32:35
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.02.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
strife
post 27.02.2005, 17:44:50
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


  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.


--------------------
Go to the top of the page
+Quote Post
Coyote
post 27.02.2005, 17:57:38
Post #5





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


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


--------------------
Go to the top of the page
+Quote Post
nicox
post 27.02.2005, 18:04:33
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.02.2005

Ostrzeżenie: (0%)
-----


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

Ten post edytował nicox 27.02.2005, 18:05:26
Go to the top of the page
+Quote Post
Ociu
post 27.02.2005, 18:11:18
Post #7





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




  1. <?php
  2. mysql_query(&#092;"INSERT INTO \".$tab.\" SET nick = '\".$nick.\"', nr_gg = '\".$nr_gg.\"', mail = '\".$mail.\"', tel='\".$tel.\"'\"); 
  3. ?>


Spróbuj tak

Ten post edytował Ociu 27.02.2005, 18:12:22
Go to the top of the page
+Quote Post
strife
post 27.02.2005, 18:11:31
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


  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

Ten post edytował scarface 27.02.2005, 18:13:29


--------------------
Go to the top of the page
+Quote Post
nicox
post 27.02.2005, 18:32:14
Post #9





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.02.2005

Ostrzeżenie: (0%)
-----


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

Ten post edytował nicox 28.02.2005, 09:39:30
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 11:27