[PHP]Ciasteczka


(master of disaster) #1

Witam!

Mam taki kod HTML/PHP:

<?php= $_POST['email'];    $submit = $_POST['submit'];    $cookie = $_COOKIE['mail'];    $ip = $_SERVER['REMOTE_ADDR'];    $przegladarka = $_SERVER['HTTP_USER_AGENT'];    if (isset($submit)) {        if (ereg("^.+@.+\..+$" , $email)) { ("mail", "$email", time()+10);            $info = "Wszystko ok";            $style = 'style="border: solid #66CC33 1px;"';        }        else {            $info = "Wprowadź poprawny adres E-Mail!";            $style = 'style="border: solid red 1px;"';        }    }?

(CZiPEN) #2

Spróbuj if(isset($cookie)) zmienić na if(isset($_COOKIE['mail']))


(master of disaster) #3

Niestety, dalej to samo.


(mario@) #4

Po zapisaniu ciasteczka, setcookie(), wywołaj header() albo użyj sesji.


(master of disaster) #5

Dzięki! Zrobiłem tak:

("Location: index.php");[/code]

Że ja o tym wcześniej nie pomyślałem #-o

(karololszak) #6

 "ereg() has been DEPRECATED as of PHP 5.3.0"

 

Kod, który działa:

<?php



$wartosc = 'E-mail';

$style = '';



if(isset($_COOKIE['mail'])){

$wartosc = $_COOKIE['mail'];

$style = 'style="border: solid #66CC33 1px;"';

}else{

if($_POST){

$email = $_POST['email'];

if(preg_match("|^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$|U" , $email)){

setcookie('mail', htmlspecialchars($email), time() + 60); //wazne przez minute

$wartosc = $email;

$style = 'style="border: solid #66CC33 1px;"';

}else{

$wartosc = 'Wprowadz poprawny adres E-mail!';

$style = 'style="border: solid red 1px;"';

}

}

}



$formularz = ''; echo $formularz;

?>

 

 

Z kodu wywaliłem trochę (IMO) niepotrzebnych rzeczy, dodaj sobie co Ci brakuje. Trochę narobiłem "ifów", ale kod był pisany na szybko..

Jak coś - kontakt via profil.


(master of disaster) #7

Po pierwsze to wiem ze jest tam kilka nie potrzebnych rzeczy bo to nie jest końcowy kod, a po drugie jak nie widzisz całego kodu to lepiej się nie odzywaj bo tabelki robię tylko pod formularze, cała strona jest na divach.

Ale w każdym razie dzięki...