Доброго времени суток Народ! Обращаюсь к тебе так как возник вопрос... Вопрос Заключается в следуещем! Есть форма на странице в одной из строк куда надо вводить информацию... надо сделать фильтрацию данных... тоесть при отправке в базу что-то что введут! она из Этого будет отправлять то что нужно! Пример как надо мне вводят ссылку http://dump.ru/file/11111111 и при отправке в базу проходило только 11111111 Вот код: PHP: <?php header('Content-Type: text/html; charset=windows-1251'); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>connect BD</title> </head> <body> <?php $err= null; if (isset($_POST["fam"]) && $_POST["fam"]!='') { $fam = $_POST["fam"]; } else { $err.="Вы неввели ник!<br>"; } if (isset($_POST["imya"]) && $_POST["imya"]!='') { $imya = $_POST["imya"]; } else { $err.="Вы неввели Город<br>"; } if (isset($_POST["otch"]) && $_POST["otch"]!='') { $otch = $_POST["otch"]; } else { $err.="Вы не дали ссылку на трек<br>"; } if (isset($_POST["icq"]) && $_POST["icq"]!='') { $icq = $_POST["icq"]; } else { $err.="Поле icq ввести обязательно<br>"; } $db = mysql_connect ("localhost","****","*****"); mysql_query ("set character_set_client='cp1251'"); mysql_query ("set character_set_results='cp1251'"); mysql_query ("set collation_connection='cp1251_general_ci'"); mysql_select_db ("****",$db); $result=mysql_query("SELECT * FROM battle1 WHERE fam='$fam' AND imya='$imya' AND otch='$otch' AND icq='$icq'"); if (mysql_num_rows($result)>0) $err.="Пользователь с таким именем уже отправлял<br>"; if ($err==NULL) { $result = mysql_query ("INSERT INTO battle1 (fam,imya,otch,icq) VALUES ('$fam','$imya','$otch','$icq')"); } else { echo $err; } ?> <META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://battle1.2micro.ru/reg/track_user.php"> </body> </html> А это код страницы откуда отправляют! дам часть лишнего ненадо! PHP: echo " <body bgcolor=\"999999\"> <form action=\"mysql.php\" method=\"post\" > <b>Ник участника:</b> <input type=\"text\" size=\"20\" maxlength=\"40\" name=\"fam\" /><br> <b>Город участника:</b><input type=\"text\" size=\"20\" maxlength=\"40\" name=\"imya\" /> <br> <b>Номер ICQ:</b> <input type=\"text\" size=\"20\" maxlength=\"40\" name=\"icq\" /> <br> <b>Ссылка на трек: <br>Вставлять только цифры<br>http://dump.ru/file/1632077<br>Тоесть <font color=\"#CC0000\">1632077</b></font><input type=\"text\" size=\"20\" maxlength=\"40\" name=\"otch\" /> <br> <input name=\"sumbit\" type=\"submit\" value=\"Отправить трек\" /> <br> <b>Расположение трека строго dump.ru</b> "; если вы заметите то в Этом коде написанно <b>Ссылка на трек: <br>Вставлять только цифры<br>http://dump.ru/file/1632077<br>Тоесть <font color=\"#CC0000\">1632077</b></font> Много Людей не будут понимать! для Этого и нужно сделать фильтрацию... Спасибо Заранее буду благодарен помощи! :wink:
Ребят ну что не кто незнает как Это осуществить? ну все же я надеюсь найти ответ на мой вопрос! если не понятно выразился... кто Реально хочет помочь... могу более доступней обьяснить!
PHP: @preg_match('#([url=http://dump.ru/file/]http://dump.ru/file/[/url])?([\d].*)#i', $otch, $matches); Соответственно в $matches[2] будет код, в каком виде его бы не ввели, ссылка или число. А вообще нужно обязательно фильтровать данные из $_POST.
Или народ как было бы проще сделать! Ведь ссылку что вводят она не меняется http://dump.ru/file/11111111 ! сделать так что бы в базу изо всей ссылки попадали цыфры типа отфильтровала точки и буквы оставила только цыфры! как так реализовать?
Как правильно составить прег матч $otch="http://dump.ru/file/1252289"; preg_match_all("/\(?(\d{0})?\)?(?(1)[\-\s])\d{0}\d{7}/x", $otch, $track); При чем цыфры те что надо вырезать... могут менять в количестве взависимости от треков что зальют на сервер!
PHP: <?php function ClearAll($data) { $data = preg_replace('/[^а-яА-Яa-zA-Z0-9]/ui', ' ', $data); return $data; } Удаляем все, кроме букв и цифр. Под себя поправишь, я думаю))
дело в том что удалять будет все кроме например цыфр! а если человек даст ссылку на другой обменник.... например там http://slil.ru/27439945 то удалит все оставив цыфры... Но ссылка будет не действительна!