Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]błędy w formularzu
mariuszzzzzz
post 2.03.2007, 10:40:10
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 27.06.2005

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


Witam

mam skrypt php (formularz) ktory teraz jakos przestal poprawnie dzialac. Otoz ja go kupilem poniewaz nie jestem dobry w programowaniu php.

Po wypelnieniu formularza za kazdym razem pisze ze nie udalo sie dodac obiektu, pomimo tego ze wszystko zostalo poprawnie wypelnione. Czy jest mozliwe ze zostal jakis limit zalozony bez mojej wiedzy?

Ja moze dam troche tego kodu:

  1. <?php
  2. $q="INSERT INTO `obiekty` (kraj,woj,kat,nazwa,ul,kod,miasto,tel1,tel2,fax,www,mail,pokoje,kuchnia,free
    time,wyposazenie,platnosc,polozenie,jezyki,data,cena1,cena2,cena3,cena4,cena5,cen
    a6,opis,url1,url2,url3,url4,url5,ok) VALUES ('$_POST[kraj]','$woj','$kat','$_POST[nazwa]','$_POST[ul]','$_POST[kod]','$_POST[miasto]','$_POST[tel1]','$_POST[tel2]','$_POST[fax]','$_POST[www]','$_POST[mail]','$pokojeadd','$kuchniaadd','$freetimeadd','$wyposazenieadd','$platnoscadd','$polozenieadd','$jezykiadd','$data','$cena1','$cena2','$cena3','$cena4','$cena5','$cena6','$opis','$url1','$url2','$url3','$url4','$url5','$ok')"
    ;
  3. $r=mysql_query($q);
  4.  
  5. if ($r == TRUE)
  6. {
  7. echo '<div align="center"><table border=1 width="350"><tr><td>Dane zg&sup3;oszonego obiektu zosta&sup3;y wys&sup3;ane do administratora strony. 
  8. Po ich zatwierdzeniu obiekt zostanie dodany do katalogu.</td></tr></table><br><br>';
  9. }
  10. else
  11. {
  12. echo '<center><b>nie uda&sup3;o si&ecirc; doda&aelig; obiektu!</b></center><br><br>';
  13. }
  14. ?>



Bardzo prosze o pomoc. Nie wiem gdzie szukac w tym wszystkim bledu.


--------------------
Profesjonalne pozycjonowanie w Niemczech. Polecam i zobacz blog o pozycjonowaniu stron internetowych: http://pozycjonowaniestronniemcy.wordpress.com/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
kossa
post 2.03.2007, 11:18:37
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


1. Sprawdź co zwraca mysql_query - czy zapytanie się wykonuje

2. Podejrzyj jak wygląda zapytanie po wypełnieniu formularza (echo $q;)

3. Może tabela jest źle zaprojektowana i "zapełniłeś" ją maksymalną ilością rekordów

4. Może nie masz połączenia z bazą

5. Włącz wyświetlanie błędów, może jest jakiś błąd w zapytaniu sql

6. ...

Łukasz


--------------------
Go to the top of the page
+Quote Post
Cienki1980
post 2.03.2007, 11:26:23
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Otwieram i przenoszę na PHP->Przedszkole


--------------------
404
Go to the top of the page
+Quote Post
mariuszzzzzz
post 2.03.2007, 12:09:54
Post #4





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 27.06.2005

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


Cytat(kossa @ 2.03.2007, 11:18:37 ) *
1. Sprawdź co zwraca mysql_query - czy zapytanie się wykonuje

2. Podejrzyj jak wygląda zapytanie po wypełnieniu formularza (echo $q;)

3. Może tabela jest źle zaprojektowana i "zapełniłeś" ją maksymalną ilością rekordów

4. Może nie masz połączenia z bazą

5. Włącz wyświetlanie błędów, może jest jakiś błąd w zapytaniu sql

6. ...

Łukasz



skrypt nie wyrzuca zadnych bledow, polaczenie z baza jest nawiazywane. Ale cos mi sie wydaje ze to baza danych zostala zle skomponowana.
W jaki sposob moge wlaczyc wyswietlanie bledow?


--------------------
Profesjonalne pozycjonowanie w Niemczech. Polecam i zobacz blog o pozycjonowaniu stron internetowych: http://pozycjonowaniestronniemcy.wordpress.com/
Go to the top of the page
+Quote Post
JaRoPHP
post 2.03.2007, 12:18:45
Post #5





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Wywołaj funkcję mysql_error" title="Zobacz w manualu PHP" target="_manual po zapytaniu:
  1. <?php
  2. $q="INSERT INTO `obiekty` ...";
  3. echo $q;
  4. $r=mysql_query($q) or die(mysql_error());
  5. ?>

Poza tym, dlaczego nawias w zapytaniu otwierasz za pomocą kodu ASCII: & #40 (bez spacji)?

EDIT:
Zgodnie z sugestią (poniżej) autora wątku, zamieszczam cały kod:
  1. <?php
  2. $q="INSERT INTO `obiekty` & #40;kraj,woj,kat,nazwa,ul,kod,miasto,tel1,tel2,fax,www,mail,pokoje,kuchnia,
    freet
  3. ime,wyposazenie,platnosc,polozenie,jezyki,data,cena1,cena2,cena3,cena4,cena5,cen
  4. a6,opis,url1,url2,url3,url4,url5,ok) VALUES ('$_POST[kraj]','$woj','$kat','$_POST[nazwa]','$_POST[ul]','$_POST[kod]','$_POST[miasto]','$_POST[tel1]','$_POST[tel2]','$_POST[fax]','$_POST[www]','$_POST[mail]','$pokojeadd','$kuchniaadd','$freetimeadd','$wyposazenieadd','$platnoscadd','$polozenieadd','$jezykiadd','$data','$cena1','$cena2','$cena3','$cena4','$cena5','$cena6','$opis','$url1','$url2','$url3','$url4','$url5','$ok')";
  5.  
  6. echo $q; // dodane
  7. $r=mysql_query($q) or die(mysql_error()); // zmodyfikowane
  8.  
  9. if ($r == TRUE)
  10. {
  11. echo '<div align="center"><table border=1 width="350"><tr><td>Dane zgłoszonego obiektu zostały wysłane do administratora strony. 
  12. Po ich zatwierdzeniu obiekt zostanie dodany do katalogu.</td></tr></table><br><br>';
  13. }
  14. else
  15. {
  16. echo '<center><b>nie udało się dodać obiektu!</b></center><br><br>';
  17. }
  18. ?>


Ten post edytował JaRoPHP 2.03.2007, 12:33:07


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
mariuszzzzzz
post 2.03.2007, 14:36:35
Post #6





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 27.06.2005

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


chcialbym przypomniec ze nie mialem jeszcze doczynienia z php. Ja ten skrypt kupilem i nie wdrazalem sie jak on dziala. Powiedzialem co chcialem i tyle. Facet mi zrobil kod i bylem zadowolony.
Moze podac caly kod tego pliku to wtedy bedziesz mogl zobaczyc dokladnie.


edycja
po wprowadzeniu zmian w kodzie pojawil sie taki tekst


INSERT INTO `obiekty` (kraj,woj,kat,nazwa,ul,kod,miasto,tel1,tel2,fax,www,mail,pokoje,kuchnia,freetime
,wyposazenie,platnosc,polozenie,jezyki,data,cena1,cena2,cena3,cena4,cena5,cena6,o
pis,url1,url2,url3,url4,url5,ok) VALUES ('1','1','','hl','g','hjg','jh','h','g','','','m.otokw@dfas.pl','','','','','','','','02.03.07|12:41','','','','','','','','','','','','','no')Powtórzone wyst?pienie '127' dla klucza 1

po wywołaniu funkcji mysql_error nie wyszedl zaden blad.
z tego wynika ze powinno cos byc nie tak z baza danych. Czy wie moze ktos jak wejde do bazy to na co powinienem spojrzec/poprawic/sprawdzic zeby formularz normalnie zostal dodawany do bazy?

juz wiem co jest powodem
otoz usunolem czesc danych z bazy (oczywiscie zrobilem sobie najpierw kopie) i sprobowalem jeszcze raz dodac nastepne dane przez formularz i teraz idzie perfekt.

I teraz mam pytanie:

Jak zrobic zeby w tabeli zmiescilo sie wiecej wpisó/danych? worriedsmiley.gif

Ten post edytował mariuszzzzzz 2.03.2007, 12:42:56


--------------------
Profesjonalne pozycjonowanie w Niemczech. Polecam i zobacz blog o pozycjonowaniu stron internetowych: http://pozycjonowaniestronniemcy.wordpress.com/
Go to the top of the page
+Quote Post
kossa
post 2.03.2007, 14:49:38
Post #7





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


najprawdopodobniej masz jakąś kolumnę np id (auto_increment) której wartość już jest zapełniona maksymalnym wpisem, np. możesz mieć typ id jako smallint, zmień na int lub bigint

Łukasz


--------------------
Go to the top of the page
+Quote Post
mariuszzzzzz
post 2.03.2007, 15:04:58
Post #8





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 27.06.2005

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


Cytat(kossa @ 2.03.2007, 14:49:38 ) *
najprawdopodobniej masz jakąś kolumnę np id (auto_increment) której wartość już jest zapełniona maksymalnym wpisem, np. możesz mieć typ id jako smallint, zmień na int lub bigint

Łukasz



dokladnie tak mam ID auto_increment.
w "type" dalem na INT a w "extra" jest tylko do wyboru auto_increment albo nic
to mam dac na nic?

sprobowalem dodac nocleg i udalo sie dodac ale przypisal mu ID=0 potem kolejny raz sprobowalem dodac nocleg to juz nie szlo bo juz istnial noecl z ID=0
a da sie jakos zwiekszyc limit na ilosc ID?

Ten post edytował mariuszzzzzz 2.03.2007, 15:13:05


--------------------
Profesjonalne pozycjonowanie w Niemczech. Polecam i zobacz blog o pozycjonowaniu stron internetowych: http://pozycjonowaniestronniemcy.wordpress.com/
Go to the top of the page
+Quote Post
Cienki1980
post 2.03.2007, 15:14:49
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Jak już to zostaw INT i auto_increment. To pole nie powinno być problemem. Ja bym poszukał czy któreś pole nie ma założonego UNIQUE.
Pokaż cała strukturę tej tabeli.


--------------------
404
Go to the top of the page
+Quote Post
mariuszzzzzz
post 2.03.2007, 15:18:26
Post #10





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 27.06.2005

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


jak mam pokazac strukture tabeli? mam poprostu zrobic kopiuj - wklej?


--------------------
Profesjonalne pozycjonowanie w Niemczech. Polecam i zobacz blog o pozycjonowaniu stron internetowych: http://pozycjonowaniestronniemcy.wordpress.com/
Go to the top of the page
+Quote Post
Cienki1980
post 2.03.2007, 15:55:17
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


w phpMyAdminie po wyborze tabeli masz opcję EXPORT, zostaw zaznaczony checkbox tylko przy Struktura, a odznaczony przy Dane, po czym kliknij Wykonaj

Na ekranie pojawi się zrzut tabeli .. skopiuj i wklej tu na forum .. ale tylko od create table ..... do pierwszego średnika ';' .


--------------------
404
Go to the top of the page
+Quote Post
mariuszzzzzz
post 2.03.2007, 16:24:41
Post #12





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 27.06.2005

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


oto struktura tabeli
  1. CREATE TABLE `obiekty` (
  2. `id` int(4) NOT NULL AUTO_INCREMENT,
  3. `kraj` text NOT NULL,
  4. `woj` text NOT NULL,
  5. `kat` text NOT NULL,
  6. `nazwa` text NOT NULL,
  7. `ul` text NOT NULL,
  8. `kod` text NOT NULL,
  9. `miasto` text NOT NULL,
  10. `tel1` text NOT NULL,
  11. `tel2` text NOT NULL,
  12. `fax` text NOT NULL,
  13. `www` text NOT NULL,
  14. `mail` text NOT NULL,
  15. `pokoje` text NOT NULL,
  16. `kuchnia` text NOT NULL,
  17. `freetime` text NOT NULL,
  18. `wyposazenie` text NOT NULL,
  19. `platnosc` text NOT NULL,
  20. `polozenie` text NOT NULL,
  21. `jezyki` text NOT NULL,
  22. `data` text NOT NULL,
  23. `cena1` int(11) NOT NULL DEFAULT '0',
  24. `cena2` int(11) NOT NULL DEFAULT '0',
  25. `cena3` int(11) NOT NULL DEFAULT '0',
  26. `cena4` int(11) NOT NULL DEFAULT '0',
  27. `cena5` int(11) NOT NULL DEFAULT '0',
  28. `cena6` text NOT NULL,
  29. `opis` text NOT NULL,
  30. `url1` text NOT NULL,
  31. `url2` text NOT NULL,
  32. `url3` text NOT NULL,
  33. `url4` text NOT NULL,
  34. `url5` text NOT NULL,
  35. `ok` text NOT NULL,
  36. PRIMARY KEY (`id`)
  37. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=131 ;


--------------------
Profesjonalne pozycjonowanie w Niemczech. Polecam i zobacz blog o pozycjonowaniu stron internetowych: http://pozycjonowaniestronniemcy.wordpress.com/
Go to the top of the page
+Quote Post
Cienki1980
post 2.03.2007, 16:49:44
Post #13





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Nie wypełniasz wszystkich danych potrzebnych do tego, żeby dodał się rekord.
Np: kat, www, fax, i potem wszystkich innych....

Z tych pól nie są wymagane pola cena ... bo mają ustawione wartości default.


--------------------
404
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: 19.07.2025 - 09:46