Премини към съдържанието

Препоръчан отговор


index.php >>

<h2>Search</h2>  <form name="search" method="post" action="<?=$PHP_SELF?>"> Seach for: <input type="text" name="find" /> in  <Select NAME="field"> <Option VALUE="fname">First Name</option> <Option VALUE="lname">Last Name</option> <Option VALUE="info">Profile</option> </Select> <input type="hidden" name="searching" value="yes" /> <input type="submit" name="search" value="Search" /> </form> <?  //This is only displayed if they have submitted the form  if ($searching =="yes")  {  echo "<h2>Results</h2><p>";   //If they did not enter a search term we give them an error  if ($find == "")  {  echo "<p>You forgot to enter a search term";  exit;  }   // Otherwise we connect to our Database  mysql_connect("localhost", "root", "*****") or die(mysql_error());  mysql_select_db("test") or die(mysql_error());   // We preform a bit of filtering  $find = strtoupper($find);  $find = strip_tags($find);  $find = trim ($find);   //Now we search for our search term, in the field the user specified  $data = mysql_query("SELECT * FROM users WHERE upper($field) LIKE'%$find%'");   //And we display the results  while($result = mysql_fetch_array( $data ))  {  echo $result['fname'];  echo " ";  echo $result['lname'];  echo "<br>";  echo $result['info'];  echo "<br>";  echo "<br>";  }   //This counts the number or results - and if there wasn't any it gives them a little message explaining that  $anymatches=mysql_num_rows($data);  if ($anymatches == 0)  {  echo "Sorry, but we can not find an entry to match your query<br><br>";  }   //And we remind them what they searched for  echo "<b>Searched For:</b> " .$find;  }  ?> 

Взимам го от http://php.about.com/od/phpwithmysql/ss/php_search_3.htm

 

Нарочно съм направил паролата ****. В моя скрипт съм си я сложил каквато трябва да бъде;

 

Ето и какво ми дава :

Search Seach for: in

Results

"; //If they did not enter a search term we give them an error if ($find == "") { echo "

You forgot to enter a search term"; exit; } // Otherwise we connect to our Database mysql_connect("localhost", "root", "***") or die(mysql_error()); mysql_select_db("test") or die(mysql_error()); // We preform a bit of filtering $find = strtoupper($find); $find = strip_tags($find); $find = trim ($find); //Now we search for our search term, in the field the user specified $data = mysql_query("SELECT * FROM users WHERE upper($field) LIKE'%$find%'"); //And we display the results while($result = mysql_fetch_array( $data )) { echo $result['fname']; echo " "; echo $result['lname']; echo "
"; echo $result['info']; echo "
"; echo "
"; } //This counts the number or results - and if there wasn't any it gives them a little message explaining that $anymatches=mysql_num_rows($data); if ($anymatches == 0) { echo "Sorry, but we can not find an entry to match your query

"; } //And we remind them what they searched for echo "Searched For: " .$find; } ?>

