Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+MySQL] przekierowanie do strony *.php jako rekord w bazie (?)
Forum PHP.pl > Forum > PHP
roobik
Witam!
Od razu przejdę do rzeczy.
Chciałbym, by pewne rekordy w bazie były nieosiągalne - tzn, by po wpisaniu odpowiedniego adresu przekierowywało na główną stronę działu. Jest to przynajmniej dziwne, ale tylko z pozoru. Mam bowiem w bazie najważniejsze święta (12 rekordów, tyle ile jest miesięcy) i jeśli dajmy na to mamy sierpień to (przykładowa) strona ma się tak:
Cytat
www.jakis_serwer.pl/swieta.php?m=8

No i ok. Użytkownik odwiedza powyżaszą stronę i widzi święta w miesiącu sierpniu (m=8). Ale może być "nadto inteligentny" i mimo, że na stronie nie będzie linku do innych miesięcy, to wklepie w pasek adresu:
Cytat
www.jakis_serwer.pl/swieta.php?m=1

co w rezultacie wyświetli mu święta z miesiąca stycznia.
Kasowanie rekordów mija się z celem. Próbowałem więc dopisać na poczatku rekordu o id=1 (który odpowiada m=1 w "pasku adresu" kodu:
  1. <?php
  2.  header('Location: <a href=\"http://www.przykladowa.strona.com/');&#092;" target=\"_blank\">http://www.przykladowa.strona.com/');</a>
  3. ?>

Na różne sposoby. Razem z <? ?> i bez nich... Próbowałem javascriptu... NIC. zawsze wyświetlało "niepożądane" informacje.

Pytania są dwa, chyba, że odpowiedź znajdzie się na pyt1, to pytanie jest jedno smile.gif
1) Czy możliwe jest takie wstawienie do rekordu przekierowania? Jeśli tak - to w jaki sposób?
2) Z tego co kojarzę jest również inna możliwość, lecz nie wiem na czym polega. Otóż wiem, że wybrane rekordy można "zablokować" (chociaż to słowo niezbyt pasuje). Po prostu "są... ale ich nie ma" smile.gif Potrzebne byłony dodatkowe pole w bazie, np. "status", czy coś. Gdzieś widziałem takie rozwiązanie. Jeśli w pole "status" wprowadzona zostałaby lcyfra (np.5), to mimo, że treść jest i wszystko jest, lecz nie pokaże się ona użytkownikowi, gdy będzie "kombinował" w pasku adresu...
Uff - nie wiedziałem w jaki najprostszy sposób to wytłumaczyć. Myślę, że wiadomo o co chodzi... przynajmniej po części winksmiley.jpg
skowron-line
wiesz niewiem czy dobrze zrozumialem to co chcesz zrobic ale napisze ci tak
kombinujesz jak kon pod gore
skoro maja sie w danym miesiacu pokazywac tylko swieta z danego miesiaca i nie ma byc mozliwosci przekierowac z paska to mozesz zrobic tak
  1. <?php
  2. if($_GET[m] != date('n')) // gdzie n to miesiac w systemie liczbowym 1-12
  3. {
  4. header('location:swieta.php?m='date('n'));
  5. }
  6. ?>
roobik
OK, jest to wyjście, lecz nie jest ono pozbawione pewnej wady. na stronie ...swieta.php są(m.in) wyświetlane losowo święta z danego miesiąca. Jeśli użyję tego, to tak czy tak będą one wyświetlane, tyle, że bez sensu, skoro jeśli użytkownik kliknie w losowe święto, to... go przenosiłoby go na stronę gł...
Dlatego o tym piszę tutaj.
Jakiś czas temu widziałem podobne rozwiązanie, gdzie trzeba było dodać do bazy pole, które po spełnieniu określonych w skrypcie warunków (np. jeśli "status" = 5) nie będzie "brane pod uwagę" przez skrypt.
Będę wdzięczny za każdą podpowiedź (nawet, a może tym bardziej, za linka...).
skowron-line
no to jak chcesz warunek to moze taki
  1. <?php
  2. if(isset($_GET[m]))
  3. ?>

to sprawdzi najpierw czy jest wyslana zmienna wiec jezeli bedziesz na stronie glownej to cie nigdzie nie przeniesie.

W sumie slabo rozumiem o co tobie chodzi ale wiec strzelam

edit
Cytat
Gratuluję tysięcznego posta smilingsmiley.gif

a dziekuje dziekuje
roobik
Gratuluję tysięcznego posta smile.gif

Potrzebuję warunku, bądź takie części skryptu, która odpowiadałaby za taką formę:
(przy założeniu, że istnieje oczywiście pole "status")

jeśli pole "status" <> 0 (zero) to wykonaj przeniesienie na swieta.php
w innym przypadku (czyli else) wyświetl daną stronę

Już inaczej nie potrafię tego wytłumaczyć... sad.gif
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.