Я не въеду в логику: значит мы говорим, если при проверке e-mail адреса введенные данные являются любым не алфавитно цифровым, то е-майл верен, во всех остальных случаях не верен.
Или же все таки это выражение со знаком "^" в начале говорит о том, что выражение должно начинаться только с [0-9a-z_]?
Вот этот момент не пойму... ^[0-9a-z_] это же - \W ? Или оно отличается?
Спустя 32 минуты, 38 секунд (1.09.2009 - 16:12) ИНСИ написал(а):
Festivall
1. Можно просто, без точки с запятой писать: <?=$PHP_SELF?>
2. Это
PHP |
$mail = $_POST['mail']; $mail = htmlspecialchars($mail); $mail = trim($mail); |
заменить на
PHP |
if(isset($_POST['email'])) { $email = mysql_real_escape_string(stripslashes(trim($_POST['email']))); } |
3. Может тебе так сделать:
PHP |
/* Защищаем от подделки и взламывания поля: Email */ if(preg_match("|[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}|i", $email)) |
Спустя 5 минут, 56 секунд (1.09.2009 - 16:18) Festivall написал(а):
Если сделать так, как ты написал:
PHP |
$email = mysql_real_escape_string(stripslashes(trim($_POST['email']))); |
А htmlspecialchars(); надо или она чем то из выше написанного заменяется?
Спустя 17 минут, 41 секунда (1.09.2009 - 16:36) ИНСИ написал(а):
mysql_real_escape_string
этим она заменяется =))
Спустя 59 секунд (1.09.2009 - 16:37) ИНСИ написал(а):
и еще, используй одинарные ковычки
Спустя 7 минут, 32 секунды (1.09.2009 - 16:44) SunSet написал(а):
welbox2Для чего эта переменная
$PHP_SELF? ..
Спустя 8 минут, 16 секунд (1.09.2009 - 16:53) glock18 написал(а):
welbox2
Цитата |
mysql_real_escape_string этим она заменяется =)) |
научи еще чему-нибудь. сначала прочитай что делают эти функции.
Festivall
перед проверкой email никаких манипуляций с ним вообще не надо проводить.
было бы резонно убрать слеши при включенных magic_quotes, но в регулярке их (кавычек тоже) нет, так что ничего это не поменяет.
Цитата |
Я не въеду в логику: значит мы говорим, если при проверке e-mail адреса введенные данные являются любым не алфавитно цифровым, то е-майл верен, во всех остальных случаях не верен.
Или же все таки это выражение со знаком "^" в начале говорит о том, что выражение должно начинаться только с [0-9a-z_]? |
почитайте про регулярные выражения. ^ в начале выражения соответствует началу строки. $ в конце - концу.
\ - бэкслеш в регулярках, если пишешь это в пхп скрипте, надо удваивать.
\\. вместо \.
Спустя 2 минуты, 31 секунда (1.09.2009 - 16:55) glock18 написал(а):
Цитата |
Для чего эта переменная $PHP_SELF? . |
такой переменной нет вовсе. есть $_SERVER['PHP_SELF']. у welbox2 включена опция register_globals.
PS: опция включена и у Festivall.
welbox2
впредь проверяй свои "гипотезы" прежде чем постить здесь с "учительским тоном".
Спустя 3 часа, 41 минута, 39 секунд (1.09.2009 - 20:37) ИНСИ написал(а):
glock18 и чего сразу так ругаться? для начала:
1. Я не не сказал, что это одно и тоже и не стал разъяснять, так что читай правильно:
Цитата |
этим она заменяется =)) |
2. Никого не учу, я лишь предлогаю другой вариант реализации.
SunSet я так понял что у него это
PHP |
$PHP_SELF = $_SERVER['PHP_SELF'] |
вот и просто вставил =))
Спустя 1 час, 32 минуты, 5 секунд (1.09.2009 - 22:09) glock18 написал(а):
я не ругаюсь. а некоторые очень даже поверят твоему уверенному тону.
Спустя 1 час, 32 минуты, 33 секунды (1.09.2009 - 23:42) SunSet написал(а):
welbox2Я тут вообще не в теме ваших баталий со своими "мега" знаниями)) А про 'PHP_SELF' ... в гугле просто однозначного ответа по этой переменной не нашел, потому поинтерисовался.
Спустя 17 часов, 31 минута, 2 секунды (2.09.2009 - 17:13) Festivall написал(а):
$PHP_SELF - это переменная окружения, которая возвращает адрес текущей страницы. Либо полный либо не полный. Не помню, но скорее всего, к примеру index.php или какая будет. Можете вот так проверить:
Её надо врубать в .ini
Спустя 58 минут, 59 секунд (2.09.2009 - 18:12) Gabriel написал(а):
PHP |
eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $mail) |
а че такого плана регуляки для проверки мейла на правильность некатят?
Спустя 37 минут, 12 секунд (2.09.2009 - 18:49) glock18 написал(а):
Цитата |
а че такого плана регуляки для проверки мейла на правильность некатят?
|
зачем такая? гораздо больше. плюс, домен еще перебирает. на самом деле, проверка email на валидность фактически может быть полной профанацией, поскольку любой e-mail проверяется на существование активационным письмом. Если регулярку правильную охота, то{3}:
http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html Спустя 1 час, 29 минут, 5 секунд (2.09.2009 - 20:18) Gabriel написал(а):
омг скоко слешегоФ
чет я в таком ничаго непонимаю
Спустя 10 часов, 55 минут, 6 секунд (3.09.2009 - 07:13) glock18 написал(а):
Цитата |
чет я в таком ничаго непонимаю |
я тоже

эта регулярка для того, чтобы понимали, что дурью маюцца, пока придумывают рабочие регулярки для проверки email. самая правильная проверка - активационное письмо. регулярка только подстраховка.
Спустя 4 часа, 3 минуты, 37 секунд (3.09.2009 - 11:17) Gabriel написал(а):
Спустя 39 минут, 31 секунда (3.09.2009 - 11:56) ИНСИ написал(а):
Gabriel не только ты не понимаешь, но и я =))