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
(CZiPEN)
28 Kwiecień 2010 15:36
#2
Spróbuj if(isset($cookie)) zmienić na if(isset($_COOKIE[‘mail’]))
Po zapisaniu ciasteczka, setcookie(), wywołaj header() albo użyj sesji.
Dzięki! Zrobiłem tak:
("Location: index.php");[/code]
Że ja o tym wcześniej nie pomyślałem #-o
“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.
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…