С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386

Изменение страници без перезапуска.

09.03.2011, 01:38. Показов 3849. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача следующая. Нужно изменять часть странички при использовании меню.
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
<?
session_start();
include("conekt.php");
include("tmp/obnova.php");
Error_Reporting(E_ALL & ~E_NOTICE); 
if(!empty($_GET["p"])){ $p = $_GET["p"];}
if(!$p)$p = "main";
include("tmp/head.php"); 
?>
 
<table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
                <td class="e1">&nbsp;</td>
                <td class="e2">&nbsp;</td>
                <td class="e3">&nbsp;</td>
        </tr>
        <tr>
                <td class="e4"></td>
                <td class="e5"><? include("arrag/".$p.".php"); ?></td>
                <td class="e6">&nbsp;</td>
        </tr>
        <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
        </tr>
</table>
<? include("tmp/podval.php"); ?>
сейчас при переходе по меню задаётся переменная $p но я хочу разместить внизу странички чат и перезапускать страницу я не хочу поэтому прошу помочь с реализацией.

Мучить пользователей iframe я не хочу.
А для AJAX я ещё сыроват. Хотя знаю что можно это сделать на нём.
Знаю только что нужно в меню на каждую ссылку функцию JS прикрепить.

И ещё вопрос как мне передавать POST запросы?

Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2011, 01:38
Ответы с готовыми решениями:

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

Как получить последний созданный cookie без перезапуска скрипта?
Есть страница-скрипт(script.php), которая может быть посещена с одним из трех GET-параметров: ref1, ref2 или ref3. Каждый раз скрипт...

Изменение номера com-порта без перезапуска приложения
Добрый день. Снова проблема. Есть form1 с основной программой опроса порта и есть form2 с comboboxами для выбора номера и скорости порта....

16
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
09.03.2011, 04:29
есть в jQuery событие ckick т.е. у тебя допустим есть меню у каждой ссылки есть уникальный ID и ты пишешь
HTML5
1
2
3
4
5
6
7
<table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                                <td id="menu"><a id="1" href="javascript:void(0);">Link 1</a></td>
                                <td id="menu"><a id="2" href="javascript:void(0);">Link 2</a></td>
                                <td id="menu"><a id="3" href="javascript:void(0);">Link 3</a></td>
                </tr>                
</table>
href="javascript:void(0);" - для того что бы при нажатии на ссылку ничего не происходило и в адресной строке не добавлялось #
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$('td#menu a').click(function (){ //в первых скобках пишешь путь к блоку для которого должно выполняться это событие, 'td#menu а' - определяем что мы выполняем событие только при нажатии на ссылки, родителем которых является TD с айдишником MENU
var id_elem = $(this).attr('id'); //определяешь ID элемента который был нажат
var data = $(this).html(); //к примеру берем текст ссылки, можно взять любые данные
$.ajax({
            type: "POST", //метод отправки, лучше использовать именно его для Ajax запросов
            url: "/some.php", //ссылка на файл, который будет обрабатывать данные
            data: "id=" + id_elem + "&data=" + data, //данные которые отправляются
            success: function(result)
            {
 
                  alert(result);//тут ты пишешь часть скрипта которая будет выполняться если данные были переданы и файл их обработал, result - в этой переменной будет хранится все что вернет тебе ПХП файл или при помощи return или при помощи любых функций отвечающих за печать, т.е. любой вывод(echo print и т.д.)          
 
            },
            error: function()
            {
 
                  alert('Problem whith POST!');//тут ты пишешь часть скрипта которая будет выполняться есть по каким-нибудь причинам запрос не был отправлен  
 
            }
 
        });
});
ПХП some.php
PHP
1
2
3
4
5
6
7
8
if(!empty($_POST['id']) && !empty($_POST['data']))
{
echo 'Script resiev '.$_POST['id'].' whith text: "'.$_POST['data'].'"';
}
else
{
echo 'Post was empty!';
}
2
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
09.03.2011, 19:25  [ТС]
Спасибо конечно но я бы хотел что то попроще. Что то типа моего include только каждый раз JS запрашивал бы другую страницу.

