Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z Cookies - nie zapisuje zmian
Piotrek666
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.11.2008
Skąd: Czestochowa

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
akurczyk
post
Post #2





Grupa: Zarejestrowani
Postów: 201
Pomógł: 5
Dołączył: 15.07.2008
Skąd: Kłodzko

Ostrzeżenie: (10%)
X----


Ja bym tego tak nie robił, upchał bym wszystko w jeden plik i zamiast $_COOKIE['abc'] w formularzu dawał $_POST['abc'].
Go to the top of the page
+Quote Post
misiek172
post
Post #3





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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

Ten post edytował misiek172 13.11.2008, 18:06:14
Go to the top of the page
+Quote Post
Piotrek666
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.11.2008
Skąd: Czestochowa

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 13:35