Ajax field check

Hous

Registered
Не бях много сигурен кой от разделите трябва да избера.
Значи трябва ми ajax проверка на поле примерно копва се един линк от hulkshare.com/blablabla.php?view=
и искам когато някой копне текст от типа http://www.hulkshare.com/blablalblba.php
да му изпише - Всичко изглежда наред (със зелен цвят :d)
и ако някой пък копне вътре в полето http://www.hulkZare.com/blablabla2.php
да му изпише Не изглежда да е валиден линк

Може ли да стане това нещо - възможно най-кратко и без много проверки?
 
С регулярен израз ще стане и ще си спестиш много проверки, но за Ajax не съм много вещ :)
 
След към 30 мин търсене и игра си намерих перфектния код , с една липса,като въведа критерия да кажем http://hulkishare.com/view.php?id=
и то търси абослютно и само това ... а намен ми трябва това + някакво id
тоест като напише някой същото но и id-to след него
hulkishare.com/view.php?id=123123
a то изписва грешка.
Как мога да го редактирам така,че към тази проверка която съм задал да е 1към 1 проверката но да има и добавени символи след него без проблем?
Линк към урока
 
защото скрипта. който си намерил НЕ използва регулярен израз , а array_map ..
 
Тоест това
Код:
if(isSet($_POST['username']))
{
$usernames = array('http://bla.com/see?z=');

$username = $_POST['username'];

if(in_array($username, $usernames))
	{
	echo '<font color="green">Адресът изглежда наред!</font><br><center><input class="tbox" name="button" value="Go" type="submit">';
	}
	else
	{
	echo '<font color="red">Моля използвайте адрес от типа</font> <b>http://bla.com/see?z=xXx</b>';
	}
}

Не може да се редактира ли ?
Идеята ми е да стане както в mysql примерно намери дума започваща със АСД и в самата заявка има един символ % и показва всички думи започващи със АСД но и продължения АСДФФФ АСДДДД
Ако може да помогнете ...
 
пробвай така :
PHP:
if(isSet($_POST['site']))
{

$site = strtolower($_POST['site']);

if(strstr($site, "hulkshare.net" ))
   {
   echo '<font color="green">Адресът изглежда наред!</font><br><center><input class="tbox" name="button" value="Go" type="submit">';
   }
   else
   {
   echo '<font color="red">Моля използвайте адрес от типа</font> <b>http://bla.com/see?z=xXx</b>';
   }
}
ако нестава .. регулярния израз е решението ..
 
Добре може ли да покажете как ще стане с регулярен израз (като имате в предвид кода който ползвам)
Това което си дал като цяло само смаля буквите , а идеята мисля,че се разбра вече каква е да сравнява дадена стойност със друга но да има и след нея променлива в смисъл като проверка дали е същия сайт без значение какво има след него...

http://hulkshare.com/ - константа за сравнение
http://hulkshare.com/ - Примерен текст в полето
http://hulkshar3.com/ - Примерен грешен текст в полето
http://hulkshare.com/19i23912k3 - това което искам
 
Hous каза:
Добре може ли да покажете как ще стане с регулярен израз (като имате в предвид кода който ползвам)
Това което си дал като цяло само смаля буквите , а идеята мисля,че се разбра вече каква е да сравнява дадена стойност със друга но да има и след нея променлива в смисъл като проверка дали е същия сайт без значение какво има след него...

http://hulkshare.com/ - константа за сравнение
http://hulkshare.com/ - Примерен текст в полето
http://hulkshar3.com/ - Примерен грешен текст в полето
http://hulkshare.com/19i23912k3 - това което искам

PHP:
$input = 'www.hulkshare.com/blablabla2.php';
if(preg_match('~^(?:https?://(?:www\.)?|www\.)?hulkshare\.com(?:/\S*)*$~i',$input)) {
      echo 'правилно';
}		
else {	
      echo 'грешно';
}
 
PHP:
if(preg_match("/(http|https)?://hulkshare\.com\/[a-z0-9]+/i",$link,$matches))
{
  echo "linka e oK";
}
else
{
 echo "linka NE e ok";
}
 