Добавлено через 11 часов 39 минут
Вопрос. А при переходе по ссылкам меню происходит перезапуск some.php ?
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
09.03.2011, 22:36
Цитата Сообщение от Dzhekson6000 Посмотреть сообщение
Вопрос. А при переходе по ссылкам меню происходит перезапуск some.php ?
при каждом нажатии будут отсылаться разные данные, АйДи и Текст ссылки соответственно)
JavaScript
1
2
var id_elem = $(this).attr('id');
var data = $(this).html();
именно эти 2 строчки выбирают Айди и Текст ссылки именно тех которые были нажаты, или будут нажаты
1
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
10.03.2011, 09:31  [ТС]
оо тогда это то что нужно.
Ещё один вопрос а как передать переменные get и post например при регистрации.

Добавлено через 1 час 37 минут
там я сначала заполняю поля потом нажимаю кнопку зарегистрироваться. Данные отправляются в другой файл подключенные с помощь как у меня в примере include
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
11.03.2011, 20:53
вот эта строчка
JavaScript
1
data: "id=" + id_elem + "&data=" + data, //данные которые отправляются
занимается отправкой данных по методу ПОСТ, т.е. ты передаешь в переменной id значение из переменной id_elem, которое ты до этого определил для data соответственно значение из переменной data, что бы вытащить из формы значения, допустим инпута с айдишником к примеру name, ты пишешь
JavaScript
1
var name_value=$('input#name').val();
в этой строчке получается следующее:
var name_value - объявляешь переменную с именем name_value
$() - тут ты указываешь параметры по которым ты хочешь найти тот или иной объект
input - определяешь что тебе нужен именно элемент который называется input (<input name="..." type="..." ... />)
# - говоришь что следующее слово это будет ID
name - говоришь что ID должен быть name, т.е. тебе найдет все элементы которые соответствуют шаблону -- <input id="name"...
. - говоришь что к этому элементу ты хочешь применить какую-нибудь функцию
val() - стандартная функция(метод) jQuery который берет из найденного элемента значение атрибута value, т.е. что было введенно в это поле на момент выполнения этой функции

теперь у тебя в переменной name_value хранится значение которое было введено в поле input c id="name"

Добавлено через 2 минуты
по этому принципу можно пройтись по всем элементам формы и отправить эти значения при помощи ajax в любой файл методом ПОСТ
1
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
11.03.2011, 22:09  [ТС]
более менее понятно хотя есть не понятки.
у меня щас сделано это так.
PHP
1
2
3
4
5
6
7
while($row = mysql_fetch_array($ruon))// тут мы перебираем данные получаемые из БД.
{
$reas = mysql_query("SELECT login FROM user WHERE id=".$row['xoz'], $mysql);
$ras = mysql_fetch_array($reas);
 
echo '<a href="index.php?p=ad&ad='.$row['ID'].'">'.$naz.'</a>';// тут формируется ссылка на каждый из объеков
}
как мне быть в этом случаи Тут используется метод GET

а вот пример когда используется метод POST.
PHP
1
2
3
4
5
6
7
8
9
<form action="index.php?p=save_user" method="post">
 <label>Ваш логин:<br></label>
 <input name="login" type="text" size="15" maxlength="15" name="login" onkeyup="login"><br>
 <label>Ваш пароль:<br></label>
 <input name="password" type="password" size="15" maxlength="15" name="pass" onkeyup="pass"><br>
 <label>Подтверждении пороля:<br></label>
 <input name="password2" type="password" size="15" maxlength="15" name="pass2" onkeyup="pass"><br>
 <input type="submit" name="submit" value="Зарегистрироваться">
 </form>
