Skocz do zawartości

Prosba o pomoc w rozwiązaniu problemu przekeirowania.


Strefamocy

Rekomendowane odpowiedzi

Witam,

chciałbym prosić Was o pomoc, mianowicie mam stronę w której muszę zrobić przekeirowanie na okres 3 miesięcy na jedną z podstron. Chodzi o to, że jak klient wpiszę adres strony głównej to przekierowuje go na podstronę, ale żeby była możliwość wrócenia spowrotem do strony głównej. Nie wiem za bardzo jak to rozwiązać, ponieważ zrobiłem poprzez html, ale nie da rady wracać na stronę główną bo od razu znów przekeirowuje.

Jesli ktoś miałby pomysł to poprosze o kod i gdzie go wstawić.

Pozdrawiam

Strefamocy

Odnośnik do komentarza
Udostępnij na innych stronach

Rozwiązać można np. na dwa sposoby:

1) Na stronie głównej A wykrywamy ciacho wystawione na stronie drugiej B jeśli ciach jest nie podejmowana jest żadna akcja jeśli nie ma przekierowanie na stronę B i wystawienie ciacha

2) To samo ale może być w HTML za pomocą JS wystawianie ciastek i ich obsługa(wykrywanie).

:P

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Rozwiązać można np. na dwa sposoby:

1) Na stronie głównej A wykrywamy ciacho wystawione na stronie drugiej B jeśli ciach jest nie podejmowana jest żadna akcja jeśli nie ma przekierowanie na stronę B i wystawienie ciacha

2) To samo ale może być w HTML za pomocą JS wystawianie ciastek i ich obsługa(wykrywanie).

:P

A możesz mi to w kodzie napisać jak to ma dokładnie wyglądać tak żeby działało?

Odnośnik do komentarza
Udostępnij na innych stronach

A możesz nie cytowac zbędnie całych poprzednich wypowiedzi !

<?
/* Kod na stronie A na samym poczatku */
if(!isset($_COOKIE['byl_na_b']))
{
header('location:B.php');
exit;
}
?>

 <?
/*
Kod na stronie B na samym poczatku
Mozna ustawic czas zycia cookie wtedy kierowanie ze strony A na B
bedzie dzialac tyko w wypadku nie waznosci wystawionego cookie na B
*/
setcookie('byl_na_b','tak');
?>

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Jasne :P pisalem bez sprawdzenie braK ]

czyli popraw w : if(!isset($_COOKIE['byl_na_b']))

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli przeglądarką ma włączoną obsługę cookies kod działa prawidłowo na 100 %.

Zamknij wszystkie okna przeglądarki i otwórz ponownie:

Demo: https://smarty.ovh.org/test/A.php

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Na pewno ta linijka jest na samym początku pliku?

setcookie('byl_na_b','tak');

Nic nie może zostaś wysłane do przeglądarki użytkownika przed tą linijką.

A nie lepiej zastosować sesje? Ten sam przykład tylko że z sesją. Niektórzy nie przyjmują ciasteczek.

.

Odnośnik do komentarza
Udostępnij na innych stronach

Na stronie głównej mam kod:

<?php
/* Kod na stronie A na samym poczatku */
if(!isset($_COOKIE['byl_na_b']))
{
header('location:kalendarze-trojdzielne.php');
exit;}

?>

Na podstronie mam kod:

<?php
/*
Kod na stronie B na samym poczatku
Mozna ustawic czas zycia cookie wtedy kierowanie ze strony A na B
bedzie dzialac tyko w wypadku nie waznosci wystawionego cookie na B
*/
setcookie('byl_na_b','tak');
?>

Strona przy takiej konfiguracji wogóle nie przekeirowuje na podstronę.

Na podstronie i głównej kod jest wstawiony jako ppierwszy.

To podaj przykład z sesją.

WIęc podam dokładnie chcę aby po wejściu na

https://www.comers.com.pl przekierowywało na

https://www.comers.com.pl/kalendarze-trojdzielne.php

Odnośnik do komentarza
Udostępnij na innych stronach

A nie lepiej zastosować sesje? Ten sam przykład tylko że z sesją. Niektórzy nie przyjmują ciasteczek.
Sesje wiążą się znowu ze zmienionymi linkami co źle wpływa na wyszukiwarki. Odsetek osób którzy mają wyłączoną obsługę cookies jest tak mały, że można ich śmiało pominąć.
Strona przy takiej konfiguracji wogóle nie przekeirowuje na podstronę.
Pisalem, ze masz zamknac wszystkie okna przeglądarki co spowoduje wykasowanie cookies wystawionego na B i wejsc jeszcze raz na A. W takiej konfiguracji czas "życia" cookies jest do zamkniecia okna przegladarki

PS na https://www.comers.com.pl/ dziala przekierowanie prawidłowo

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Mam jeszcze jedno rozwiązanie

if(empty($_SERVER['QUERY_STRING']))
header('location:kalendarze-trojdzielne.php');

Tylko tyle na pierwszej stronie.

Ale aby powrócić na początkową stronę z podstrony to link do głównej strony musi być np taki: www.comers.com.pl/?start nie może być www.comers.com.pl

.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności