[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кросбраузерность в php
Andruhaphp
У меня есть поиск формочка поиска по указанной стране,городу,категории выдать пользователей:
код полностью рабочий в опере,но тут я решил протестить его в мозилле и ишаке,и там кое что не работает,если задать страну город и категорию,все ок выводит,а если задать только страна и город,или только страну или только город,то ничего не выводит,а в опере при любом расскладе выводит,вот в чем проблема
вылаживаю код:
echo "<div align='center'>";
echo "<form name=my_form method='post' action='all_users.php'>";
echo "<select class='input' type=text name=country>";
$res = mysql_query("SELECT DISTINCT name, id FROM `country` ");
echo "<option value='' disabled selected='selected'>Выберите страну</option>";
while($row = mysql_fetch_assoc($res))
{
echo '<option value="'. $row['id'] .'">'. $row['name'] .'</option>';
}

echo "</select>";
echo "<select class='input' type=text name=city>";
$res_1 = mysql_query("SELECT DISTINCT name, id FROM `city` ORDER BY `id` ");
echo "<option value='' disabled selected='selected'>Выберите город</option>";
while($row_1 = mysql_fetch_assoc($res_1))
{
echo '<option value="'. $row_1['id'] .'">'. $row_1['name'] .'</option>';
}
echo "</select>";

echo "<select class='input' type=text name=product>";
$res_2 = mysql_query("SELECT DISTINCT name, id FROM `product` ORDER BY `id` ");
echo "<option value='' disabled selected='selected'>Выберите категорию</option>";
while($row_2 = mysql_fetch_assoc($res_2))
{
echo '<option value="'. $row_2['id'] .'">'. $row_2['name'] .'</option>';
}
echo "</select><input type='submit' name='usershow' value='показать'></form></div>";

if (isset($_POST['country'], $_POST['city'], $_POST['product']))
{
$where = ' WHERE 1';

if (!empty($_POST['country']))
$where .= " AND `country`='" . mysql_real_escape_string($_POST['country']) . "'";

if (!empty($_POST['city']))
$where .= " AND `city`='" . mysql_real_escape_string($_POST['city']) . "'";

if (!empty($_POST['product']))
$where .= " AND `product`='" . mysql_real_escape_string($_POST['product']) . "'";
$where.=" ORDER BY `login` ASC";
$query = 'SELECT `login`,`id` FROM `users`' . $where;
$res = mysql_query($query, $db) or die(mysql_error());
$count=0;
while($user = mysql_fetch_assoc($res))
{
$ids=$user['id'];
echo "<a href='/{$ids}.html'>".$user['login'] ."</a>".'<br />';
$count+=1;
}
echo "<b>Количество компаний:</b>".$count."<br/>";
}




Спустя 10 минут, 18 секунд (12.03.2011 - 23:16) sergeiss написал(а):
Экий ты огород нагородил... Кроссбраузерность - она на клиентской стороне. А ПХП - на сервере живет. Да еще кучу кода привел... Да работа с SQL...

Ты уж определись для начала САМ, в чем у тебя проблема. А потом бум помогать.

Спустя 56 секунд (12.03.2011 - 23:17) Zerstoren написал(а):
Мб трабл в вертке, а не ПХП?

ищите ошибку с помощью фаербага или просто просмотра исходников, вы явно что-то не закрыли или не правильно написали стили.

Спустя 1 минута, 27 секунд (12.03.2011 - 23:19) Andruhaphp написал(а):
sergeiss,проблема в том что в опере код работает,все путем,а в експлоере и мозилле,работает не все,что не работает написал

Спустя 7 минут, 42 секунды (12.03.2011 - 23:26) sergeiss написал(а):
ОК... Если проблема именно на стороне клиента, в браузере, то ЗАЧЕМ ты приводишь ПХП-код? Ты покажи код, который у тебя получился в браузере. Его можно в любом браузере извлечь.

Спустя 6 минут, 4 секунды (12.03.2011 - 23:32) Andruhaphp написал(а):
вот IE:
<form name=my_form method='post' action='search.php'><select  class='input' type=text name=country><option value='' disabled selected='selected'>Выберите страну</option><option value="1">Украина</option><option value="2">Россия</option></select><select class='input' type=text name=city><option value='' disabled selected='selected'>Выберите город</option><option value="1">Киев</option><option value="2">Днепропетровск</option><option value="3">Донецк</option><option value="4">Харьков</option><option value="5">Одесса</option><option value="6">Запорожье</option><option value="7">Львов</option><option value="8">Кривой Рог</option><option value="11">Москва</option><option value="12">Санкт-Петербург</option><option value="13">Екатеринбург</option><option value="14">Казань</option><option value="15">Нижний Новгород</option><option value="16">Новосибирск</option><option value="17">Омск</option><option value="18">Ростов-на-Дону</option><option value="19">Самара</option><option value="20">Уфа</option><option value="21">Челябинск</option></select><select class='input' type=text name=product><option value='' disabled selected='selected'>Выберите категорию</option><option value="1">Антиквариат и предметы роскоши</option><option value="2">Аудио, видео, фото техника</option><option value="3">Бытовая техника</option><option value="4">Галантерея, украшения, ювелирные изделия</option><option value="5">Домашние животные и зоотовары</option><option value="6">Компьютерная техника и программное обеспечение</option><option value="7">Красота и здоровье</option><option value="8">Мебель и фурнитура</option><option value="9">Мобильная связь</option><option value="10">Музыкальные товары</option><option value="11">Оборудование и товары для предоставления услуг</option><option value="12">Обувь</option><option value="13">Одежда</option><option value="14">Подарки и сувениры</option><option value="15">Продукты питания, напитки, табак</option><option value="16">Спорт и развлечения</option><option value="17">Сумки, чемоданы, портфели</option><option value="18">Телекоммуникация</option><option value="19">Товары для детей, игрушки</option><option value="20">Товары для дома и сада</option><option value="21">Товары для офиса</option><option value="22">Часы, очки</option><option value="23">Авто,мото запчасти,шины</option></select><input type='submit' name='usershow' value='показать'></form></div><a href='index.php'>На Главную</a>

Спустя 1 минута, 8 секунд (12.03.2011 - 23:34) Andruhaphp написал(а):
Mozilla:
<form name=my_form method='post' action='search.php'><select  class='input' type=text name=country><option value='' disabled selected='selected'>Выберите страну</option><option value="1">Украина</option><option value="2">Россия</option></select><select class='input' type=text name=city><option value='' disabled selected='selected'>Выберите город</option><option value="1">Киев</option><option value="2">Днепропетровск</option><option value="3">Донецк</option><option value="4">Харьков</option><option value="5">Одесса</option><option value="6">Запорожье</option><option value="7">Львов</option><option value="8">Кривой Рог</option><option value="11">Москва</option><option value="12">Санкт-Петербург</option><option value="13">Екатеринбург</option><option value="14">Казань</option><option value="15">Нижний Новгород</option><option value="16">Новосибирск</option><option value="17">Омск</option><option value="18">Ростов-на-Дону</option><option value="19">Самара</option><option value="20">Уфа</option><option value="21">Челябинск</option></select><select class='input' type=text name=product><option value='' disabled selected='selected'>Выберите категорию</option><option value="1">Антиквариат и предметы роскоши</option><option value="2">Аудио, видео, фото техника</option><option value="3">Бытовая техника</option><option value="4">Галантерея, украшения, ювелирные изделия</option><option value="5">Домашние животные и зоотовары</option><option value="6">Компьютерная техника и программное обеспечение</option><option value="7">Красота и здоровье</option><option value="8">Мебель и фурнитура</option><option value="9">Мобильная связь</option><option value="10">Музыкальные товары</option><option value="11">Оборудование и товары для предоставления услуг</option><option value="12">Обувь</option><option value="13">Одежда</option><option value="14">Подарки и сувениры</option><option value="15">Продукты питания, напитки, табак</option><option value="16">Спорт и развлечения</option><option value="17">Сумки, чемоданы, портфели</option><option value="18">Телекоммуникация</option><option value="19">Товары для детей, игрушки</option><option value="20">Товары для дома и сада</option><option value="21">Товары для офиса</option><option value="22">Часы, очки</option><option value="23">Авто,мото запчасти,шины</option></select><input type='submit' name='usershow' value='показать'></form></div><a href='index.php'>На Главную</a>


Спустя 2 минуты, 35 секунд (12.03.2011 - 23:36) quickxyan написал(а):
как то в глаза кидается


<option value='' disabled selected='selected'>


именно disabled

Спустя 3 минуты, 20 секунд (12.03.2011 - 23:39) Andruhaphp написал(а):
Почему привел php код у меня есть подозрения по этому поводу
echo "<a href='/{$ids}.html'>".$user['login'] ."</a>".'<br />';
Дело в том что я подключил rewrite mod
и на самом деле ссылка на страницу для перехода вот такая:
<a href='company.php?id={$ids}'>
Просто в реврайте идет замена
RewriteRule ^([^/]*)\.html$ /company.php?id=$1 [L]
Может это повлияло???

Спустя 14 минут, 58 секунд (12.03.2011 - 23:54) Invis1ble написал(а):
Имхо, там еще где-то js-синхронизация select'ов, в ней косяк

Спустя 39 секунд (12.03.2011 - 23:55) Andruhaphp написал(а):
а ещё такая штука,когда подключил реврайт то инклудные баннеры перестало отображать

Спустя 56 секунд (12.03.2011 - 23:56) Andruhaphp написал(а):
Invis1ble ,неа нету синхронизации

Спустя 15 минут, 22 секунды (13.03.2011 - 00:11) Andruhaphp написал(а):
неа не в реврайте дело,блин что же ещё может быть,я понимаю что на стороне клиента ошибку,но блин фиг его знает в чем причина

Спустя 4 минуты, 13 секунд (13.03.2011 - 00:16) Invis1ble написал(а):
FireBug тебе поможет, тебе уже написали об этом

Спустя 2 минуты, 25 секунд (13.03.2011 - 00:18) sergeiss написал(а):
Цитата (quickxyan @ 13.03.2011 - 00:36)
как то в глаза кидается


<option value='' disabled selected='selected'>

Мне тоже это что-то не нравится smile.gif Как-то нелогично.

Но я вот в ИЕ8 проверил - вроде как всё выбирается.

Спустя 4 минуты, 40 секунд (13.03.2011 - 00:23) Andruhaphp написал(а):
sergeiss,и ты ничего не менял??

Спустя 5 минут, 22 секунды (13.03.2011 - 00:28) Andruhaphp написал(а):
поставил я firebug for mozilla,ну ничего не проиходит,или его надо как то запускать,??просто не юзал раньше

Спустя 23 минуты, 17 секунд (13.03.2011 - 00:51) sergeiss написал(а):
Нет, ничего не менял. Выбирается всё в любом списке.

А у тебя проблема именно при выборе или дальше, после нажатия кнопки "Показать"?

Спустя 2 минуты, 37 секунд (13.03.2011 - 00:54) Andruhaphp написал(а):
у меня проблема когда показать,не выдает пользователей,если выбрана только страна или только город,а когда все 3 параметра то все ок,а в опере при любом расскладе выдает пользователей подходящих

Спустя 20 минут, 5 секунд (13.03.2011 - 01:14) Andruhaphp написал(а):
нажал я f12,для вызова панели firebug,ничего это мне не помогло,когда выбираю страну и город ничего не происходит,когда страну,город и категорию,то выдает результат и генерирует хтмл код вывода,может кто подскажет как именно фаербаг мне может помочь??

Спустя 19 минут, 47 секунд (13.03.2011 - 01:34) Invis1ble написал(а):
Проверь, включена ли панель "Консоль", обнови страницу и посмотри, не будет ли в этой панели показаны какие-то ошибки

Спустя 32 минуты, 12 секунд (13.03.2011 - 02:06) Andruhaphp написал(а):
включил консуоль,ошибку не выдает

Спустя 7 часов, 32 минуты, 24 секунды (13.03.2011 - 09:38) sergeiss написал(а):
Цитата (Andruhaphp @ 13.03.2011 - 01:54)
у меня проблема когда показать,не выдает пользователей,если выбрана только страна или только город,а когда все 3 параметра то все ок,а в опере при любом расскладе выдает пользователей подходящих

Всё равно не понял до конца... Ты нажимаешь "Показать" и у тебя в разных браузерах может показывать или не показывать? Если так, то надо смотреть еще и код, который ты используешь для приема данных в search.php

Спустя 3 часа, 30 минут, 3 секунды (13.03.2011 - 13:08) Andruhaphp написал(а):
Вот прием и вывод данных
if (isset($_POST['country'], $_POST['city'], $_POST['product']))
{
$where = ' WHERE 1';

if (!empty($_POST['country']))
$where .= " AND `country`='" . mysql_real_escape_string($_POST['country']) . "'";

if (!empty($_POST['city']))
$where .= " AND `city`='" . mysql_real_escape_string($_POST['city']) . "'";

if (!empty($_POST['product']))
$where .= " AND `product`='" . mysql_real_escape_string($_POST['product']) . "'";
$where.=" ORDER BY `login` ASC";
$query = 'SELECT `login`,`id` FROM `users`' . $where;
$res = mysql_query($query, $db) or die(mysql_error());
$count=0;
while($user = mysql_fetch_assoc($res))
{
$ids=$user['id'];
echo "<a href='/{$ids}.html'>".$user['login'] ."</a>".'<br />';
$count+=1;
}
echo "<b>Количество компаний:</b>".$count."<br/>";
}

Спустя 51 минута, 33 секунды (13.03.2011 - 14:00) sergeiss написал(а):
Andruhaphp - сделай следующее:

1. Сделай вывод данных, которые ты передаешь.
var_dump( $_POST );


2. Непосредственно ПЕРЕД попыткой выполнения запроса сделай его вывод. Т.е. в дополнение к строке
$query = 'SELECT `login`,`id` FROM `users`' . $where;

напиши так
$query = 'SELECT `login`,`id` FROM `users`' . $where;
echo $query.'<br>';


И выполни код во всех браузерах: и где работает, и где не работает. Полученный результат - сюда.

Спустя 7 часов, 7 минут, 38 секунд (13.03.2011 - 21:08) Andruhaphp написал(а):
Сделал все как вы говорили в опере выдает:
array(4) { ["country"]=> string(1) "1" ["city"]=> string(1) "1" ["product"]=> string(0) "" ["usershow"]=> string(8) "показать" }
SELECT `login`,`id` FROM `users` WHERE 1 AND `country`='1' AND `city`='1' ORDER BY `login` ASC

А в ie и mozilla вообще ничего не выдает

Спустя 9 минут, 8 секунд (13.03.2011 - 21:17) Andruhaphp написал(а):
То есть ошибка заключаеться в передачи данных,и я так понял что получаеться так в ie и mozilla,что если нет 3-го параметра из селекта,то данные не передаються
А может проблема в этой конструкции:
if (isset($_POST['country'], $_POST['city'], $_POST['product']))

Спустя 19 минут, 47 секунд (13.03.2011 - 21:37) Andruhaphp написал(а):
решил проверить заменил if (isset($_POST['country'], $_POST['city'], $_POST['product']))
на if ((isset($_POST['country'])) OR (isset($_POST['city'], $_POST['product'])))
и заработало

Спустя 13 минут, 49 секунд (13.03.2011 - 21:50) sergeiss написал(а):
Andruhaphp - я не понял, а где ты выводил var_dump()? Внутри ИФа, что ли? Я имел ввиду ПЕРЕД ИФом.

А вообще... Мне так кажется, что лучше не пустые value использовать, а, например, (-1). Тогда проще будет обрабатывать.

Спустя 13 минут, 24 секунды (13.03.2011 - 22:04) Andruhaphp написал(а):
главное,что все круто работает,так как мне надо.
Вы даете очень умные советы,спасибо
А вы бы не могли подсказать материалы,статьи,где можно за часика 2-3 разобраться в пагинации,ну можно больше по времени,оч надо

Спустя 2 минуты, 1 секунда (13.03.2011 - 22:06) sergeiss написал(а):
http://phpforum.su/index.php?showforum=133 - вот тут про пагинацию smile.gif Смотри темы на самых "старых" страницах раздела. Там МНОГО всего.

Спустя 7 секунд (13.03.2011 - 22:06) Andruhaphp написал(а):
мне надо что бы при выводе пользователей,в этом коде,разбивало их на странице,по 10 штук на каждой

Спустя 59 секунд (13.03.2011 - 22:07) Andruhaphp написал(а):
Нашел,буду разбираться

Спустя 9 минут, 34 секунды (13.03.2011 - 22:16) Andruhaphp написал(а):
Помогите разобраться с пагинацией,не пойму как вот то все что там написано внедрить к себе
Может кто поможет алгоритм словестный набросать,код то написать я смогу,мне просто сложно в чужом разбираться коде,легче писать свой.
Суть в чем,есть у меня страница search.php,на ней делаеться выборка пользователей по 3 параметрам:город,страна,категория.ОНа же принимает эти данные и выводиться на ней,как мне так сделать что бы выводилось по 10,а внизу,были ссылки на переход к след. 10 и так далее
Пусть это будет пипец просто не защищенно,просто нужно срочно,потом вникну всуть,и полпробую уже по всем правилам написать

Спустя 3 часа, 45 секунд (14.03.2011 - 01:17) Trianon написал(а):
проблема в постраничной навигации как таковой,
или проблема в том, что на последующих страницах е учитываются эти три фильтровых параметра?

Спустя 23 минуты, 34 секунды (14.03.2011 - 01:41) Andruhaphp написал(а):
как таковой,не могу въехать хоть убей,то ли поздно уже,толчек нужен
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.