Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dziwny błąd, $_GET
cisu
post 24.12.2009, 12:39:37
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 15.03.2008
Skąd: Mirostowice Dolne

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


Witam, napotkałem bardzo dziwny błąd i nie wiem jak go rozwiązać.
  1. <?php if(!isset($_GET['akcja'])) {?>
  2. tutaj ma instrukcje
  3. <?php } else {
  4. if($_GET['akcja'] == 'dodaj') {?>
  5. Tutaj mam właśnie problem. Nie działa to, co tutaj jest wstawione.
  6. <?php } } ?>

Teraz tak, w pliku .htaccess mam coś takiego
Kod
RewriteRule ^user,notatki,dodaj$ index.php?page=user&mode=notatki&akcja=dodaj[L]

Mod_rewrite mam włączony prędzej, wszystko działa jak należy. Ale i tak nie działa to, jak mam pod $_GET['akcja']=='dodaj', nie wiem czemu, niby wsio działa a tutaj mam błąd. Jak to rozwiązać? Jak czegoś nie powiedziałem to dopowiem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
amii
post 24.12.2009, 14:11:08
Post #2





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Nie wiem czy to pomoże ale spróbuj:
trim($_GET['akcja'])


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
Kszyhuu
post 24.12.2009, 14:59:30
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

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


Ten kod wklejony przez Ciebie jest zły. Zamiast if($_GET['akcja'] == 'dodaj') powinno być if (isset ($_GET['akcja']) && $_GET['akcja'] == 'dodaj'). Czyli całość powinna wyglądać tak:

  1. <?php if(!isset($_GET['akcja'])) {?>
  2. tutaj ma instrukcje
  3. <?php } else {
  4. if (isset ($_GET['akcja']) && $_GET['akcja'] == 'dodaj') {?>
  5. Tutaj mam właśnie problem. Nie działa to, co tutaj jest wstawione.
  6. <?php } } ?>
Go to the top of the page
+Quote Post
webdice
post 24.12.2009, 17:54:52
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Daj na początku skryptu

  1. print_r($_GET);


i napisz co Ci się wyświetliło.

~krzychuu, bez sensu, sprawdzasz 2 razu to samo. Pierwszy if sprawdza czy zmienna nie istnieje, jeśli istnieje to sprawdza jaką ma wartość.
Go to the top of the page
+Quote Post
emtiej
post 24.12.2009, 22:45:50
Post #5





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 12.04.2009
Skąd: Rypin

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


A ja skopiowałem to co podałeś do pliku index.php na swoim serwerze i wszystko jest ok, może problem tkwi w instrukcjach, których nie podałeś? Chodzi mi o: "tutaj ma instrukcje" i "Tutaj mam właśnie problem. Nie działa to, co tutaj jest wstawione."

Podaj kompletny kod i skopiuj treść błędu jaki ci się wyświetla, bo na razie to jak gra w dużego lotka, można tylko strzelać...
Go to the top of the page
+Quote Post
cisu
post 27.12.2009, 00:10:14
Post #6





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 15.03.2008
Skąd: Mirostowice Dolne

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


Cytat(Kszyhuu @ 24.12.2009, 14:59:30 ) *
Ten kod wklejony przez Ciebie jest zły. Zamiast if($_GET['akcja'] == 'dodaj') powinno być if (isset ($_GET['akcja']) && $_GET['akcja'] == 'dodaj'). Czyli całość powinna wyglądać tak:<?php if(!isset($_GET['akcja'])) {?>
tutaj ma instrukcje
<?php } else {
if (isset ($_GET['akcja']) && $_GET['akcja'] == 'dodaj') {?>
Tutaj mam właśnie problem. Nie działa to, co tutaj jest wstawione.
<?php } } ?>

Z tym się absolutnie nie zgodzę, doczytaj kod a potem się wypowiadaj. Najpierw jest instrukcja jeżeli jest Nie je zadeklarowana zmienna $_GE['akcja'] a potem w ELSE, czyli jeżeli nie, dalszy ciąg. Błąd tkwił w pliku .htaccess, trudny do wychwycenia ale tam właśnie był.
Zamiast
Kod
RewriteRule ^user,notatki,dodaj$ index.php?page=user&mode=notatki&akcja=dodaj[L]

ma być
Kod
RewriteRule ^user,notatki,dodaj$ index.php?page=user&mode=notatki&akcja=dodaj [L]

Błędem był brak spacji przed ostatnim znacznikiem [L], zmieniłem to i zadziałało.
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: 14.08.2025 - 04:47