HTML-форма с PHP - PullRequest
       3

HTML-форма с PHP

1 голос
/ 22 ноября 2010

Я хотел бы иметь форму, которая выполняет некоторый php-код без необходимости открывать совершенно новую php-страницу. Прямо сейчас я знаком с "POST", так что я могу выполнить файл php и вызвать переменные из формы HTML, используя $ _POST [variable], но для открытия новой страницы требуется время, и я хочу получить форма, которая делает действие прямо тогда и там.

Например, может кто-нибудь написать HTML-код, который создает текстовое поле и кнопку, и когда пользователь нажимает кнопку go, он отображает текст, введенный пользователем прямо рядом с кнопкой.

Спасибо!

Ответы [ 3 ]

1 голос
/ 22 ноября 2010

Вот фрагмент кода HTML и PHP, с которого можно начать. Он использует jQuery и просто записывает значение textarea под кнопкой отправки, используя AJAX.

Фрагмент HTML [file = so.html]

<!DOCTYPE html>
<html><head><title>SO Example</title>
<script 
  type="text/javascript" 
  src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js">
</script>
</head>
<body>

<form id="frm" name="frm">
  <textarea id="txt" name="txt" rows="4" cols="40">
  </textarea><br />
  <input type="submit"><br />
  <span id="result"></span>
</form>

<script type="text/javascript">
$('#frm').submit(function(e){
  e.preventDefault();
  $.ajax({
    url:"/so.php",type:"post",dataType:"html",
    data:$('#frm').serialize(),
    success:function(obj){
      $('#result').text(obj);
    }
  });
});
</script>

</body>
</html>

Фрагмент PHP [file = so.php]

<?php
echo $_POST['txt'];
0 голосов
/ 22 ноября 2010

Я бы посмотрел на AJAX, точнее на вызов AJAX с использованием jQuery. Для запроса POST это выглядит примерно так:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success
});

И если бы я заполнил это, это могло бы выглядеть так:

$.ajax({
  type:    'POST',                  // Method of submission: POST or GET
  url:     'processor.php',         // The script to send to.
  data:    { id: 1, name: 'John' }, // The data to give to PHP.
  success: function(data) {         // Do something with what PHP gives back.
             console.log(data);
           }
});

Для получения дополнительной информации о функциях jJuery AJAX, зайдите сюда: http://api.jquery.com/category/ajax/ Вас интересуют jQuery.ajax (), jQuery.post () и jQuery.get ().

0 голосов
/ 22 ноября 2010

Если вы хотите выполнить php-код после загрузки страницы без открытия новой страницы, вам следует использовать такую ​​технологию, как AJAX.PHP является препроцессором и предназначен для запуска страницы, а не для функций после этого.

С AJAX вы можете использовать javascript для вызова веб-страницы, которая обрабатывается PHP.Затем с этой возвращенной страницей / данными вы можете выполнить функцию вашей страницы.

Для получения дополнительной информации о проверке ajax здесь: http://en.wikipedia.org/wiki/Ajax_(programming)

Я рекомендую рассматривать jQuery как оболочку ajax: http://api.jquery.com/jQuery.ajax/ Вы можете найти тонны онлайн-учебников, чтобы начать работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...