Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z formularzem i insert
spit
post 23.04.2006, 00:48:35
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Czesc
Probuje zrobic na stronie system komentarzy, mam taki kod dodawania:
  1. <form method="post">
  2. <input name="nick" type="text" value="nick" />
  3. <input name="mail" type="text" value="mail" /><br />
  4. <textarea name="tresc" cols="50" rows="5"></textarea>
  5. <input type="submit" name="submit" value="Dodaj" />
  6. </form>
  7. <?php
  8. $nick = $_POST['nick']; 
  9. $mail = $_POST['mail'];
  10. $tresc = $_POST['tresc'];
  11. $tresc=nl2br(wordwrap(str_replace("<", "&lt;", $tresc), 50, " ", 1));
  12.  
  13. $polaczenie = mysql_connect('localhost','user','pass') or die('Polaczenie nieudane'); 
  14. mysql_select_db('baza') or die('Wybranie bazy nieudane'); 
  15. $zapytanie = "INSERT INTO 'komentarze' VALUES ('$zespol','$nick','$mail','$tresc',now())";
  16. $wynik = mysql_query($zapytanie) or die('blad'); 
  17. mysql_close($polaczenie);
  18. ?>

i niestety gdy wchodze na strone z tym wlasnie kodem, dostanie blad [or die('blad'); ]. Co jest zle?

Ten post edytował spit 23.04.2006, 00:49:11
Go to the top of the page
+Quote Post
GrayHat
post 23.04.2006, 01:01:06
Post #2





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


przed VALUES musisz okreslic pola do ktorych wpisujesz dane ze zmiennych po VALUES smile.gif

  1. INSERT
  2. INTO komentarze
  3. (pole1,pole2,pole3) VALUES ('wartosc1','wartosc2','wartosc3')


pozdrawiam


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
siemakuba
post 23.04.2006, 01:22:16
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Cytat
przed VALUES musisz okreslic pola do ktorych wpisujesz dane ze zmiennych po VALUES


to niekoniecznie. Jezeli robisz INSERT dla wszystkich pól, nie musisz ich wymieniać.

Myśle że tu problem leży w cudzysłowiach wokół nazwy tabeli. Wyglądają na zwykły pojedyńczy cudzysłów, a mogłoby ich nie być wcale. Jeżeli już mają koniecznie być to muszą to być "back-tick" (nie wiem jak to sie zwie po polsku) --> ` - na klawiaturze (u mnie) na tym samym klawiszu co tylda (~).

pozdr.
Go to the top of the page
+Quote Post
MrMag
post 23.04.2006, 01:22:54
Post #4





Grupa: Zarejestrowani
Postów: 154
Pomógł: 5
Dołączył: 24.02.2004

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


nie trzeba.

zrob sobie mysql_error() i zobacz co jest nie tak. moze jakis problem z tabelami bazy.

tak na oko to brak zmiennej $zespol przed query

Ten post edytował MrMag 23.04.2006, 01:24:29


--------------------
Go to the top of the page
+Quote Post
GrayHat
post 23.04.2006, 09:39:04
Post #5





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


potrzeba bo gosc nie wymienil ID... czyli nie leci wszystkich pol... cudzyslow z nazwy tabeli tez powinien zniknac...


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
spit
post 23.04.2006, 09:41:09
Post #6





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Dobra, zrobiłem w bazie od nowa tabele, i niby dodaje, ale raz, ze dodaje rekordy dwukrotnie, a dwa, ze pola sa puste. Wypelnione jest tylo to pole, ktoro pobierane jest z url i data (funkcja now()).
Go to the top of the page
+Quote Post
GrayHat
post 23.04.2006, 10:03:33
Post #7





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


ok to zrob to tak jak powinno to wygladac...
  1. <?php
  2.  
  3. $zapytanie = "INSERT INTO komentarze (pole,pole,pole,pole,pole) VALUES ('".$zespol."','".$nick."','".$mail."','".$tresc."',now())";
  4.  
  5. ?>


tak wogole to gdzie deklarujesz zmienna $zespol??


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
spit
post 23.04.2006, 10:08:52
Post #8





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Zrobilem tak - nie pomoglo.
$zespoly deklaruje jeszcze na poczatku
  1. <?php
  2. $zespol=$_GET['zespol'];
  3. ?>
, i potem uzywam w polaczeniach mysql, by nie grzebac w includach wielu plikow.
Go to the top of the page
+Quote Post
GrayHat
post 23.04.2006, 11:08:45
Post #9





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


a daj
  1. <?php
  2. echo $zapytanie;
  3. ?>

dobrze wydrukowalo zapytanie? tzn ze wszystkimi opcjami?

Ten post edytował GrayHat 23.04.2006, 11:09:01


--------------------
*Note: No animals were killed durning the construction of this post.
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 - 19:01