Редактирано от kydesibevesko (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

редакция: грешка...

Редактирано от flare (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Скриптът работи. промени <? на <?php

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Notice: Undefined variable: searching in C:xampphtdocs123Index.php on line 14

Line 14>>

 if ($searching =="yes")

 

Ако дам Search ми изписва :

Object not found!

The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster.

Error 404 localhost
Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.3

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

 

Notice: Undefined variable: searching in C:xampphtdocs123Index.php on line 14

Line 14>>

 if ($searching =="yes")

 

Ако дам Search ми изписва :

Object not found!

The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster.

Error 404 localhost

Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.

а като напишеш в лентата на браузера localhost какво ти вади на екрана?


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

 

Notice: Undefined variable: searching in C:xampphtdocs123Index.php on line 14

Line 14>>

 if ($searching =="yes")

 

Ако дам Search ми изписва :

Object not found!

The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster.

Error 404 localhost

Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.

 

Започнете примера от първата стъпка:

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
<h2>Search</h2>  <form name="search" method="post" action="<?= $_SERVER['PHP_SELF']; ?>"> Seach for: <input type="text" name="find" /> in  <Select NAME="field"> <Option VALUE="fname">First Name</option> <Option VALUE="lname">Last Name</option> <Option VALUE="info">Profile</option> </Select> <input type="hidden" name="searching" value="yes" /> <input type="submit" name="search" value="Search" /> </form> <?php  //This is only displayed if they have submitted the form  if (isset($_POST['serching']) && $_POST['serching'] =="yes")  {  echo "<h2>Results</h2><p>";   //If they did not enter a search term we give them an error  if (!isset($_POST['find']) || $_POST['find'] == "")  {  echo "<p>You forgot to enter a search term";  exit;  } else { 	$find = $_POST['find']; }  // Otherwise we connect to our Database  mysql_connect("localhost", "root", "*****") or die(mysql_error());  mysql_select_db("test") or die(mysql_error());   // We preform a bit of filtering  $find = strtoupper($find);  $find = strip_tags($find);  $find = trim ($find);   //Now we search for our search term, in the field the user specified  $data = mysql_query("SELECT * FROM users WHERE upper($field) LIKE'%$find%'");   //And we display the results  while($result = mysql_fetch_array( $data ))  {  echo $result['fname'];  echo " ";  echo $result['lname'];  echo "<br>";  echo $result['info'];  echo "<br>";  echo "<br>";  }   //This counts the number or results - and if there wasn't any it gives them a little message explaining that  $anymatches=mysql_num_rows($data);  if ($anymatches == 0)  {  echo "Sorry, but we can not find an entry to match your query<br><br>";  }   //And we remind them what they searched for  echo "<b>Searched For:</b> " .$find;  }  ?> 

Скриптът е писан за включен Register Globals, което е деприкейтната настройка.

Виж промените, които съм направил, и ще разбереш какво не си направил както трябва.

Редактирано от gothicrock (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Script #2

http://www.devshed.com/c/a/MySQL/Building-a-Search-Engine-with-MySQL-and-PHP-5/

 

Error:

Parse error: syntax error, unexpected '>' in C:xampphtdocsreal_estatesmysql.php on line 50

 

Line49&50:

if(!$this->conId=mysql_connect($this->localhost,$this->root,$this-
>DzUwrwyZE)){

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Script #2

http://www.devshed.com/c/a/MySQL/Building-a-Search-Engine-with-MySQL-and-PHP-5/

 

Error:

Parse error: syntax error, unexpected '>' in C:xampphtdocsreal_estatesmysql.php on line 50

 

Line49&50:

if(!$this->conId=mysql_connect($this->localhost,$this->root,$this-

>DzUwrwyZE)){

 

if(!$this->conId=mysql_connect($this->localhost,$this->root,$this->password))

{

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

ясно искаш да чета пак W3schools ... ами не мисля да става.

 

Не това бе мисълта ми.

... Явно си мислите, че имате пророчески способности.

Между понятията четене, разбиране, осмисляне и прилагане разликата е огромна.

Лек ден!

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ползвайки този скрипт http://csk157.hubpages.com/hub/Simple-search-PHP-MySQL търсачката работи, но изкарва ??? Вместо кирилица в резултата. А и ако в полето за търсене напиша "елемента"(просто примерна думичка!) ми дава No results. Базата ми test2 е с collation utf8_general_ci.

 

Да не забравя да благодаря ;)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ползвайки този скрипт http://csk157.hubpages.com/hub/Simple-search-PHP-MySQL търсачката работи, но изкарва ??? Вместо кирилица в резултата. А и ако в полето за търсене напиша "елемента"(просто примерна думичка!) ми дава No results. Базата ми test2 е с collation utf8_general_ci.

 

Да не забравя да благодаря ;)

 

Сложи този php код съвсем в началото на скрипта:

header('Content-Type: text/html; charset=utf-8');

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

...Error:Parse error: syntax error, unexpected '>' in C:xampphtdocsreal_estatesmysql.php on line 50Line49&50:if(!$this->conId=mysql_connect($this->localhost,$this->root,$this->DzUwrwyZE)){

Това е без коментар и класически гомнокод.mysql_connect връща идентификатор на съединението или FALSE. Върнатото се присвоявя на променлива conId, която на свой ред се отрицава в IF условие. Вероятно забито в някой метод на някой клас. Е и? Само шаман може да отговори в този случай. А Line49&50 е за отдел екстрасенси.

 

И честно, това изчадие като го мерна C:xampphtdocs... лицето ми се обрива с акне, ама нейсе. 

Сложи този php код съвсем в началото на скрипта:

header('Content-Type: text/html; charset=utf-8');

Това не е решение на проблема. На руски му казват подгонка, сиреч нагаждане. За проект от няколко страници ще обиколиш и ще го добавиш, но за нещо сериозно ще се юрнеш по всеки файл ли? Предимството на header е, че има приоритет над HTML мета таг meta charset="UTF-8" ?

 

А да, подобни тафти mysql_query('SET CHARACTER SET utf8', $id) също са чайнически шашми, еле пък да вдигате флагове в .htaccess - по-добре Пиночет да се завърне на бял кон и да ви зачисти като мандавошки.Отваряте конфигурацията на MySQL-сървъра и конкретно указвате какви кодировки искате в секции:

[client]бля-бля-бля[mysqld]бля-бля-бля[mysql]бля-бля-бля

рестартирайте и ще имате подобна красота,

+--------------------------+----------------------------+| Variable_name            | Value                      |+--------------------------+----------------------------+| character_set_client     | utf8                       || character_set_connection | utf8                       || character_set_database   | utf8                       || character_set_filesystem | binary                     || character_set_results    | utf8                       || character_set_server     | utf8                       || character_set_system     | utf8                       |+--------------------------+----------------------------++----------------------+-----------------+| Variable_name        | Value           |+----------------------+-----------------+| collation_connection | utf8_general_ci || collation_database   | utf8_general_ci || collation_server     | utf8_general_ci |+----------------------+-----------------+

а това ще ви избави завинаги от клизмите, да подкарате кирилица или каквото там искате като хората.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.