как быть в данном случаи? Если используется произвольные значения. И в моём скрипте есть место где генерируется поля input произвольного количество.
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
11.03.2011, 22:46
напиши мне на в личку или сюда как хочешь в чем суть вот этой части и что ты конкретно хочешь сделать, желательно с примерами кода) если что оптимизируем и будет работать как надо)
0
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
11.03.2011, 23:05  [ТС]
стукни лучше в асю 599 966 581
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
12.03.2011, 01:53
Dzhekson6000, я в аське не сижу) пиши на мыло tatsu.ukraine@gmail.com
0
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
12.03.2011, 12:26  [ТС]
ну тогда лучше тут.....
я делаю браузерную игру и хочу внизу сделать чат. А в верху саму игру. Дело в том что игра сейчас обновляется постранично и с каждой страници переходит сесия и отправляются данные.

Вот я сейчас сделал следующие.

main.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
<table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
                <td class="header1">&nbsp;</td>
                <td class="header2">&nbsp;</td>
                <td class="header3">&nbsp;</td>
        </tr>
        <tr>
                <td class="tablemeny"><? include("tmp/whod.php"); ?><? include("tmp/menu.php"); ?></td>
                <td class="tablemain"><div id="content"></div></td>
                <td class="table1">&nbsp;</td>
        </tr>
        <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
        </tr>
</table>
<script>
 $("ul#menu li a").click(function(){
                              var id_elem = $(this).attr('id');
                              $.ajax({   
                                     type: "POST",   
                                     url: "greetings.php",   
                                     data: "url="+id_elem,   
                                     success: function(){   
                                     $("#content").html();   
                                     }   
                                     });   
                              return false;   
                              }); 
</script>
greetings.php
PHP
1
2
3
<?
include("tmp/".$_REQUEST['url'].".php");
?>
само меню.
<ul id="menu">
<li><a id="reg" href="javascript:void(0);">Регистрация</a></li>
<li><a id="torgovla" href="javascript:void(0);">Торговля</a></li>
<li><a id="ruon" href="javascript:void(0);">Районы</a></li>
<li><a id="profail" href="javascript:void(0);">Профайл</a></li>
<li><a id="poisk" href="javascript:void(0);">Поиск</a></li>
</ul>
0
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
13.03.2011, 18:48  [ТС]
всё проблема решена...
теперь немного другая проблема.... Кодировка.
Кодировка всего моего сайта в windows-1251 а теперь у меня отображаются все надписи в виде знаков вопроса.
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
13.03.2011, 19:18
установи кодировку через мета тег
1
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
13.03.2011, 23:08  [ТС]
установил... помогло... спасибо
Теперь следующая проблема.
Что бы не захламлять код я перенёс скрипт в другой файл.
Этот файл подключил вот так
HTML5
1
<script src="main.js"></script>
ну код не работает хотя когда код был в самом PHP файле он работал.
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
13.03.2011, 23:16
замени его на
HTML5
1
<script type="text/javascript" src="main.js"></script>
Добавлено через 48 секунд
для тега Скрипт надо определять тип скрипта, особенно если ты его подгружаешь)
1
34 / 32 / 2
Регистрация: 25.11.2010
Сообщений: 386
14.03.2011, 02:51  [ТС]
я это пробовал..
Ответ нашёлся оказалось файл нужно подключать не в хейдере а в самой странички скрипта.
0
 Аватар для Tatsu_real
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
14.03.2011, 22:12
странно...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.03.2011, 22:12
Помогаю со студенческими работами здесь

Отправка данных без перезагрузки страници
Здравствуйте! Подскажите как реализовать данную задачу, а то с javascript'ом плохо знаком Есть код php, он выполняется после нажатия на...

Изменение цвета Checkbox и сохранение после перезапуска
День добрый, как реализовать чтобы выделенные чекбоксы после нажатия на &quot;Красный&quot; или &quot;Зеленый&quot; приобретали данные цвета и...

Ajax отправка формы без перезагрузки страници
Если форма одна на страницу, то все работает нормально. Если таких форм n-количество на странице, то работает только первая, подскажите,...

Локализация без перезапуска формы
Добрый вечер. Делаю приложение на windows forms (.NET Framework 4.6). Нужно сделать локализацию.В зависимости от выбранного языка,подключаю...

Подменить код без перезапуска
Гуру, помогите новичку, плз! Хостинг не мой, к командной строке доступ не имею. Отлаживаю в оффлайне и прошу (удаленного) админа...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru