Wpis z mikrobloga

#programowanie #php #sql

Mürki, potrzebuję zrobić taki myk, że wchodząc na stronę example.pl/?parametr=x pobiera mi się z bazy danych czy parametr w bazie ma wartość 0 lub 1, jeśli jest 0 to wtedy następuje przekierowanie na jakiś tam adres, a jeśli 1 to wtedy wyświetla mi się informacja, że brak dostępu czy coś w tym rodzaju. Do tej pory używałem po prostu htaccess, bo nie sprawdzałem tego parametru, ale teraz jak chce to wprowadzić no to nie wiem... no bo nie wywołam w htaccess żądania php co nie?
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@BenAffleck: No nie wywołasz. Możesz użyć w php instrukcji header("Location: x"), gdzie "x" to adres, na który ma przekierować. Czasami są problemy i wyskakuje błąd, że nagłówki zostały zmodyfikowane, dlatego nie można ich wywołać. Wtedy, w zależności, jaki masz kod, albo kombinujesz z tym, albo jak nie chce Ci się z tym bawić, to robisz... przekierowanie w HTML-u :D
  • Odpowiedz
Wtedy, w zależności, jaki masz kod, albo kombinujesz z tym


@Krylan: W bardzo starym kodzie prawie zawsze działa na początku skryptu w jakimś wspólnym pliku:
ob_start();
i później przekierowanie w taki
  • Odpowiedz
@BenAffleck: W htaccess nie wywołasz, ale możesz zrobić magię która spowoduje że przed każdym wywołaniem skryptu czy pliku, odpali się inny zadany PHP - używa się do tego autoprependfile. Nie wiem jak to zadziała np. dla plików JPG, ale pewnie da się ogarnąć jakoś, może rewritami.
  • Odpowiedz
Nie wiem jak to zadziała np. dla plików JPG


@kao3991: Normalnie, jeżeli włączysz interpreter PHP dla nich. Ale to nie jest bezpieczne gdy użytkownicy mogą wrzucać własne pliki JPG, nawet gdy jest walidacja formatu, bo będą mogli np. w komentarzach JPEG umieszczać kod.
  • Odpowiedz
@Krylan: zrobiłem index.php, w którym pobieram parametr oraz znajduję jego wartość w SQLu, jak się zgadza to daję header z przenoszeniem, a jak się nie zgadza to header ze stroną z błędem 403. Dzięki!
  • Odpowiedz