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

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

09.03.2011, 01:38. Показов 3865. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru