![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taki kodzik
Problem w tym, że po załadowaniu strony nie wyświetla się nic, nawet formularz, który znajduje się przed kodem php. Na tyle na ile sie orientuję do 15. linijki wszystko jest ok (sprawdzałem dając echo tekst). Coś zepsułem w reszcie kodu. Byłbym wdzięczny, jakby mi ktos pomógł (kilka godzin się z tym męczę) Większość pól w bazie typu varchar. Jedynie pola id w obu tabelach typu int, oraz pole expires typu date. Reszta pól, bez wzgledu czy to IP, data, czy tekst mają typ varchar. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
@up
Nie wiem, czym zawiniłem. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Włącz wyświetlanie błędów error_reporting to zobaczysz błąd w warunku
mianowicie powinno być W linii 40. zgubiłeś średnik
Tutaj błąd logiczny, powinno być or a nie and Datę powinno się trzymać w typie kolumny do tego przeznaczonym, czyli date/datetime/timestamp a nie varchar |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
@up
Dzięki za pomoc. Szkoda, że wcześniej nie zauważyłem, że raportowanie błędów jest wyłączone - sam nie wiem co myślałem. Wychodzi na to, że źle zastosowałem konstrukcję if i else, co juz poprawiłem. Niestety nie mogę sprawdzić poprawności działania skryptu, ponieważ baza mi siadła (uroki darmowych hostingów). Jednak nie zgodzę się co do rzekomego błędu w 4. linijce. Taka sama konstrukcja, działa bez problemu w innym moim skrypcie. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Działa, bo tam też masz wyłaczone raportowanie błędów. Powinieneś ujrzeć błąd Warning: Illegal string offset
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie, również był błąd, a error wyrzucał "Undefined index: adres" (pierwsza zmienna). Co ciekawe, tę metodę pobierania danych formularza doradził mi ktos na tym forum ;p
Z drugiej strony, skoro ta metoda działa, to chyba jest to error na wyrost? Mam jeszcze pytanie, czy mam możliwość właczenia odgórnego raportowania błędów w mojej sytuacji, czy muszę korzystać z pliku do sprawdzania, jak robie to teraz? (wrzucenie odpowiedniego kodu na początek pliku php nie pokazuje błędów) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Z założenia kod nie powinien mieć błędów. Bodajże w php.ini możesz globalnie włączyć raportowanie błędów.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ok, ale z tego co sie orientuje, to muszę mieć specjalne uprawnienia do tego? Chociaż nie jestem pewien.
Zauważyłem jeszcze, że ten sam error dostaję ze zmienną get: "if($_GET['s']){" Kiedy przeprawię tę linijkę w analogiczny sposób do reszty, dostaję błąd o wadliwej klamrze. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie musisz mieć żadnych ekstra uprawnień.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Ok, ale z tego co sie orientuje, to muszę mieć specjalne uprawnienia do tego? Chociaż nie jestem pewien. Zauważyłem jeszcze, że ten sam error dostaję ze zmienną get: "if($_GET['s']){" Kiedy przeprawię tę linijkę w analogiczny sposób do reszty, dostaję błąd o wadliwej klamrze. if($_GET['s']) zwraca prawdę lub fałsz, a ty masz sprawdzić czy zmienna istnieje, czyli Ten post edytował Turson 22.04.2014, 19:08:39 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
@up
Źle przepisałem poprzednim razem, dzięki za naprowadzenie.
Ech, errory - parser nie identyfikuje zmiennych z 14. linijki. A zapytania i tak się nie nie wykonują, więc chyba są schrzanione, tylko nie wiem gdzie. Przy okazji, po zmianie wersji php z 5.5 na 5.3 znikła połowa errorów związanych z połączeniem do bazy. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
W insercie masz $userid, sprawdź jak pobiera się rekordy z bazy danych, bo samo mysql_query nie wystarczy.
Update nie robisz, to zwykły string, brakuje mysql_query |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Rozpaczliwie szukając błędu zakomentowałem resztę kodu i zrobiłem z pierwszym zapytaniem coś takiego
Jak się pewnie każdy domyślił, nie wyświetla się nic. Nie wiem dlaczego, skoro po wpisaniu zapytania do bazy, lecz zamiast zmiennej podałem jedną z istniejących wartości dla `name`, wyświetla się prawidłowy wynik. Czy ktoś mógłby mi wskazać gdzie robię błąd? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Jesteś pewien, że chodzi o pobranie ilości wierszy a nie rekordów? mysql_fetch_assoc
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Racja, nie tej wartości szukałem. Wieczorem się z tym rozprawię. Przynajmniej postaram się.
Dobra, stanęło na tym.
Nic się nie wyświetla, zero błędów. Ten kod jest zły, czy zapytanie. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ten kod jest wadliwy...
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
@up Nie rozumiem dlaczego nadal nie wyświetla mi id, nawet gdy dam echo $row['id'];. W oddzielnym skrypcie, gdzie jest tylko kod na pobranie id z bazy wyświetla się bez problemu. Tutaj nic, żadnych errorów. Zła konstrukcja reszty kodu? |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zrób var_dump(mysql_num_rows($spr)) i zobacz jaki jest wynik. Bo może zwraca więcej niż 1 albo false.
Po drugie: SELECT * FROM users WHERE name LIKE '$USER' Dlaczego sprawdzasz w ten sposób? Jeśli masz użytkowników tom, tomasz, tomx to będzie prawda prawda dla nich wszystkich. Po trzecie. Pewnie da radę to jednym zapytaniem zapisać zamiast tak męczyć bazę. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Zastanawia mnie, czy w tej konstrukcji wykonuje się ostatni "else" (14) jeśli pierwszy "if" (2) się niepotwierdza?
Może problem leży w tym, że warunki z ostatniego else, czyli te dodające wpisy do bazy nie wykonują się z powodu złej konstrukcji całego kodu? |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zwracałem ci na to uwagę dopiero co. Czytasz komentarze?
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Nie doszukałem się od Ciebie żadnej wzmianki na temat ifów...
A var dump $spr zwraca int(1) - chyba dobrze. Zresztą powinno być dobrze, bo sprawdzenie czy użytkownik istnieje działa, oraz sprawdzenie czy kod został wykorzystany również działa. Chrzani sie przy pobraniu id od zmiennej $USER, mimo że w osobnym skrypcie, który też miał za zadanie pobrać to id wszystko działa i się wyświetla. |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Byłą, pierwsze zdanie. Teraz przeczytaj drugie. Znajdź różnicę międzu kolumna = wartość a kolumna like wartość. Póki co wybierasz losowe dane więc dostajesz losowe wyniki.
|
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tą informację akurat odebrałem i mimo że jeszcze nie przeprawiłem, to ze skryptu korzystam z nowej bazy w której jest 4 userów, z zupełnie innymi nickami. Rozumiem, ze przy większej ilości jest istotne czy używam Like, czy nie, ale tutaj jeszcze nie powinno mi powodować problemów.
Ok, dzięki za pomoc, a w szczególności za jej brak. Rozumiem, że powiedzenie mi gdzie dokładnie zrobiłem błąd, jest zbyt wymagające i najlepiej gdybym rzucił za to groszem. Ale może to i dobrze, ze "pomoc" się skończyła. Bawienie się w kotka i myszkę wymownymi odpowiedziami przez tydzień skutecznie mnie zniechęciło. That's all. |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak inni ale ja osobiście pogubiłem się jaki masz obecnie kod i jaki jest z nim problem. A dając zdawkowe informacje nie oczekuj że będę zgadywał.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 18:14 |