Параметры в ссылки...

R00miss

Guest
Параметры в ссылки...

Привет еще раз!
Вот у меня такая штука:

PHP:
<?
$u=("_");
if (file_exists ("./$first$u$last/poems/$n.php")) { include ("./$first$u$last/poems/$n.php");} 

else { include ("main.php"); }
?>
ссылка вызывается так - /?first=имя&last=фамилия&p=12
путь к файлу /имя_фамилия/poems/12.php

вообщем как мне сделать, чтобы в параметер $first и $last был тока текст (если есть цифры то на main.php идет), а параметре $p были тока цифры, т.е. чтоб не подставляли что не надо :D

Почитал я в менуали про eregi но понял что это тока для форм :)

Заранее сэнкс всем кто поможет :)
 

R00miss

Guest
упс... должно быть "n" вместо "p" сорри за ошибку :)
 

Макс

Старожил PHPClub
цифры:
PHP:
if (preg_match("/[^0-9]/",$p)) {
// есть не только цифры
...
}
буквы:
PHP:
if (preg_match("/[^a-zA-Z0-9]/",$first)) {
// есть левые символы
}

PS
учи регекспы

PPS
а еще для проверки на цифры можно использовать is_int()
 

R00miss

Guest
OK thanx :)
Я вот пытался найти тока не знал как функция называется :)
 

R00miss

Guest
Усе сделал, тока еще вопросик, если у меня несколько параметров которым нужен тока текст, то мона сделать так:
PHP:
if (preg_match("/[^a-zA-Z0-9]/",$first,$last,$blabal))
чтобы сэкономит место или нада писать для каждого?
 

Crazy

Developer
Мсье, Вам открыть дао скачивания доки на PHP? В ней есть список функций...
 

R00miss

Guest
Автор оригинала: Crazy
Там не нужно бывать. Это нужно иметь.
Ну у меня это есть :) Тока я не врубаюсь в те функции, т.к. плохо знаю (почти не знаю) PHP :rolleyes:
Например написале те
eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@
([0-9a-z](-?[0-9a-z])*\.)+[a-z]{2}([zmuvtg]|fo|me)?$",$email);
и попробуй врубиться где что и к чему :confused:

Поэтому и прошу ТУТА помощи кто бы мог намано объяснить :)
 

R00miss

Guest
Еще вопрос по этой же теме :)
Как мона сделать, чтоб тут
PHP:
if (preg_match("/[^0-9]/",$p)) {blabla }
т.е. параметр $p сосотоял не больше чем из 3 цифр?
всмысле чтоб если впишут 4 цифры, то выкидывало?

Заранее большое сэнкс :)
 

Макс

Старожил PHPClub
прочитай доки по регулярным выражениям

примерно так
if (preg_match("/^[^0-9]{0,3}$/",$p)) {
// правильный формат числа
}
 

R00miss

Guest
Не работает но всерогно спасибо :)
Кстати где можно прочитать про эти выражения? Или кто может дать работающий экзампэл? :D

Заранее сэнкс!
 

Crazy

Developer
Могу предложить "Mastering Regular Expressions". Какие-то 780 страниц. По прочтении (через три года) станешь гуру. :)

Если ломы -- просто открой в мануала по PHP раздел "Pattern Syntax". Там есть все, что тебе на самом деле нужно.
 
Сверху