Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно вызвать php-скрипт, чтобы вывести результат на эту же страни 
V
    Опции темы
Delphist
  Дата 24.11.2010, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Возникла такая проблема. Есть главная страница сайта, в ней есть контрол ввода текста и кнопка поиска.
Пользователь вводит данные на главной страницы и нажимает кнопку поиска. В результате в определенном
месте (где-то в середине) этой страницы должнен выдаться результат поиска, причем интерфейс главной
страницы меняться не должен, просто в серединке добавляетсят строчка с результатом
.
Вопрос, как правильно сделать, т.е. при нажатие кнопки поиска вызывается php-скрипт:
Код

<input type="text" name="srch" value="Что я должен здесь написать, чтобы вызвать другой php-скрипт?!">

который найдет результат и сгенирит страничку№2 точто такую же как главная, только
с добавлением строки результата.

Или же можно код php-скрипта разместить в этой же главной странице
Код

<input type="text" name="srch" value="<?$_GET['srch']?>">
...
<?php 
/* код поиска результата */
 ?>        

и как-то (может какой html-тэг есть) результат вывести на этой же страницы в определенном месте.

Это сообщение отредактировал(а) Delphist - 24.11.2010, 14:58


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
GZep
Дата 24.11.2010, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Допустим есть скрипт поиска search.php

Вот разметка формы поиска.
Код

<form method="post" action="search.php">
<input type = "text" name = "s">
<input type = "submit" value = "search">
</form>


И соответственно скрипт поиска-обработчик.
Код

if (isset($_POST['search'])) {

//тут запрос к бд должен быть, а пока заглушка с результатами
$results[] = "вот, нашёл";
$results[] = "ещё нашёл";
$results[] = "опять результат";

}

МОжно, конечно сразу вывести результаты поиска, но лучше этот скрипт запихнуть наверх, а на том месте где надо выводить, сделать так:
Код

<div>
<?php
if (empty($results)) {

  echo "поиск не был осуществлен";

} else {

  foreach($results as $result) {

    echo "<div>\n";
    echo "Результат: " . $result;
    echo "\n</div>\n";

  }

}
</div>

как-то так.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
CruorVult
Дата 24.11.2010, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 9
Всего: 28



отправляете GET или POST на ту же страницу а потом
Код

if(isset($_GET['srch'])) {
//выполнить поиск по $_GET['srch'] и вывести результат
}

PM MAIL Skype   Вверх
Delphist
  Дата 24.11.2010, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Цитата(CruorVult @  24.11.2010,  16:05 Найти цитируемый пост)
отправляете GET или POST 

А какой лучше GET или POST?

Добавлено через 12 минут и 32 секунды
Цитата(GZep @  24.11.2010,  16:02 Найти цитируемый пост)
Допустим есть скрипт поиска search.php

1. Не совсем понял. Код формы и текст php-скрипта хранятся в разных файлах или все в одном search.php?
Цитата(GZep @  24.11.2010,  16:02 Найти цитируемый пост)
МОжно, конечно сразу вывести результаты поиска, но лучше этот скрипт запихнуть наверх, а на том месте где надо выводить, сделать так:

Что значит запихнуть наверх? В смысле в начало php-скрипта, тогда в чем разница куда мы разместим в начало или конец?


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Guedda
Дата 24.11.2010, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Delphist, зачем задавать кучу самых простейших вопросов, если можно взять и почитать мануалы, начать с прочтения учебников... Во всем разобраться, а что не понял - задавать вопросы. Или нанимать программистов, которые смогут сделать за тебя всю работу. Это уже в рамки никакие не лезет, если честно.

http://phpfaq.ru/na_tanke


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Delphist
  Дата 24.11.2010, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Спасибо заработало.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
GZep
Дата 24.11.2010, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Цитата(Delphist @  24.11.2010,  15:11 Найти цитируемый пост)
А какой лучше GET или POST?

в данном случае лучше GET, чтобы ссылку на страницу с результатами поиска можно было сохранить.
Цитата(Delphist @  24.11.2010,  15:11 Найти цитируемый пост)
Не совсем понял. Код формы и текст php-скрипта хранятся в разных файлах или все в одном search.php?

как хотите. Можно в одном, можно в разных.
Цитата(Delphist @  24.11.2010,  15:11 Найти цитируемый пост)
Что значит запихнуть наверх? В смысле в начало php-скрипта, тогда в чем разница куда мы разместим в начало или конец? 

Да в начало скрипта. А еще лучше в отдельный файл и потом инклудить его. Если запихнуть выборку из бд в середину страницы будет мягко говоря некрасиво.
Цитата(Guedda @  24.11.2010,  15:32 Найти цитируемый пост)
Delphist, зачем задавать кучу самых простейших вопросов, если можно взять и почитать мануалы

В вашем случае это действительно самый быстрый способ во всем разобраться.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
bars80080
Дата 24.11.2010, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(GZep @  24.11.2010,  16:24 Найти цитируемый пост)
Да в начало скрипта. А еще лучше в отдельный файл и потом инклудить его. Если запихнуть выборку из бд в середину страницы будет мягко говоря некрасиво.

тут вопрос не в красоте а в порядке реализации.

скрипт работает, на основе результатов выполнения программы мы строим ту или иную страницу. если поиск успешен, то ниже по коду страницы вставляем результат. если не успешен, то вставляем сообщение с сожалением. а вдруг у нас поиск связан с поисковыми системами. тогда надо, чтобы на несуществующую ссылку мы в итоге отдали страницу 404. следовательно потребуется послать заголовок с статусом 404. чего мы не сможем сделать, если скрипт находится посреди страницы. так же может потребоваться редирект, а это опять же заголовки 301 и location, что тоже надо отдавать до вывода

короче, следует принять следующую мысль: вначале обработка данных, затем отдача результата. то есть вначале скрипт, а затем вывод страницы
PM MAIL WWW   Вверх
Delphist
Дата 24.11.2010, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Цитата(bars80080 @  24.11.2010,  21:12 Найти цитируемый пост)
короче, следует принять следующую мысль: вначале обработка данных, затем отдача результата. то есть вначале скрипт, а затем вывод страницы 

Спасибо за совет


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0538 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.