Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekierowanie
Forum PHP.pl > Forum > PHP
malin90
Witam
Mam problem z przekierowaniem z podstrony mojego serwisu na stronę główną, ale od początku smile.gif
Mam stronę na której ogłaszają się osoby oferujące noclegi na wakacje (baza noclegowa).
Oferuję w niej kilkudniowy okres, w którym oferty klientów są wyświetlane za darmo.
Problem w tym, że gdy ten okres się skończy oferta jest teoretycznie nie aktywna, ale tylko
teoretycznie, ponieważ niemożliwe jest dostanie się na podstronę danego obiektu ze strony
mojego serwisu, ale jeśli ktoś ma bezpośredni odnośnik do tej podstrony lub gdy np. google tę
stronę zindeksuje to podstronę z obiektem można oglądać. To jest właśnie ten problem.
Chciałbym aby to nie było możliwe, więc wymyśliłem, że gdy oferta straci aktywność,
odpowiedni kodzik będzie ją przekierowywał na stronę główną serwisu.

W bazie aktywność oznacz:
$aktywna = 0 - nieaktywna
$aktywna = 1 - aktywna

próbowałem zrobić coś takiego:

  1. <?php
  2. {if $aktywna == 0}
  3. header('Location:http://www.moja-strona.com');
  4. ?>

Mam podejrzenia że muszę napisać coś jeszcze przed ww. skryptem np.
sprawdzić czy w bazie zmienna aktywna = 0 lub 1

Próbuję ale nic nie może mi z tego wyjść, słaby w tym jestem dlatego proszę Was o pomoc smile.gif
Pozdrawiam
Spawnm
zacznij od nauki podstaw.
  1. <?php
  2. if($aktywna == 0){
  3. //header
  4. }
  5. ?>
nexis
Jeśli header()" title="Zobacz w manualu PHP" target="_manual to koniecznie w połączeniu z exit()" title="Zobacz w manualu PHP" target="_manual, bo inaczej treść strony nadal można odczytać.
matixrr
Możesz zrobić coś takiego ze przy dodawaniu rekordu do tablicy bedziesz miec pole waznosci w ktore wpisujesz aktualna date powiekszona o piec dni i pozniej przy wywolywaniu rekordu na stronie sprawdzasz czy data nie jest starsza od dzisiejszej i jak jest to przekierowujesz i czesc smile.gif
malin90
Wkleiłem to co przesłał "Spawnm" ale teraz nie jest możliwe wejście na żadną podstronę
z ofertą nawet aktywną. Tak jak wspomniałem chyba trzeba sprawdzić czy zmienna
aktywna wynosi 0 czy 1 co_jest.gif
erix
Cytat
Tak jak wspomniałem chyba trzeba sprawdzić czy zmienna
aktywna wynosi 0 czy 1

No raczej. winksmiley.jpg Bo wtedy wyjdzie przekierowanie nieskończone. PS. Na stronie docelowej też to sprawdzaj, aby Ci się nie zapętliło.
malin90
  1. <?php
  2. if($_GET['aktywna'] == 0){
  3. header('Location:http://www.moja-strona.com');
  4. }
  5. ?>

wstawiam takie coś ale nie działa dry.gif
erix
Bo jeśli szukana zmienna nie istnieje, to zawsze zwracane jest false, czyli zero. winksmiley.jpg
malin90
Podpowiedzcie mi proszę co ja mam tu wpisać, bo siedzę nad tym
drugi dzień i nic nie mogę zdziałać sadsmiley02.gif
Spawnm
matixrr ci podpowiedział,
co jeszcze chcesz wiedzieć?
malin90
Witam ponownie
Częściowo rozwiązałem problem, ponieważ przekierowanie działa yahoo.gif
Niestety pozostaje jeden mankament, otóż w treści strony wyświetla się
linia skryptu:
  1. <?php
  2. string(41) "SELECT aktywna FROM oferty WHERE id = 14\"
  3. ?>

cały skrypt:
  1. <?php
  2. $id = (int) $_GET['id'];
  3.  
  4. $query=("SELECT aktywna FROM oferty WHERE id = $id");
  5.  
  6. var_dump($query);
  7. $result = mysql_query($query);
  8.  
  9. list($active) = mysql_fetch_array($result);
  10.  
  11. if($active == false){
  12. header('Location: <a href=\"http://www.moja-strona.com');&#092;" target=\"_blank\">http://www.moja-strona.com');</a>
  13. echo 'Oferta niedostępna';
  14. }
  15. ?>


Proszę powiedzcie co jest źle...
Lion_87
Cytat
var_dump($query);
wywal to
malin90
Dzięki wielki, działa !
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.