M1tq96 каза:
PHP:
if(preg_match("/(http|https)?://hulkshare\.com\/[a-z0-9]+/i",$link,$matches))
{
  echo "linka e oK";
}
else
{
 echo "linka NE e ok";
}

Това е под всякаква критика.Има и синтактични както и логически грешки.Горния пример на tryme за разлика от този има само логически пропуски.
 
ето го .. даже го и пробвах .. !
PHP:
if(preg_match("/(http|https)?:\/\/hulkshare\.com\/([a-z0-9]+)/i",$link,$matches))
{ 
 echo "Linka e OK";
}
else{
 echo "Linka NE e ok";
}
 
M1tq96 каза:
ето го .. даже го и пробвах .. !

Сега си оправил само синтактичните.По-ясно казано, това ще мачва може би само 5% от правилните линкове.
 
не е така.. както и да е .. несам за 1 точка .. само да уточня .. човека искаше прост начин . .тва е най - простия за който се сетих .. ;)
 
M1tq96 каза:
не е така.. както и да е .. несам за 1 точка .. само да уточня .. човека искаше прост начин . .тва е най - простия за който се сетих .. ;)

Не ме разбирай погрешно, но просто исках да ти кажа че имаш груби пропуски:

Цитат :Hous написа:
http://hulkshare.com/ - Примерен текст в полето

това няма да се мачне от твоя шаблон.

www.hulkshare.com/sds
http://www.hulkshare.com/ds
hulkshare.com/ssd
http://hulkshare.com


тези също както и още някои случаи.

://hulkshare.com/sds

това би било валидно според твоя шаблон.

Това имах предвид.Оправи нещата постни го и нека точката бъде за теб. :?: (когато пиша мнения особено тук не ги пиша заради тези точкови рейтинги )
 
somebody каза:
M1tq96 каза:
не е така.. както и да е .. несам за 1 точка .. само да уточня .. човека искаше прост начин . .тва е най - простия за който се сетих .. ;)

...

Това имах предвид.Оправи нещата постни го и нека точката бъде за теб. :?: (когато пиша мнения особено тук не ги пиша заради тези точкови рейтинги )

Те тези точки май само до разправии водят.
 
Нека попитам нещо друго,пак със същия код:
Код:
if(isSet($_POST['username']))
{
$username = $_POST['username'];

$dbHost = 'db_host_here'; // usually localhost
$dbUsername = 'db_username_here';
$dbPassword = 'db_password_here';
$dbDatabase = 'db_name_here';

$db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server.");
mysql_select_db ($dbDatabase, $db) or die ("Could not select database.");

$sql_check = mysql_query("select id from members where username='".$username."'") or die(mysql_error());

if(mysql_num_rows($sql_check))
{
echo '<font color="red">The nickname <STRONG>'.$username.'</STRONG> is already in use.</font>';
}
else
{
echo 'OK';
}

}

Може ли да се направи така,че стойноста на username Който постъпва в този файл (последните 3 символа от нея) да се сравняват със последните 3 символа от записи в поле в таблица?

тоест http://hulk.com/asd
да се сравнява със запис http://xxx.com/asd
и ако съвпадне (тоест съществуващ запис) да изпише is already in use?

Пак ще ми свърши работа,вместо проверка на линка със константа,а директно от дб-то...
 
Hous каза:
Нека попитам нещо друго,пак със същия код:
Може ли да се направи така,че стойноста на username Който постъпва в този файл (последните 3 символа от нея) да се сравняват със последните 3 символа от записи в поле в таблица?

тоест http://hulk.com/asd
да се сравнява със запис http://xxx.com/asd
и ако съвпадне (тоест съществуващ запис) да изпише is already in use?

Примерен код:
PHP:
$username = $_POST['username'];
$check = substr($username,-3);
//bla bla bla...
$sql_check = mysql_query("SELECT `id` FROM `members` WHERE `username` LIKE '%".$check."'") or die(mysql_error());
//ако има засегнат ред бла бла
//ако няма бла бла

П.П. Сега видях съобщението ти на лично, ще ти отговоря по-късно че имам доста работа в момента.
 

Горе