• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Взаимодействие Php и Js без перезагрузки страницы

  • Автор темы realmadrid
  • Дата начала
R

realmadrid

Здравствуйте!
У меня на странице 2 списка wherefrom и where. В зависимости от того, какие варианты выбрал пользователь, их значения value передаются в php-скрипт и в нём происходит выбор нужного мне значения. Вот код:

<form method="POST" action="tarifes.php" name="taxiform">
<?php
include("../includes/placesarray.php");
?>
Откуда<br>
<select name="wherefrom">
<?
foreach($array_from as $key=> $value){
if ($_POST['wherefrom']==$key) echo "<option value='$key' selected>$value</option>";
else echo "<option value='$key'>$value</option>";
}
?>
</select>
Куда<br>
<select name="where">
<?
foreach($array_where as $key=> $value){
if ($_POST['where']==$key) echo "<option value='$key' selected>$value</option>";
else echo "<option value='$key'>$value</option>";
}
?>
</select>
<input type=image src="../images/calculate.jpg" width="118" height="19" border="0" id=chImg007>
<?php
include("../includes/taxiarray.php");
if (isset($_POST['wherefrom'])&&isset($_POST['where']))
{
if ($taxiarray[$_POST['wherefrom']][$_POST['where']]=='')
{echo "<p style=\"color:#FFFFFF; font-size:13px; padding-left:7px;\" align=\"left\">Стоимость поездки договорная.</p>";}
else {echo "<p style=\"color:#FFFFFF; font-size:13px; padding-left:3px;\" align=\"left\">Стоимость поездки ".$taxiarray[$_POST['wherefrom']][$_POST['where']]." р.</p>";}
}
?>
</form>

Всё бы хорошо, но при этом происходит перезагрузка страницы, а мне это не нужно. Как сделать так, чтобы данные подгружались на страницу с помощью PHP и JavaScript? AJAX использовать нельзя. Заранее спасибо.
 
P

Pasha

Ты хочешь не перегружать страницу полностью, а догружать с сервера только нужные данные. И чтобы это был не ajax.<!--QuoteBegin-Wikipedia+-->
<span class="vbquote">(Wikipedia)</span><!--QuoteEBegin-->AJAX (от англ. Asynchronous JavaScript and XML — «асинхронный JavaScript и XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений. При использовании AJAX веб-страница не перезагружается полностью в ответ на каждое действие пользователя. Вместо этого с веб-сервера догружаются только нужные пользователю данные. AJAX — один из компонентов концепции DHTML.[/quote]
 
G

GOsha

Для: realmadrid
Никак.
Сравнить: Хочу, чтобы у меня была машина, но без колес, мотора, и при этом ездила...
 
R

realmadrid

Народ, оценил ваше остроумие, но у меня ведь конкретная задача. Заказчик сказал - без AJAX. Я такого решения не знал, вот и поинтересовался, может кто знает.
 
G

garrymax

Непонятно почему не AJAX, если только то, что в ослике DOM вызывается как ActiveX (имнно Microsoft.XMLHTTP, что бы подгружать данные), а это может не работать при жесткой политике безопасности - у остальных DHTML полностью интегрирован внутри самого броузера.

Если очень актуально, то используй старый способ - скрытый фрейм.
 
P

Pasha

Для: garrymax
Скрытый фрейм, динамический тэг script, STYLE="behavior:url('#default#download')" - это все ajax. И все эти способы не будут работать при отключенном JavaScript.
 
M

MajestiC

Если придираться к словам, то аякса не будет там, где не используется xml =) Заменить его json например.
 
P

Pasha

Для: MajestiC
В методе с behavior вообще ни xml, ни json не используется. И с DOM там явной работы нет. И даже использовать его начали задолго до появления goolge. Но тем не менее это ajax.
 
A

aka_Kail

пошли на ... этого осла.... динамическая подгрузка без AJAX
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!