X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Функция: preg_match()!!!Чот не получается(((
Panich
Panich
Topic Starter сообщение 10.5.2011, 15:41; Ответить: Panich
Сообщение #1


[PHP]<?php
if (isset($_POST['name']))
{
$name = $_POST['name'];
if ($name == '')
{
unset($name);
}
}
if (isset($_POST['pol']))
{
$pol = $_POST['pol'];
if ($pol == '')
{
unset($pol);
}
}
if (isset($_POST['vozr_namber']))
{
$vozr_namber = $_POST['vozr_namber'];
if ($vozr_namber == '')
{
unset($vozr_namber);
}
}
if (isset($_POST['vozr_mouns']))
{
$vozr_mouns = $_POST['vozr_mouns'];
if ($vozr_mouns == '')
{
unset($vozr_mouns);
}
}
if (isset($_POST['vozr_year']))
{
$vozr_year = $_POST['vozr_year'];
if ($vozr_year == '')
{
unset($vozr_year);
}
}
if (isset($_POST['sity']))
{
$sity = $_POST['sity'];
if ($sity == '')
{
unset($sity);
}
}
if (isset($_POST['login']))
{
$login = $_POST['login'];
if ($login == '')
{
unset($login);
}
}
if (isset($_POST['pass']))
{
$pass = $_POST['pass'];
if ($pass == '')
{
unset($pass);
}
}
if (isset($_POST['pass1']))
{
$pass1 = $_POST['pass1'];
if ($pass1 == '')
{
unset($pass1);
}
}
if (isset($_POST['code']))
{
$code = $_POST['code'];
if ($code == '')
{
unset($code);
}
}
if (!empty($name) && !empty($pol) && !empty($vozr_namber) && !empty($vozr_mouns) && !empty($vozr_year) && !empty($sity) && !empty($login) && !empty($pass) && !empty($pass1) && !empty($code))
{
$file = fopen ("message.txt", "a+");
fwrite ($file, $text);
fclose ($file);
}
if (empty($name) && empty($pol) && empty($vozr_namber) && empty($vozr_mouns) && empty($vozr_year) && empty($sity) && empty($login) && empty($pass) && empty($pass1) && empty($code))
{
echo "Вы ввели не всю информацию, заполните все поля!";
}
if (!preg_match ("/\b[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9][!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9\.]*[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9]@[a-zA-Z0-9\-][a-zA-Z0-9\-\.]+[a-zA-Z0-9\-]\b/g", $login) //вот строка 94!!!
{
exit ("Неверно введен login!");
}
function generate_code()
{
$hours = date("H");
$minuts = substr(date("H"), 0 , 1);
$mouns = date("m");
$year_day = date("z");
$str = $hours . $minuts . $mouns . $year_day;
$str = md5(md5($str));
$str = strrev($str);
$str = substr($str, 3, 6);
$array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
srand ((float) microtime()*1000000); shuffle ($array_mix);
return implode("", $array_mix);
}
function chec_code($code)
{
$code = trim($code);
$array_mix = preg_split ('//', generate_code(), -1, PREG_SPLIT_NO_EMPTY);
$m_code = preg_split ('//', $code, -1, PREG_SPLIT_NO_EMPTY);
$result = array_intersect ($array_mix, $m_code);
if (strlen(generate_code())!= strlen($code))
{
return FALSE;
}
if (sizeof($result) == sizeof($array_mix))
{
return TRUE;
}
else
{
return FALSE;
}
}
if (!chec_code($_POST['code']))
{
exit ("Вы неверно ввели код с картинки");
}
$name = stripslashes($name);
$name = htmlspecialchars($name);
$login = stripslashes($login);
$login = htmlspecialchars($login);
$sity = stripslashes($sity);
$sity = htmlspecialchars($sity);
$pass = stripslashes($pass);
$pass = htmlspecialchars($pass);
$pass1 = stripslashes($pass1);
$pass1 = htmlspecialchars($pass1);
$login = trim($login);
$pass = trim($pass);
$pass1 = trim($pass1);
if (strlen($pass) < 3 or strlen($pass) > 15)
{
exit ("Пароль должен состоять неменее чем из 3 символов и неболее чем из 15.");
}
$pass = md5($pass);
$pass = strrev($pass);
$pass = $pass."cR9i7Z";
include ("bd.php");
$result = mysql_query("SELECT id FROM users WHERE login='$login'", $db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id']))
{
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другие данные.");
}
$result2 = mysql_query ("INSERT INTO users (name,pol,vozr_namber,vozr_mouns,vozr_year,sity,login,pass)VALUES('$name','$pol','$vozr_namber','$vozr_mouns','$vozr_year','$sity','$login','$pass')");
if ($result2 == 'TRUE')
{
echo "<html>
<head>
<meta http-equiv='Refresh' content='1'; URL='../index.php'>
</head>
<body>
</body>
</html>";
}
else
{
exit ("Ошибка! Вы не зарегистрированы.Обратитесь в службу поддержки по адресу bvstrechi@list.ru");
}
?>
[/PHP]
САМА ОШИБКА:
Вы ввели не всю информацию, заполните все поля!
Warning: preg_match() [function.preg-match]: Unknown modifier '=' in Z:\home\localhost\www\znakomstva\php\save_user.php on line 94
Неверно введен login!


Вот что подумал:может всему виной файл:
[JS]
$(document).ready(function(){
var regV=/\b[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9][!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9\.]*[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9]@[a-zA-Z0-9\-][a-zA-Z0-9\-\.]+[a-zA-Z0-9\-]\b/g;
var myEmail = $('#email');
myEmail.focus(function(){
if ($(this).val() == $(this).attr('defaultValue')){
$(this).val('');
}
});
myEmail.blur(function(){
var userEmail = $(this).val();
if(userEmail ==''){
$(this).val($this).attr('defaultValue').css('border','1px solid #cccccc');
}
else if(userEmail.search(regV) == -1){
$(this).css('border','1px solid #cc0000');
}
else{
$(this).css('border','1px solid #00cc00');
}
});
$('#my_button').click(function(){
$(this).attr('disabled','disabled');
$(this).attr('value','Отправляю...');
});
});[/JS]


Или при обращению к файлу testreg.php (естественно отвечает за тестирование при регистрации) выдаёт ошибку:
Warning: () [function.preg-match]: Unknown modifier '^' in Z:\home\localhost\www\znakomstva\php\testreg.php on line 25
Неверно введен login!
25-я строка это всё то же обращение к функции preg_match!!!
В-О-О-О-О-О-ОТ ТАКАЯ ПРОБЛЕМКА)))
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 10.5.2011, 15:52; Ответить: alexdrob
Сообщение #2


я сколько раз просил выделять код жёлтыми кнопочками? Удалить вашу тему?

ЗЫ посмотрел код) оказывается вы пытались выделить) но не правильно! Нужно не в начале кода кликать по кнопке а потом в конце, а выделить мышкой весь код и кликнуть один раз по кнопке.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
VasyOk
VasyOk
сообщение 10.5.2011, 15:54; Ответить: VasyOk
Сообщение #3


