Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Помогите разобраться, Добрый день, возникла проблема
Дамир21  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 5
Пользователь №: 42146
На форуме: 1 год, 16 дней
Карма:




Необходимо, что бы в зависимости от get параметра, изменялось значение переменной. Значение переменной подставляется в url сайта.
По-порядку...
1. на сайте есть поисковая форма.
2. переменной $t_of_gorod присваивается значение get-параметра, в зависимости от выбора 'москва', 'санкт-петербург' или 'казань';
3. если значение get-параметра $_GET['t_of_gorod'] равно тому или иному значению, то переменной $gorod присваивается то или иной значение.
4. далее значение переменной $gorod подставляется в формирующуюся ссылку, генерирующую новую страницу. ($("#actionship").attr("action","/<?echo $gorod?>");)
5. Значение переменной постоянно подставляется $gorod='no', не выполняя условий.
В чем ошибка не могу понять. помогите.
Вот весь код
<?  
$t_o_w= array("Сфера деятельности", "IT, компьютеры, интернет", "Без опыта, подработка, стажировки, прочее", "Бухгалтерия, кассовый учет", "Врачи, фармацевты, медицинские работники", "Дизайн, творческие профессии", "Директора и руководители", "Инженеры, проектировщики", "Логистика, снабжение, перевозки, склад", "Маркетинг, PR-служба", "Менеджеры по персоналу, HR-служба", "Образование, наука, тренинги", "Охрана, служба безопасности, полиция", "Повара, официанты, бармены, сомелье", "Продавцы, менеджеры по продажам, торговые представители", "Производство и строительство, рабочие специальности", "Редакторы, журналисты, переводчики", "Секретари, офис-менеджеры, операторы", "Услуги для населения, персонал для дома, спорт", "Финансы, экономика, аудит, банк", "Юристы, коллекторы, приставы");
$sof= array("Москва","Санкт-Петербург", "Казань");
$adress=$_SERVER['REQUEST_URI'];
$a1=explode('?', $adress);
if($a1[0]=='/vacancy'){
$sel='<option value="1" selected>Вакансии</option><option value="2" >Резюме</option>';
}
elseif($a1[0]=='/resumes'){
$sel='<option value="1" >Вакансии</option><option value="2" selected >Резюме</option>';
}
else{
$sel='<option value="1" >Вакансии</option><option value="2">Резюме</option>';
}
$t_of_work='<select class="vybor_sferi" name="t_of_work">';
for ($g = 0; $g <= 20; $g++){
if((isset($_GET['t_of_work'])) && ($_GET['t_of_work']==$g)) $t_of_work .='<option value="'.$g.'" selected>'.$t_o_w[$g].'</option>';
else $t_of_work .='<option value="'.$g.'">'.$t_o_w[$g].'</option>';
}
$t_of_work .='</select>';
$t_of_gorod='<select class="vybor_gorod" name="t_of_gorod">';
for ($i = 0; $i <= 2; $i++){
if((isset($_GET['t_of_gorod'])) && ($_GET['t_of_gorod']==$i)) $t_of_gorod .='<option value="'.$i.'" selected>'.$sof[$i].'</option>';
else $t_of_gorod .='<option value="'.$i.'">'.$sof[$i].'</option>';
}
$t_of_gorod .='</select>';
if(isset($_GET['likesearch']))
{
$likesearch=$_GET['likesearch'];
}
else
{
$likesearch='';
}
if(isset($_GET['sort_by']))
{
$sort_by1=$_GET['sort_by'];
}
else
{
$sort_by1=0;
}
if(isset($_GET['education_level']))
{
$education_level1=$_GET['education_level'];
}
else
{
$education_level1=1;
}
if((isset($_GET['t_of_gorod'])))
{
if($_GET['t_of_gorod']==0)
{
$gorod='moskva';
}
elseif($_GET['t_of_gorod']==1)
{
$gorod='sankt-peterburg';
}
elseif($_GET['t_of_gorod']==2)
{
$gorod='kazan';
}
}

else { $gorod='no';}
?>

