Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Jak zalogowac na ciastkach autoodswiezajaca sie strone
Forum PHP.pl > Forum > Przedszkole
trzcina
Witam Was ponownie.

Mam kolejny problem:

1. W katalogu serwera leza dwa pliki: index.html oraz index.php

2. Index.html zawiera trzy pola oraz przycisk sluzacy do wysylania, jest to formularz

3. Index.php to indeks frameworku CakePHP, caly portal ktos napisal tak, ze sie odswieza co 10 sekund

Problem: w tej chwili, w momencie gdy wpisze: http://mojadres.com wyswietla sie index.html. Dopoki nie wypelnimy wszystich pol w tym formularzu, nie przekieruje nas on na index.php. Jak to zrobic dowiedzialem sie w poprzednim temacie jaki ttuaj zalozylem. Jednak problem polega na tym ze gdy wywolam index.php, np tak: http:/mojadres.com/index.php jego zawartosc sie pokazuje, a nie powinna.

Co chce uzyskac: chce, aby po wypelnieniu wszystkich pol w index.html zrobilo sie ciasteczko. Kiedy wywolamy index.php, ma on sprawdzic czy istnieje/jest ustawione ciasteczko oparte na uprzednio wypelnionym formularzu. Jesli ciastko istnieje, index.php ma sie normalnie wykonywac. Jesli ciastko nie istnieje, ma wracac na index.html. Problem polega na tym iz ta strona sie auto-odswieza i nie da rady tego zrobic polem formularza i komenda isset zmienna. Po odswiezeniu zmienna ulega wyczyszczeniu.

Ten kod nie dziala ze wzgledu na autoodswiezanie, po pierwszym odswiezeniu nie pamieta co bylo w polu formularza i kaszani mi stronke.
Kod
if(!isset($_POST['username'])) {
header('Location: http://mojadomena/index.html');
}


Dzialanie ma byc dokladnie takie:

1. wywoluje z przegladarki adres http://mojadomena/index.php -> efekt: przekierowanie na strone index.html bo nie ma ciastka

2. bedac w index.html:
- wypelniam pola tekstowe,
- naciskam przycisk,
- wysylam dane do index.php, ktory (jesli pole jest wypelnione) tworzy ciastko
- przy kazdym autoodswiezeniu strony, index.php sprawdza czy ciastko istnieje, jesli nie przekierowuje na strone "SESJA WYGASLA", jesli ciastko jest obecne, skrypt ma normalnie dzialac.

Prosze Was o dowolny przyklad index.php, ktory po wcisnieciu refresh w przegladarce, sprawdzi obecnosc ciastka i wyswietli komunikat potwierdzajacy lub przekieruje na index.html.

Kod index.html
Kod
<html>
<head>
</head>
<body>
<script type="text/javascript">
// <![CDATA[
function sprawdz(formularz)
{
    for (i = 0; i < formularz.length; i++)
    {
        var pole = formularz.elements[i];
        if (!pole.disabled && !pole.readonly && (pole.type == "text" || pole.type == "password" || pole.type == "textarea") && pole.value == "")
        {
            alert("Prosze wypelnic wszystkie pola!");
            return false;
        }
    }
    return true;
}
// ]]>
</script>

<form action="index.php" method="post" onsubmit="if (sprawdz(this)) return true; return false">
<div>
    Imie: <input type="text" name="username" /><br />
    Nazwisko: <input Nazwisko type="text" name="username2" /><br />
    Haslo:<input Haslo type="password" name="userpassword" /><br />
    <input type="submit" value="OK" />
</div>
</form>
</body>
</html>
CuteOne
Jeżeli wiesz co musisz zrobić to do dzieła... gotowców na zamówienie nie rozdajemy

ps. google nie boli...
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.