А давайте с начало Вы сделаете красиво..

[PHP]
<?php
if (isset($_POST['name']))
{
$name = $_POST['name'];
if ($name == '')
{
unset($name);
}
}
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 10.5.2011, 15:59; Ответить: alexdrob
Сообщение #4


(Panich @ 10.5.2011, 18:41) *
Unknown modifier '='

Ну вот с самого начала
/\b[!#\$%&'\*\+\-/=
первый символ это как бы ограничитель, отделяет выражение от модификаторов в конце, а значит как только встретится второй раз этот символ, значит регулярка закончилась а дальше пошли модификаторы. что бы символ не воспринимался как конец выражения его нужно экранировать.
То есть перед / нужно ставить \
/\b[!#\$%&'\*\+\-\/=
И так перед каждый кроме последнего
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Не получается оплатить YouTube Premium (для Турции и Аргентины по VPN YouTube Premium недоступна)
3 rownong27 554 20.3.2024, 21:39
автор: MisterBit
Открытая тема (нет новых ответов) не получается скопировать дополнительные колонки меню
1 Владлен_hb 5829 11.12.2015, 5:18
автор: -Владлен-
Открытая тема (нет новых ответов) Пожалуйста помогите найти (очень нужно, а у самого найти не получается, но он точно е
0 Андрейка_hb 4293 24.4.2015, 13:14
автор: -Андрейка-
Открытая тема (нет новых ответов) Не срабатывает функция flush. Отключение буфферизации.
2 bombei 7143 3.9.2014, 22:23
автор: -Arks-
Открытая тема (нет новых ответов) Что на выходе получается после верстки макета сайта
3 Evgeniy3200 1263 10.2.2014, 21:46
автор: Evgeniy3200


 



RSS Текстовая версия Сейчас: 24.4.2024, 18:41
Дизайн