webew
Войти » Регистрация
 
PHP

PHP и Apache, настройка на хостинге и Denwer.

30 апреля 2010, 12:28
Автор: Mirage
Здравствуйте. Такая проблема. При
выборе "керамогранит" и нажатия "искать" поиск работает как должен
- отображается керамогранит. Ссылка после нажатия кнопки http://www.plitkadona.ru/catalog.php
Но при выборе поиска по другим критеряим, поиск не работает. Хотя в
строке адреса нормальные ссылки. И так далее с другими, кроме поиска по керамограниту. С другой
страницы сайта есть прямые ссылки
(http://www.plitkadona.ru/partners.php) и т. д. Все они работают. На локальном хостинге с моего компьютера поиск работает
должным образом. Версию Apache и PHP v 4.3.6
Apache 1.3.27
Это версии на моем лок. сервере. А на хостинге PHP4.4.9. Помогите, пожалуйста. Может кто сталкивался с такой проблемой. В службе поддержки посоветовали сравнить настройки на denwer и на хостинге.
<div id="search"><form action="<?$_SERVER['SCRIPT_NAME'];?>" method = GET>
<b>Поиск:</b><br><br>
<input type=radio name=sc value="">вся плитка<br>
<input type=radio name=sc value="0">облицовачная плитка<br>
<input type=radio name=sc value="1">напольная плитка<br>
<input type=radio name=sorient value="керамогранит">керамогранит<br>
<b>Выберите тип поверхности плитки:</b><br>
<input type=radio name=stc value="">неважно<br>
<input type=radio name=stc value="матовая">матовая<br>
<input type=radio name=sct value="глянцевая">глянцевая<br>
<b>Выберите размер плитки:</b><select name = sz >
    <option value=""></option>
    </select><br><br>
    <input type="submit" name="sub_search" value="Искать"><br><br>
    <?
echo "
<br>
".$sman;
?>
    </form></div>
Добавить комментарий
Отображение комментариев: Древовидное | Плоское

1234ru

Сложно сказать, вляют ли действительно отличия версий ПО у Вас на компьютере и на хостинге, потому что Вы практически не приводите код, который занимается поиском.
Впрочем, пока что этого делать не надо.

Попробуйте Заменить кириллически строки в атрибутах value радиокнопок на латинские (чтобы вместо "керамогранит" было что-нибудь другое, по-английски). Если не поможет - нужно будет думать дальше.
То, что не убивает нас, делает нас инвалидами.
04.05.2010, 22:11
Ответить

Mirage

Это собственно и весь код. Остальное в SQL запросах.
05.05.2010, 00:36
Ответить

1234ru

Таки без кода запросов сказать нельзя.
Приведите пример какой-нибудь, какие у Вас запросы к базе.
То, что не убивает нас, делает нас инвалидами.
07.05.2010, 00:20
Ответить

Mirage

<?
$num = 15;
$page = $_GET['page'];
$sman = $_GET['sman'];
$sorient=$_GET['sorient'];
$result = mysql_query("SELECT COUNT(*) FROM plitka WHERE (cover LIKE '%$sc%') and (type_cover LIKE '%$stc%') and (WxHxT LIKE '%$sz%') and (manufactured LIKE '%$sman%') and (orient LIKE '%$sorient%') ");
$posts = mysql_result($result, 0, 0);
$total = intval(($posts - 1) / $num) + 1;
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$result = mysql_query("SELECT * FROM plitka WHERE (cover LIKE '%$sc%') and (type_cover LIKE '%$stc%') and (WxHxT LIKE '%$sz%')  and (manufactured LIKE '%$sman%') and (orient LIKE '%$sorient%') LIMIT $start, $num");
while ( $postrow = @mysql_fetch_array($result))
{
$n=$postrow['id_plitka'];
?>
07.05.2010, 16:35
Ответить

Mirage

1234ru, а как вообще с администрацией связаться? Хочу здесь опубликовать мысли об интернет-магазине... премоджерация там или что-нибудь в этом духе есть?
10.05.2010, 17:45
Ответить

1234ru

Цитата:
1234ru, а как вообще с администрацией связаться?

Можно, например, x@webew.ru
Цитата:
Хочу здесь опубликовать мысли об интернет-магазине... премоджерация там или что-нибудь в этом духе есть?
Премодерация - для статей.
Но в большинстве случаев мысли лучше публиковать в виде сообщений - для них постмодерация.
То, что не убивает нас, делает нас инвалидами.
11.05.2010, 20:39
Ответить

1234ru

Попробуйте в скрипте написать

echo "SELECT COUNT(*) FROM plitka WHERE (cover LIKE '%$sc%') and (type_cover LIKE '%$stc%') and (WxHxT LIKE '%$sz%') and (manufactured LIKE '%$sman%') and (orient LIKE '%$sorient%') ".
Посмотрите на запрос, правильно ли он выглядит, правильно ли передаются переменные.
Потом попробуйте его выполнить в консоли mysql (или хотя бы в PHPMyAdmin) - правильно ли он выполняется, нет ли ошибок.
Еще у вас после while скобка закрывающая отсутствует.
То, что не убивает нас, делает нас инвалидами.
11.05.2010, 20:29
Ответить

Mirage

Спасибо большое. Попробую обязвтельно.
11.05.2010, 23:58
Ответить

Mirage

Мда. Когда выбираю всё что угодно кроме керамогранита, почему не передает выбранные переменные.
SELECT COUNT(*) FROM plitka WHERE (cover LIKE '%%') and (type_cover LIKE '%%') and (WxHxT LIKE '%%') and (manufactured LIKE '%%') and (orient LIKE '%%')

А когда керамогранит:
SELECT COUNT(*) FROM plitka WHERE (cover LIKE '%%') and (type_cover LIKE '%%') and (WxHxT LIKE '%%') and (manufactured LIKE '%%') and (orient LIKE '%керамогранит%')
15.05.2010, 19:06
Ответить

Mirage

В phpMyAdmin запрос выполняется корректно.
15.05.2010, 19:12
Ответить

Mirage

Опять же, на localhost всё работает. Если в phpMyAdmin запрос выполняется корректно, а по submit не работает. Что мне дальше делать?
15.05.2010, 19:32
Ответить

1234ru

Добавьте в ваш скрипт команду print_r($_GET); и посмотрите, какие переменные передаются - наверняка у Вас в скрипте неправильно записаны имена полей формы, отсюда и ошибки.
То, что не убивает нас, делает нас инвалидами.
17.05.2010, 00:09
Ответить
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100