[SCRIPT] Търсачка като на CS-BG

PHP, MySQL, Javascript, XHTML и др.
Post Reply
User avatar
Sentence.
V.I.P
V.I.P
Posts: 465
Joined: 02 Sep 2011, 13:42

[SCRIPT] Търсачка като на CS-BG

Post by Sentence. »

Здравейте..

Скуката убива да знаете! От нея реших да се помъча с един скрипт. Знанията не са на ниво, но мисля, че се справих :) Така кода е за търсачка като на CS-BG. Работи като търси въведените букви от потребителя във зададена от него ДБ и таблица name .
Ето го и кода, който не е много сложен.. :) Ще сложа и обяснения :)
index.php

Code: Select all

<?PHP
$server = "localhost"; //Хоста ни
$username = "root"; // Потребителя на хоста
$password = ""; // Паролата на хоста
$db_name = "search"; //Базата с данни
$connect = mysql_connect($server, $username, $password) or die (mysql_error()); // Свързвае с ДБ
mysql_select_db($db_name, $connect) or die (mysql_error()); // Свързване с ДБ №2

$options = array("Maps", "Skins", "Plugins"); // Какво да има в падащото меню. Къде да търси? Добавяте ново ето така: "Съдържание" , като отделяте със запетая от предишното
$all = count($options); //Брои зададените елементи в array-a по-горе
?>
<form action='' method='POST'> 
Search: <input type='text' value='' name='search' /><br />
In: <select name='what'>
        <?PHP
        $i = 0; //Променлива $i да изкарва резултаите
        while($i < $all) { //Докато променливата $i е по-малка от зададените елементи по-горе да се показват елементите.
            echo "<option>".$options[$i]."</option>";
            $i++; //$i + 1, т.е +1 на номерчето да изкара следващото
        }
        ?>
    </select><br />
<input type='submit' name='send' value=' Search ' />
</form>
<?PHP
$send = $_POST['send']; //Натискане на бутона "Search"
$search = htmlspecialchars(addslashes($_POST['search'])); //Съдържанието на търсенето 
$in = $_POST['what']; //Къде да търси

if(isset($send)) { //Ако е натиснат бутона
    if($search == NULL ) { //Ако няма въведена стойност да изкара еррор
        echo "Какво търсите?";
    } else { //Ако всичко е както трябва
        header("Location: search.php?display=$search&in=$in"); //Препраща в search.php където вече се изкарват резултатите
        exit; //Изход
    }
} else {
    echo "";
}
?>
search.php

Code: Select all

<?PHP
$server = "localhost"; //Хоста ни
$username = "root"; // Потребителя на хоста
$password = ""; // Паролата на хоста
$db_name = "search"; //Базата с данни
$connect = mysql_connect($server, $username, $password) or die (mysql_error()); // Свързвае с ДБ
mysql_select_db($db_name, $connect) or die (mysql_error()); // Свързване с ДБ №2

$search = $_GET['display']; //Взима въведената стойност ( думата за търсене )
$in = $_GET['in']; //Взима откъде да търси

$sql = mysql_query("SELECT name FROM $in WHERE NAME LIKE '%$search%'");  //Взимане на резултатите
$result = mysql_num_rows($sql); //Брои резултатите
$i = 1; //Пак променилва за номерче на резултата
if($result != 0 ) { //Ако резултатите са повече от 1 да ги изкарва
while($row=mysql_fetch_assoc($sql)){ 
 $prom = $row['name']; //Изкарва заглавието
 $var = array("$search"); //Заглавието както се изкарва
 $vas = array("<b>$search</b>"); //Удебелява заглавието ( само търсената дума се удебелява )
 $end = str_replace($var, $vas, $prom); //Заменя старото залгавие с удебеленото ( само търсената дума се удебелява )
echo "#".$i." ".$end."<br />"; //Изкарва резултата
$i++; //+1 на номерчето
}
echo "Общо резултати: ".$result; //Изкарва общо броя резултати
} else { // Ако няма намерени резултати
echo "Няма намерени резултати."; // Да изкара съобщението в кавички
}
?>
Това е.. :)
User avatar
physic
V.I.P
V.I.P
Posts: 529
Joined: 31 Jan 2012, 12:57
CS Nick: kaisieva gradina
Favorite version: CS: Global Offensive
Steam Community ID: illuminated2play

Re: [SCRIPT] Търсачка като на CS-BG

Post by physic »

Слагай int при тия get заявки, че кода е уязвим. :)
User avatar
Sentence.
V.I.P
V.I.P
Posts: 465
Joined: 02 Sep 2011, 13:42

Re: [SCRIPT] Търсачка като на CS-BG

Post by Sentence. »

farzy- wrote:Слагай int при тия get заявки, че кода е уязвим. :)
Как ще сложиш int на заявка за дума.. Доколкото знам е само за числа..?
User avatar
physic
V.I.P
V.I.P
Posts: 529
Joined: 31 Jan 2012, 12:57
CS Nick: kaisieva gradina
Favorite version: CS: Global Offensive
Steam Community ID: illuminated2play

Re: [SCRIPT] Търсачка като на CS-BG

Post by physic »

Sentence. wrote:
farzy- wrote:Слагай int при тия get заявки, че кода е уязвим. :)
Как ще сложиш int на заявка за дума.. Доколкото знам е само за числа..?
Или по-скоро сложи htmlspecialchars, за да не могат да вкарват html и js кодове.
User avatar
Sentence.
V.I.P
V.I.P
Posts: 465
Joined: 02 Sep 2011, 13:42

Re: [SCRIPT] Търсачка като на CS-BG

Post by Sentence. »

farzy- wrote:
Sentence. wrote:
farzy- wrote:Слагай int при тия get заявки, че кода е уязвим. :)
Как ще сложиш int на заявка за дума.. Доколкото знам е само за числа..?
Или по-скоро сложи htmlspecialchars, за да не могат да вкарват html и js кодове.
Сложил съм в индекса..
User avatar
Hi MOM
Потребител
Потребител
Posts: 4
Joined: 25 Jan 2015, 21:49
Skype: ibo_miksa
CS Nick: Ibo Angelov
Favorite version: CS: 1.6

Re: [SCRIPT] Търсачка като на CS-BG

Post by Hi MOM »

Здравейте виждам че темата е стара но ми трябва подобна търсячка и как може да се нрапви резултатите да отивът към страница
примерно търсите "cs-bg" и излизат 10 резултата с надписи
cs-bg 1
cs -bg 2
cs -bg 3
и т.н. и когато излязат резултатите да може да се натиска върху тях и да водят до тяхната страница


Last bumped by Hi MOM on 02 Jan 2019, 14:08.
Post Reply

Return to “Уеб програмиране”