Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 03.07.2017
Сообщений: 88

Внедрение php кода в javascript

10.08.2018, 18:54. Показов 1048. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Возникла такая проблема.
У меня на странице есть список select, который содержит список городов.
Есть блок php кода, который инклудит на страницу блок с прогнозом погоды для данного города.
Выбор пользователя я обрабатываю javascript
Вопрос заключается в том, как мне в зависимости от выбора пользователя обновить страницу и синклудить соответствующий блок?
Вот код:

HTML5
1
2
3
4
Город: <select name="CitisList" id="City" onchange="SelectCity()">
<option value="Москва">Москва</option>
<option value="Санкт-петербург">Санкт-петербург</option>
</select>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script language=javascript>
function SelectCity()
{
var objSel = document.getElementById("City");
switch (objSel.selectedIndex)
{
case 0: 
location.reload();
break;
case 1: 
location.reload();
break;
}
}
</script>
PHP
1
2
3
<?php
include "./js/wether/wether.php";
?>
На данный момент этот код работает так:
Пользователь выбирает город, страница обновляется...
Но:
1. Выбор пользователя не сохраняется после обновления страницы.
2. Не получается в зависимости от выбора синклудить соответствующий блок, так как не знаю, как вставить php код в js скрипт.
В файл .htacciss необходимую строку для работы php кода в js скриптах вставил.

AddHandler application/x-httpd-php .html .htm .js

Подскажите пожалуйста, как мне решить эти задачи?
Заранее большое спасибо!

p.s. В JS и php не силён, ориентируюсь в общих чертах, поэтому помогите пожалуйста примерами кода.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2018, 18:54
Ответы с готовыми решениями:

Проверка кода капчи на PHP+Javascript
Приветствую, есть страница контактов на сайте, на которой установил генерацию картинки капчи (внешний php фаил). На самой странице...

Вызов функции javascript с аргументом из php кода
Подскажите как правильно вызвать функцию javascript из php и передать ей параметр? Почему этот код: &lt;script...

Конвертация PHP кода в Javascript
Доброго времени, Уважаемые форумчане. Есть код: &lt;?php // скопируйте содержимое...

5
111 / 96 / 35
Регистрация: 03.02.2009
Сообщений: 282
11.08.2018, 00:07
Цитата Сообщение от vlad-mus Посмотреть сообщение
1. Выбор пользователя не сохраняется после обновления страницы.
Можете записывать выбор пользователя в Cookies. Тогда при следующем открытии страницы сможете прочитать куки.

Цитата Сообщение от vlad-mus Посмотреть сообщение
2. Не получается в зависимости от выбора синклудить соответствующий блок, так как не знаю, как вставить php код в js скрипт.
В файл .htacciss необходимую строку для работы php кода в js скриптах вставил.
Хотелось-бы увидеть код php-файла "./js/wether/wether.php", который подключается.
Возможно там есть уже готовое решение, особенно если этот файл был скачан с какого-то стороннего сайта.
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
11.08.2018, 01:34
value замени на числовое, с ним проще работать
Тогда можно будет поймать это значение и отправить его на сервер get-запросом (с текстом тоже можно, но может возникнуть проблема с кодировками)
1
0 / 0 / 1
Регистрация: 03.07.2017
Сообщений: 88
11.08.2018, 03:21  [ТС]
Вот код из файла ./js/wether/wether.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
$city=1264; // Москва
// Если существует сегодняшняя кэшированная версия, отдаю её:
$cache_file=$_SERVER['DOCUMENT_ROOT']."/tmp/pogoda".$city.".cch";
if (file_exists( $cache_file ) && 
date('Y-m-d',filemtime($cache_file))==
date("Y-m-d", mktime(0, 0, 0, date("m") , date("d"), date("Y")))){
readfile($cache_file);
}else{
$content=file_get_contents("http://meteo.infospace.ru/win/wcond/html/");
$start = strpos( $content, "r_form.ssi?id=" ) + 11;
$end   = strpos( $content, '"', $start );
$id = substr( $content, $start, $end - $start );
if ( substr( $id, strlen( $id ) - 1, 1 ) == '"' )
{
$id = substr( $id, 0, strlen( $id ) - 1 );
}
$content=file_get_contents("http://meteo.infospace.ru/win/cities/html/city_r.sht?num=$city&$id");
// название населенного пункта
if (preg_match('|<font color=#800000>(.*?)</font>|sei', $content, $arr)) $title = trim($arr[1]);
   else $title='';
$tstart = strpos( $content, "<table BORDER=0 CELLPADDING=0 CELLSPACING=0 width=100%>" ) + 55;
$tend   = strpos( $content, "</TABLE>", $tstart ) + 8;
$tbl    = substr( $content, $tstart, $tend - $tstart );
$search_patterns  = array(
"./images/",
"<font size=-1",
"Дневная температура",
"Ночная температура",
"(при H =\x0a   \t\t\t\t90\x0a   \t\t\t\tм)",
"BGCOLOR=#B4DCFF",
"BGCOLOR=#A0C8FF",
"BGCOLOR=#8CB4FA",
"BGCOLOR=#78A0F0",
"BGCOLOR=#648CE6",
"BGCOLOR=5078DC",
"BGCOLOR=#5078DC",
"BGCOLOR=#3C64D2",
"BGCOLOR=#3C64D2",
"<font size=-2",
"<FONT SIZE=-1",
"<B>", "</B>", "<I>", "</I>"
);
$replace_patterns = array(
"pogoda/",
"<font size=1 face=\"Areal\"",
"Днем",
"Ночью",
"",
"bgcolor=#ffffff",
"bgcolor=#ffffff",
"bgcolor=#ffffff",
"bgcolor=#ffffff",
"bgcolor=#ffffff",
"bgcolor=#ffffff",
"bgcolor=#ffffff",
"bgcolor=#ffffff",
"bgcolor=#ffffff",
"<font size=-2 face=\"Areal\"",
"<font size=-2 face=\"Areal\""
);
$tbl =  "<h2>Погода в г.".$title."</h2>\n".
"<table border=0 cellpadding=0 cellspacing=0 width=500 height=190>\n".
str_replace( $search_patterns, $replace_patterns, $tbl );
@file_put_contents($cache_file,$tbl);
echo $tbl;
}
?>
p.s. Повторюсь, из-за того, что не силён в js/php хотел создать несколько таких php скриптов, просто с заменой $city на другой город.
Взяв с погодного сервера идентификатор нужного мне города и заменив его в каждом новом файле.
Ну и в зависимости от выбора пользователя просто инклудить файл по имени после обновления страницы.
Понятно, что для сотни городов такой вариант - это колхоз, но я и не планирую много городов.
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
11.08.2018, 04:00
PHP
1
$city = (int) $_GET['city'];
HTML5
1
2
3
4
Город: <select name="CitisList" id="City" onchange="SelectCity()">
<option value="1264">Москва</option>
<option value="1234567">Санкт-петербург</option>
</select>
JavaScript
1
2
3
4
5
6
7
8
9
<script>
function SelectCity()
{
var objSel = document.getElementById("City");
//Далее получаем value из выбранного option
//и отправляем его аяксом на сервер. Метод GET, параметр с идентификатором города city
//Обрабатываем полученный результат как хочется
}
</script>
Добавлено через 7 минут
Дополню: можно без аякса, так отправить запрос на адрес ./js/wether/weather.php?city=1234567 (это пример, вместо цифр должно подставляться значение из value)

Добавлено через 1 минуту
Сохранять выбор можно, скажем, в localStorage (это в javascript), а при загрузке страницы считывать и отправлять на сервер аяксом. Или ещё раз перезагружать страницу с выбранным параметром
1
0 / 0 / 1
Регистрация: 03.07.2017
Сообщений: 88
25.08.2018, 05:37  [ТС]
Спасибо большое за ответы!
Буду разбираться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.08.2018, 05:37
Помогаю со студенческими работами здесь

Переведите одну строчку кода с javascript на php
Приветствую! Уверен, что знающие люди ответят на вопрос за пару минут obj.value =...

Внедрение javascript в flash баннер
Всем доброго времени суток. Есть такой вопрос, возможно ли вставить определенный скрипт в флеш баннер, скрипт проверки просмотра данного...

Внедрение javascript'a в html-код
Помогите пожалуйста вставить javascript в php-документ вот ссылка куда нужно вставлять http://luchytsi.ho.ua/index.php а вот собственно...

Внедрение javascript в ASP.NET MVC 5
Добрый день. Начал писать сайт с помощью ASP Web Form, но в процесе решил перейти на ASP MVC 5 (пишу и учусь одновременно) В ASP Web Form...

Внедрение jquery в обычный javascript код.
Здравствуйте. Интересует такой вопрос. Допустим у меня есть функция javascript, которая привязана к онклик. Могу ли я как-то в ней...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru