Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z Cookies - nie zapisuje zmian
Forum PHP.pl > Forum > PHP
Piotrek666
Mam problem
Pisze kod do rejestracji w serwise

w przypadku kiedy (if) odrzuca mi niepelna forme
kod powinien zapisac w cookies dane z pol ktore zostaly juz wpisane przez uzytkownika
a nastepnie przy zwroceniu formularzu, wypelnione pola powinny byc juz uzupelnione
(plus wyswietli sie maly komunikat - ktore dane nie zostaly wypelnione)

-petla (if)
-funkcja echo do wyswietla co nie zostalo wymienione
-ladowanie wartosci cookies do formularza
wszystkie te rzeczy wymienione dzialaja
moim zdaniem problemem jest register.php
gdzie fragment odpowiedzialny za zapisywanie wartosci do cookies nie chce dzialac


czy ktos moze zobaczyc ten fragment kodu i mi pomoc ze znalezieniem przyczyny?
dlaczego ciastka mala puste wartosci? i odswierzona strona laduje puste pola?
(probowalem z innym formularzem i cookies z innego formularza laduje do mojego-jesli oczywiscie nazwa bedzie sie zgadzac)



calosc jest w 2 plikach oto ich tresc

dolacz_do_nas.php
Kod
<form method="post" action="exe/register.php">
<p>Imię: <BR>
<input type="text" name="name" size="25"
maxlength="50" value="<?php echo $_COOKIE['fld_name']; ?>" /><BR>
Nazwisko: <BR>
<input type="text" name="surname" size="25"
maxlength="50" value="<?php echo $_COOKIE['fld_surname']; ?>" />

Tytuł: <BR>
<select name="gender">
<option value="1">Pan</option>
<option value="2">Pani</option>
</select>
<BR>Adres E-mail:
<BR><input type="text" name="email"
size="25" maxlength="40" value="<?php echo $_COOKIE['fld_email']; ?>" />

Adres Zamieszkania: <BR>
<input type="text" name="addr" size="25"
maxlength="50" value="<?php echo $_COOKIE['fld_addr']; ?>" /><BR>
Kod pocztowy i miasto: <BR>
<input type="text" name="postalcode" size="10" value="<?php echo $_COOKIE['fld_postalocode']; ?>" />  
<INPUT type="text" name="city" size="20 maxlength="50" value="<?php echo $_COOKIE['fld_city']; ?>" />
<p><input type="checkbox" name="agreement" onClick="if(this.checked==true){document.getElementById('register_click').disabled=false;}else{document.getElementById('register_click').disabled=true;}">
Akceptuję warunki <a href="umowa.php">Umowy</a>
<p>
   <input type="submit" id="register_click" disabled="true" value="Zarejestruj"  >

</form>
<?php
if($_GET['staus']=="error"){

             echo '<b><center><div class="button3" style="width:300">"Sprawdź nie wypelnione pola"</div></center></b>

';

            if (!$_COOKIE['fld_name']) echo '- Imię
';          
            if (!$_COOKIE['fld_surname']) echo '- Nazwisko
';
            if (!$_COOKIE['fld_addr']) echo '- Adres Zamieszkania
';
            if (!$_COOKIE['fld_postalcode']) echo '- Kod Pocztowy
';
            if (!$_COOKIE['fld_city']) echo '- Miasto
';
            if (!$_COOKIE['fld_email']) echo '- E-mail
';
?>



register.php
Kod
<?php
setcookie("fld_name");
setcookie("fld_surname");
setcookie("fld_addr");
setcookie("fld_postalcode");
setcookie("fld_city");
setcookie("fld_email");

if ((!$_POST['name']) or (!$_POST['surname']) or (!$_POST['city']) or (!$_POST['email'])or (!$_POST['addr']) or (!$_POST['postalcode']))

{
setcookie("fld_name",$_POST['name']);
setcookie("fld_surname",$_POST['surname']);
setcookie("fld_addr",$_POST['addr']);
setcookie("fld_postalcode",$_POST['postalcode']);
setcookie("fld_city",$_POST['city']);
setcookie("fld_email",$_POST['email']);
header("Location: http://..mojastrona../dolacz_do_nas.php?staus=error");
}

else
...



pozdrawiam
akurczyk
Ja bym tego tak nie robił, upchał bym wszystko w jeden plik i zamiast $_COOKIE['abc'] w formularzu dawał $_POST['abc'].
misiek172
takie rzeczy najlepiej zrobić JavaScriptem, zdarzeniem onBlur lub onChange, wtedy nie ważne czy kliknie dalej, czy mu sie niechcacy wyłączy, czy cokolwiek, zawsze będzie miał uzupełnione,

z jak już chcesz używać PHP to lepiej użyć SESJI, są:

a ) łatwiejsze
b ) po stronie serwera
c ) bardziej nie zawodne
Piotrek666
niestety javascript na razie odpada - nie umiem

jak z reszta widac php tez nie do konca umiem

co do jednego pliku i $_POST`a to tak napewno zostanie to rozwiazane.
jednakze do tego momentu cala koncepcja i uklad strony napewno zostanie nie jeden raz zmieniony

a tym czasem myslalem nad znalezieniem bledu czemu cookies nie zapisuja danych

pozdrawiam
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.