<div class="info">
<a
href="/"><div class="logologo"></div></a>
<form
action="/" method="GET" id="actionship" style="margin:2em 0 0;">
<input
class="button" type="submit" value="" />
<div
class="poisk">
<div
class="vybor">
<select
class="vybor" id="target" ><? echo $sel;?></select>
<div
class="minibut"></div>
</div>
<div
class="vybor_sferi">
<?
echo $t_of_work;?>
<div
class="minibut"></div>
</div>
<div
class="vybor_gorod">
<?
echo $t_of_gorod;?>
<div
class="minibut"></div>
</div>
<input
class="search1" type="text" name="likesearch" placeholder="Поиск..." value="<?echo $likesearch;?>"/>
<div
style="display:none;">
<input
type="text" name="sort_by" value="<?echo $sort_by1;?>">
<input
type="text" name="education_level" value="<?echo $education_level1;?>">
</div>
</div>
<input
class="button" id="srccc" type="submit" value="" />
</form>
<div
class="all_block">
<!--<a href="#" class="extended_src">Расширенный поиск</a>-->
<?locate_resume_or_vacancy($send_login, $send_password, $type_of_client);?>
</div>
</div>
<div
class="navigation">
<?
navigation($navigation);?>
</div>

<script
src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>

$( "#target" ).change(function () {
var str = "";
$( "#target option:selected" ).each(function() {
str += $( this ).val() + " ";
});
if(str==1)
{
$("#actionship").attr("action","/<?echo $gorod?>");

}
else
{
$("#actionship").attr("action","<?echo $gorod?>");

}
}
)
.
change();
</script>


Это сообщение отредактировал Дамир21 - 24.11.2015 - 20:55
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Дамир21  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 5
Пользователь №: 42146
На форуме: 1 год, 16 дней
Карма:




Значение переменной постоянно подставляется $gorod='no', не выполняя условий.
В чем ошибка не могу понять. помогите.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 395
Пользователь №: 41702
На форуме: 1 год, 3 месяца, 27 дней
Карма: 13




Дамир21
Давайте посмотрим вашу логику:
если $_GET['t_of_gorod'] не существует, то $gorod = 'no';
И это условие выполняется сразу при формировании ответа сервера (не открытия страницы, а ранее).
И более это значение нигде не меняется в принципе. Отсюда вывод, в URL нет переменной 't_of_gorod' во время открытия страницы
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Дамир21  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 5
Пользователь №: 42146
На форуме: 1 год, 16 дней
Карма:




Согласен, как такое в этом случае возможно решить?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 395
Пользователь №: 41702
На форуме: 1 год, 3 месяца, 27 дней
Карма: 13




Цитата (Дамир21 @ 25.11.2015 - 09:10)
как такое в этом случае возможно решить?

вариантов несколько, в вашем случае отправка запроса через Ajax и обработка запроса вам поможет.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Дамир21  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 5
Пользователь №: 42146
На форуме: 1 год, 16 дней
Карма:




icedfox,Не особо дружу с js, может покажете как это выглядит?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1357
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 12 дней
Карма: 77




Как-то так .
jquery
$.post( "test.php", {'value' : $( "#actionship" ).serialize() } )
.
done(function( data ) {
alert( data );
});

php
if (isset($_POST['value'])) {
parse_str($_POST['value'], $value);
print_r($value);
}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Дамир21  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 5
Пользователь №: 42146
На форуме: 1 год, 16 дней
Карма:




Kusss, пояснить можете?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
[x] Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1357
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 12 дней
Карма: 77




$.post или $.get - как отправляем данные. GET имеет ограничение по количеству символов.
test.php - файл обработчик.
$( "#actionship" ).serialize() - это соберет все данные из формы. (<form id="actionship">...</form>)
.done - если все удачно то ..... делам что нужно.
(есть и другие обработчики .fail, .always)

http://api.jquery.com/jquery.post/

добавлю
только нужно ещё кое что сделать.
1) Заменить кнопку отправки данных на обычную кнопку
2) Присвоить элементу уникальный класс или id (у Вас это class="button")
3) Добавить обработку по клику на элемент
<form id="testForm">
<input
type="text" name="name">
<button
type="botton" id="formGo">Вперед...</button>
</form>
<div
id="result"></div>
<script>

$(document).ready(function(){
// При клике на id="formGo"
$('#formGo').click( function(){
var value = $( "#testForm" ).serialize();
$.post( "test.php", {'value' : value } )
.
done(function( data ) {
$('#result').text(data);
}),
.
fail(function( data ) {
$('#result').text('ошибка');
});
});
});
</script>


Это сообщение отредактировал Kusss - 26.11.2015 - 15:45
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса