[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проверка email
mihai
почему не работает проверка email,
всё время выдаёт

echo "вы ввели неверный e-mail";

где ошибка ?
PHP
$email$_GET['email']; 

if(!
preg_match("/^[0-9a-z_\.\-]+@[0-9a-z_\.\-]+\.[a-z]{2,6}$/i",email)) 
echo 
"вы ввели неверный e-mail";
else 
echo 
"e-mail введён верно";




Спустя 50 минут, 23 секунды (1.04.2009 - 15:08) twin написал(а):
Так попробуй:
PHP
if(!preg_match("/^[a-z0-9_.-]+@([a-z0-9_]+.)+[a-z]{2,4}$/i",$email))

Спустя 19 минут, 3 секунды (1.04.2009 - 15:27) mihai написал(а):
в предыдущем варианте заработало,
а если вот так опять не работает

PHP
if(!preg_match("/^[a-z0-9_.-]+@([a-z0-9_]+.)+[a-z]{2,4}$/i",$email))

{exit (
"не верно заполнил email<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}

Спустя 3 часа, 48 минут, 55 секунд (1.04.2009 - 19:16) mihai написал(а):
Господа помогите.

опять заступорилось-
сделал проверку email
как посоветовали выше в простой форме проверка работает

PHP
if(!preg_match("/^[a-z0-9_.-]+@([a-z0-9_]+.)+[a-z]{2,4}$/i",$email))
{
exit ("не верный e mail<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}



но
в скрипте опять не работает
при любом вводе email
всегда выдаёт
("не верный e mail"

PHP
<?php session_start();?>
<html><body bgcolor="#B7B8B8">
<br><br><br><br><br><br>
<?php
echo 
"<table align='center'><tr><td>";
echo "<form action=forma.php method=POST>
<b>ваше имя:&nbsp;&nbsp;&nbsp;</b><input type=text size=25 name=imja><br>
<b>ваш e-mail:&nbsp;&nbsp;</b><input type=text size=25 name=email><br>
<b>ваш сайт:&nbsp;&nbsp;&nbsp;&nbsp;</b><input type=text size=25 name=url><br>
<b>текст вашего сообщения</b><br>
<textarea name=text rows=6 cols=70></textarea><br><br>
<img src='captcha.php' alt='Картинка'>
Введите текст с картинки: <input type='text' name='captcha'>
<br><br>

<input type=submit name=add value='добавить'>
<input type=reset name=reset value='отменить'>
</form>"
;

if (isset ($_POST['add']))
{


if (isset($_SESSION["captcha"]) && $_SESSION["captcha"]==$_POST["captcha"]) 
{


$csv="CSVfile.txt";



if(!
$_POST['imja']){exit ("нет имени<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}
if(!
$_POST['email']){exit ("нет email<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}
if(!
$_POST['url']){exit ("нет сайта<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}
if(!
$_POST['text']){exit ("нет текста<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}


if(!
preg_match("/^[a-z0-9_.-]+@([a-z0-9_]+.)+[a-z]{2,4}$/i",$email))
{
exit ("не верный e mail<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}



$control=$_POST['control'];

$imja=$_POST['imja'];
$email=$_POST['email'];
$url=$_POST['url'];
$text=$_POST['text'];
$data=date("d.m.Y H:i:s");
$strok="| - ".strip_tags($imja)."|".$data."|".strip_tags($email)."|".strip_tags($url)."|".
strip_tags($text)."|";
$strok=$strok.chr(13).chr(10);

$open=fopen($csv,"a");
fwrite($open,$strok);
fclose($open);


echo "Ваше сообщение добавленно.<br><a href='guest.php'>Вернуться на главную.</a>";

}
else {
                        echo "Текст введен не верно";
                         unset($_SESSION["captcha"]);
                      }
}

Спустя 3 минуты, 29 секунд (1.04.2009 - 19:20) bret написал(а):
ср.
HTML
<form action=forma.php method=POST>

и
PHP
$email$_GET['email'];

Спустя 20 минут, 48 секунд (1.04.2009 - 19:40) Kuliev написал(а):
mihai
PHP
<?
if(!
$_POST['imja']){exit ("нет имени<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}
if(!
$_POST['email']){exit ("нет email<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}
if(!
$_POST['url']){exit ("нет сайта<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}
if(!
$_POST['text']){exit ("нет текста<br> <a href='gostevo.php'>Вернуться на главную.</a><br>");}


Я бы тебе посоветовал так не делать, т.к. в случае если $_POST['url'] пустой, то скрипт остановит свою работу и выведет именно то сообщение об ошибке которое стоит в условии, при этом скрипт не будет проверять пустая ли переменная $_POST['text']! Вот тебе небольшой пример, это один из вариантов, все зависит от фантазии и поставленной задачи!!! huh.gif
PHP
<?
$error "";

if(!
$_POST['imja']){$error=. "нет имени<br> <a href='gostevo.php'>Вернуться на главную.</a><br>";}
if(!
$_POST['email']){$error=. "нет email<br> <a href='gostevo.php'>Вернуться на главную.</a><br>";}
if(!
$_POST['url']){$error=. "нет сайта<br> <a href='gostevo.php'>Вернуться на главную.</a><br>";}
if(!
$_POST['text']){$error=. "нет текста<br> <a href='gostevo.php'>Вернуться на главную.</a><br>";}

if (
$error != "")
{

// Выдаем ошибку

}
else
{

// Обрабатываем переменные




Спустя 2 часа, 53 минуты, 36 секунд (1.04.2009 - 22:34) kirik написал(а):
Кстати проверять не пустая-ли переменная лучше не так !$_POST['imja'], а через функцию empty($_POST['imja']). Или если нужно проверить существование переменной, то isset();. В обратном случае будет выводиться нотис, если переменной не существует (если вы конечно не отрубаете вывод ошибок).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.