Псих
Существует ли в php такой тип переменных, как множество?
У меня такая задача:
Пользователь на сайте вводит свой логин. Нужно проверить, не содержит ли он недопустимые символы. Хотел бы создать множество с допустимыми символами и проверять каждый символ логина на наличие в этом множестве.
Ещё идея - создать строку с допустимыми символами и проверять каждый символ логина на наличие в строке.
Как лучше поступить?
UPDATE:
Ещё одна проблема. Не работает функция session_start(); Пишу в Dreamweaver. Если ставлю кодировку windows-1251, то всё работает, если Юникод, то нет. Из-за чего такая проблема? Из-за русского Денвера или из-за моего непонимания?
Ошибка:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at z:\home\cw\www\registracija.php:1) in z:\home\cw\www\page1.php on line 2
У меня такая задача:
Пользователь на сайте вводит свой логин. Нужно проверить, не содержит ли он недопустимые символы. Хотел бы создать множество с допустимыми символами и проверять каждый символ логина на наличие в этом множестве.
Ещё идея - создать строку с допустимыми символами и проверять каждый символ логина на наличие в строке.
Как лучше поступить?
UPDATE:
Ещё одна проблема. Не работает функция session_start(); Пишу в Dreamweaver. Если ставлю кодировку windows-1251, то всё работает, если Юникод, то нет. Из-за чего такая проблема? Из-за русского Денвера или из-за моего непонимания?
Ошибка:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at z:\home\cw\www\registracija.php:1) in z:\home\cw\www\page1.php on line 2
> Можно решить задачу одной строчкой
Vj_o-oy, как?
$AllowedSymbols = "abcd ";
echo preg_match("/[^$AllowedSymbols]/s","abbccc");
вместо "abbccc" лепишь то, где ищешь, $AllowedSymbols пояснять не буду )
если preg_match - 0, то все хорошо, иначе есть лишние символы
во первых manual
во вторых чтоб долго не искал Синтаксис регулярных выражений
ну и в третьих полезно Функции для работы с регулярными выражениями
Ошибка:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at z:\home\cw\www\registracija.php:1) in z:\home\cw\www\page1.php on line 2
Вот текст файла:
<?php
session_start();
?>
Файл этот сохранил 2 раза. 1 раз с выставленной кодировкой windows-1251, второй раз с юникодом. Файл, сохранённый в юникоде выдаёт ошибку, первый нет. Но мне надо писать именно в юникоде..
файл вида:
<? session_start(); ?>
будет подразумевать вывод \n а потом начало сессии. этого может хватить
или же если хотя бы один пробел идёт до старта.)
что касается проверки - к примеру можно использовать подобное условие
if( !( preg_match("/^([a-z0-9]*)$/i", $username) ) ) {
die();
}
опять же к вопросу о регулярных выражениях - в PHP поддерживаются две модели regexp-ов :
нативная POSIX и PCRE ( Perl-style). Почитать подробней можно здесь:
http://phpclub.ru/detail/article/simple_regular