Последние учебники веб-разработки
×

PHP Руководство

PHP ГЛАВНАЯ PHP вступление PHP устанавливать PHP Синтаксис PHP переменные PHP Echo / Версия для печати PHP Типы данных PHP Строки PHP Константы PHP операторы PHP If...Else...Elseif PHP Switch PHP В то время как Loops PHP Для Loops PHP функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные

PHP обращение

PHP форма обращение PHP форма Проверка PHP форма необходимые PHP форма URL/E-mail PHP форма полный

PHP продвинутый

PHP Массивы Мульти PHP Дата и время PHP Включают PHP файл обращение PHP файл Открыть / Read PHP файл Создание / запись PHP файл Загрузить PHP Cookies PHP Sessions PHP фильтры PHP Filters продвинутый PHP Ошибка обращение PHP исключение

MySQL Database

MySQL База данных MySQL соединение MySQL Create DB MySQL Create Таблица MySQL Insert Data MySQL Получить Последняя ID MySQL Вставка нескольких MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML Парсеры PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX вступление AJAX PHP AJAX База данных AJAX XML AJAX Live Search AJAX RSS Reader AJAX Голосование

PHP Examples

PHP Примеры PHP викторина PHP сертификат

PHP Справка

PHP массив PHP Календарь PHP Дата PHP каталог PHP Ошибка PHP Файловая система PHP Фильтр PHP FTP PHP HTTP PHP Libxml PHP почта PHP математический PHP Разное PHP MySQLi PHP SimpleXML PHP строка PHP XML PHP Zip PHP Часовые пояса

 

PHP Пример - АЯКС Опрос


AJAX Poll

Следующий пример демонстрирует опрос, где результат показан без перезагрузки.

как PHP и AJAX до сих пор ли вы?

Да:
Нет:

Пример Разъяснения - HTML-страницу

Когда пользователь выбирает опцию выше, функция называют " getVote() " выполняется. Функция срабатывает по "onclick" события:

<html>
<head>
<script>
function getVote(int) {
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else {  // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("poll").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","poll_vote.php?vote="+int,true);
  xmlhttp.send();
}
</script>
</head>
<body>

<div id="poll">
<h3>Do you like PHP and AJAX so far?</h3>
<form>
Yes:
<input type="radio" name="vote" value="0" onclick="getVote(this.value)">
<br>No:
<input type="radio" name="vote" value="1" onclick="getVote(this.value)">
</form>
</div>

</body>
</html>

getVote() Функция выполняет следующие действия :

  • Создание объекта XMLHttpRequest
  • Создайте функцию, которая будет выполняться, когда ответ сервера готов
  • Отправить запрос от к файлу на сервере
  • Обратите внимание , что параметр (vote) добавляется к URL (со значением да или нет опции)

PHP File

Страница на сервере созванного выше JavaScript является PHP файл с именем "poll_vote.php" :

<?php
$vote = $_REQUEST['vote'];

//get content of textfile
$filename = "poll_result.txt";
$content = file($filename);

//put content in array
$array = explode("||", $content[0]);
$yes = $array[0];
$no = $array[1];

if ($vote == 0) {
  $yes = $yes + 1;
}
if ($vote == 1) {
  $no = $no + 1;
}

//insert votes to txt file
$insertvote = $yes."||".$no;
$fp = fopen($filename,"w");
fputs($fp,$insertvote);
fclose($fp);
?>

<h2>Result:</h2>
<table>
<tr>
<td>Yes:</td>
<td>
<img src="poll.gif"
width='<?php echo(100*round($yes/($no+$yes),2)); ?>'
height='20'>
<?php echo(100*round($yes/($no+$yes),2)); ?>%
</td>
</tr>
<tr>
<td>No:</td>
<td>
<img src="poll.gif"
width='<?php echo(100*round($no/($no+$yes),2)); ?>'
height='20'>
<?php echo(100*round($no/($no+$yes),2)); ?>%
</td>
</tr>
</table>

Значение передается из JavaScript, и происходит следующее:

  1. Получить содержание "poll_result.txt" файл
  2. Поместите содержимое файла в переменных и добавьте к выбранной переменной
  3. Записать результат в "poll_result.txt" файл
  4. Выход графическое представление результата опроса

Текстовый файл

Текстовый файл (poll_result.txt) , где мы храним данные опроса.

Он хранится, как это:

0||0

Первый номер представляет "Yes" голос, то второе число представляет "No" голоса.

Note: Помните , чтобы ваш веб - сервер , чтобы редактировать текстовый файл. Вы NOT дать каждому доступ, только веб - сервер (PHP) .