HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #651  
Старый 20.10.2007, 18:03
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

XIII, ты коряво сделал... Нужно так:

Цитата:
$result = mysql_query ("SELECT * FROM admin WHERE email = '".$email."'");
$num_rows = mysql_num_rows($result);
echo "Совпадений $num_rows \n<br>";
if ($num_rows >= 1){
print "Такой логин или email уже зарегистрирован в базе!<br>Регистрация невозможна";
}
else {
$query ="insert into admin (username, passwd, email) values('$login','$pass','$email')";
$result = mysql_query($query);
printf ("Пользователь успешно зарегистрирован", mysql_insert_id());
}
mysql_close($link);
 
Ответить с цитированием

Обратите внимание! :)
  #652  
Старый 20.10.2007, 19:59
Impuls*
Познающий
Регистрация: 03.10.2007
Сообщений: 83
Провел на форуме:
213499

Репутация: 9
Question Обратите внимание! :)

Помогите пожалуйста!

Вот хочу сделать так, чтобы на моем сайте не флудили, не спамили не нужной фигней
А именно:
Вот когда пользователь добавляет комментарий, то ту переменную, допустим строка комментария - $text, обыскивали. Я это реализовал через strstr() .

PHP код:
$www=strstr($text"http://");
if (
$www=='http://'){
echo 
"
Реклама запрещена!"
;
exit;} 
Но проблема заключается в том, что будут же вводить не "http://", а там "http://mysite.ru" и это уже обходит скрипт, как мне это подредактировать под все случаи?Как можно сделать так что, если в строке $text php-сценарий находит фрагмент "http://", то независимо от того что идет дальше или шло раньше делает то-то?

P.S. если есть более рациональный способ анти-спама, то сообщите пожалуйста.
Заранее спасибо!

Последний раз редактировалось Impuls*; 20.10.2007 в 20:01.. Причина: ошибка была)
 
Ответить с цитированием

  #653  
Старый 20.10.2007, 20:03
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

PHP код:
if (preg_match('/http:\/\//'$text))
{
    
//... что-то делаем

 
Ответить с цитированием

  #654  
Старый 20.10.2007, 21:08
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме:
5301021

Репутация: 1879


По умолчанию

стр реплэйс
 
Ответить с цитированием

  #655  
Старый 20.10.2007, 22:10
lsass.exe
Участник форума
Регистрация: 05.08.2007
Сообщений: 236
Провел на форуме:
4625160

Репутация: 457
По умолчанию

Цитата:
Сообщение от Impuls*  
Помогите пожалуйста!

Вот хочу сделать так, чтобы на моем сайте не флудили, не спамили не нужной фигней
А именно:
Вот когда пользователь добавляет комментарий, то ту переменную, допустим строка комментария - $text, обыскивали. Я это реализовал через strstr() .

PHP код:
$www=strstr($text"http://");
if (
$www=='http://'){
echo 
"
Реклама запрещена!"
;
exit;} 
Но проблема заключается в том, что будут же вводить не "http://", а там "http://mysite.ru" и это уже обходит скрипт, как мне это подредактировать под все случаи?Как можно сделать так что, если в строке $text php-сценарий находит фрагмент "http://", то независимо от того что идет дальше или шло раньше делает то-то?

P.S. если есть более рациональный способ анти-спама, то сообщите пожалуйста.
Заранее спасибо!
как уже сказал Dr.Check юзай
$www=str_replace("http://","",$text);
например
переменные сам поменяешь, ну и на что заменять тоже
 
Ответить с цитированием

  #656  
Старый 21.10.2007, 11:27
Impuls*
Познающий
Регистрация: 03.10.2007
Сообщений: 83
Провел на форуме:
213499

Репутация: 9
По умолчанию

Спасибо всем за помощь, но я решил сделать через preg_match()
ИМХО так удобнее на мой взгляд.
Еще вопрос в связи с этим...
Вот я решил все слова забить в массив, но сценарий почему-то неправильно обрабатывается, пишет ошибку - preg_match() expects parameter 1 to be string
Пробывал я сам решить проблему, но не понял... :-D

PHP код:
$_words=array('http://''.ru''.com''.mobi''.info''.org');
if (
preg_match($_words$text)){
// делаем то-то :)
exit;} 
Подскажите, что тут не правильно) надо значения из массива как-то по-другому выводить что ли?Заранее спасибо.
 
Ответить с цитированием

  #657  
Старый 21.10.2007, 11:31
Red_Red1
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме:
4608122

Репутация: 874
Отправить сообщение для Red_Red1 с помощью ICQ
По умолчанию

preg_match($_words[n], $text) где n номер елемента массива. Возможно тебе нужен цикл.

Как то так
for ($n=1, $n>count($_words), $n++) if preg_match($_words[n], $text)......

Нужно все это только по одной причине у preg_match первым параметром идет строка, а ты ставишь массив.

Последний раз редактировалось Red_Red1; 21.10.2007 в 11:38..
 
Ответить с цитированием

  #658  
Старый 21.10.2007, 11:36
Impuls*
Познающий
Регистрация: 03.10.2007
Сообщений: 83
Провел на форуме:
213499

Репутация: 9
По умолчанию

Цитата:
Сообщение от Red_Red1  
preg_match($_words[n], $text) где n номер елемента массива. Возможно тебе нужен цикл.
Оо. А без цикла что ли никак??
 
Ответить с цитированием

  #659  
Старый 21.10.2007, 11:55
Red_Red1
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме:
4608122

Репутация: 874
Отправить сообщение для Red_Red1 с помощью ICQ
По умолчанию

Можно и без цикла, почитай про оператор альтернативы в регулярных выражениях.
Должно быть примерно так
$_words='^http://|\.ru$|\.com$|\.mobi$|\.info$|\.org$'
if (preg_match($_words, $text))....
 
Ответить с цитированием

  #660  
Старый 21.10.2007, 12:01
Impuls*
Познающий
Регистрация: 03.10.2007
Сообщений: 83
Провел на форуме:
213499

Репутация: 9
По умолчанию

Нет, что-то не так... не работает.
А как же массив?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Сценарии/CMF/СMS 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