Гриша К.
Новичок
Проверка данных получаемых от пользователей. Все что я узнал + несколько вопросов.
Здравствуйте.
Ниже я опишу, все что я узнал и разобрал, о проверке, записи и выводе данных принимаемых от пользователей.
Тему я создал для того, чтобы убедиться с вашей помощью в том, что я правильно усвоил основы проверки, вывода и записи данных принимаемых от пользователей. И задать несколько неясных мне вопросов.
Содержание примеров краткое, просто я его растянул на блоки, чтобы яснее было читать.
[1] Создаю короткие имена переменных, перед этим удаляю в них пробелы слева и справа используяю trim()
[2] Осуществляю проверку полей формы (используя функции filled_out() - на наличие пустых полей, eregi() - проверяю e-mail по шаблону, использую strlen($var) для проверки длины полей).
> При правильном заполнении полей и успешной записи данных в БД, перенаправляю пользователя на страницу с сообщением об успешной регистрации (используя header('location: http://').
> Если при заполнении есть ошибки, вывожу об этом сообщение над формой, а в полях формы вывожу вводимые пользователем данные используя htmlspecialchars($var1, ENT_QUOTES);
[3] Осуществляю запись данных в базу данных, ставя перед символами одинарными и двойными ковычками слэши, при помощи функции mysql_real_escape_string();
// Мне хотелось бы узнать, уяснил ли я верно основы этой темы? //
Cписок страниц на которых я читал информацию по этой теме:
- http://phpclub.ru/talk/showthread.php?s=&threadid=43521
- http://phpfaq.ru/slashes
- http://ru2.php.net/mysql_real_escape_string
- http://ru2.php.net/htmlspecialchars
-[Вопросы]------------
Я немного запутался c прослэшиванием оператора like
Правильно ли я понял, что сначало мне нужно применить такую функцию?:
$var=str_replace('\\','\\\\',$var);
Т.е. перед каждым слэшом он ставит по слэшу
А только потом вот-так?:
$var=mysql_real_escape_string($var);
Если я хочу, чтобы символ '_', прослэшивался, то я делаю так?:
$var=addCslashes($var, '_');
И получается, что если я использую такой запрос, where = '\\';
То после обработки функцией mysql_real_escape_string, их будет '\\\\' ?
Все Фанат я удалил примеры, теперь коротко.
Здравствуйте.
Ниже я опишу, все что я узнал и разобрал, о проверке, записи и выводе данных принимаемых от пользователей.
Тему я создал для того, чтобы убедиться с вашей помощью в том, что я правильно усвоил основы проверки, вывода и записи данных принимаемых от пользователей. И задать несколько неясных мне вопросов.
Содержание примеров краткое, просто я его растянул на блоки, чтобы яснее было читать.
[1] Создаю короткие имена переменных, перед этим удаляю в них пробелы слева и справа используяю trim()
[2] Осуществляю проверку полей формы (используя функции filled_out() - на наличие пустых полей, eregi() - проверяю e-mail по шаблону, использую strlen($var) для проверки длины полей).
> При правильном заполнении полей и успешной записи данных в БД, перенаправляю пользователя на страницу с сообщением об успешной регистрации (используя header('location: http://').
> Если при заполнении есть ошибки, вывожу об этом сообщение над формой, а в полях формы вывожу вводимые пользователем данные используя htmlspecialchars($var1, ENT_QUOTES);
[3] Осуществляю запись данных в базу данных, ставя перед символами одинарными и двойными ковычками слэши, при помощи функции mysql_real_escape_string();
// Мне хотелось бы узнать, уяснил ли я верно основы этой темы? //
Cписок страниц на которых я читал информацию по этой теме:
- http://phpclub.ru/talk/showthread.php?s=&threadid=43521
- http://phpfaq.ru/slashes
- http://ru2.php.net/mysql_real_escape_string
- http://ru2.php.net/htmlspecialchars
-[Вопросы]------------
Я немного запутался c прослэшиванием оператора like
Правильно ли я понял, что сначало мне нужно применить такую функцию?:
$var=str_replace('\\','\\\\',$var);
Т.е. перед каждым слэшом он ставит по слэшу
А только потом вот-так?:
$var=mysql_real_escape_string($var);
Если я хочу, чтобы символ '_', прослэшивался, то я делаю так?:
$var=addCslashes($var, '_');
И получается, что если я использую такой запрос, where = '\\';
То после обработки функцией mysql_real_escape_string, их будет '\\\\' ?
Все Фанат я удалил примеры, теперь коротко.