Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Статья "Безопасное программирование на PHP"
 
 автор: JIEXA   (24.03.2005 в 07:55)   письмо автору
 
 

Прочитал, понравилось! Вот только либо у Вас опечатка, либо я совсем тупой стал :).
<?php  
if( !( preg_match("/([a-z0-9])*/i"$_GET['username']) ) ) 
  { 
     
header("plz_die.php"); 
  } 
?>

Вот в этом (/([a-z0-9])*/i) месте стоит звездочка. Из-за неё неработает.
Вот рабочий вариант:

<?php
if(!(preg_match("/([a-z0-9])/i"$name)))
{
     
$err.= "<li>Ваше имя содержит запрещённые символы. Разрешены буквы ангийского алфавита и цифры.</li><br>";
}
?>

Но почему-то если ввести $f к примеру, то он пропустит этот символ. Как разрешить только A-Z 0-9 a-z?

   
 
 автор: cheops   (24.03.2005 в 09:48)   письмо автору
 
   для: JIEXA   (24.03.2005 в 07:55)
 

Спасибо за найденные опечатки, первый блок должен выглядеть
<?php 
if( !( preg_match("/^([a-z0-9]*)$/i"$_GET['username']) ) ) 
  { 
     
header("plz_die.php"); 
  } 
?>

А второй
<?php 
if(!(preg_match("/^([a-z0-9])$/i"$name))) 

     
$err.= "<li>Ваше имя содержит запрещённые символы. Разрешены буквы ангийского алфавита и цифры.</li><br>"

?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования