как передать переменные внутри одной страницы - PullRequest
2 голосов
/ 02 декабря 2009

Я хочу знать, как передавать переменные из формы на страницу php.

Спасибо.

Edit:

У меня есть некоторые входные данные и кнопка отправки в форме. Я хочу, чтобы моя страница php осуществляла поиск в базе данных и отображала соответствующую таблицу после того, как я нажму кнопку «Отправить». И все действия здесь на одной странице.

Итак, я хочу знать, как передавать переменные из формы в скрипт php на той же странице. Я извиняюсь за то, что оставил так мало деталей.

Можете ли вы понять мой вопрос сейчас? Еще раз спасибо.

Ответы [ 5 ]

5 голосов
/ 02 декабря 2009

РЕДАКТИРОВАНИЕ: это способ передачи введенного пользователем значения из формы на страницу PHP.

Вот общая форма:

<form method="post" action="<?php echo $_SERVER['$PHP_SELF'];?>">
  <input type="text" size="12" maxlength="12" name="name">
  ...
  ...
</form>

Теперь для кода PHP:

<?php
  $name = $_POST["name"];
?>

Примечание: вы можете изменить тип записи между POST и GET и изменить параметр действия, чтобы отправить ввод формы на другую страницу PHP.

<ч />

Вы говорите о передаче переменной в функцию?

$name = 'Robert';

printName($name);

function printName($n) {
  echo $n;
}
2 голосов
/ 02 декабря 2009

ПОЛУЧИТЕ с URL

Самый быстрый (но наиболее ограниченный) способ передачи переменных - это метод, называемый GET. С помощью GET вы добавляете переменные в URL страницы, на которую хотите перенести переменные:

http://www.matthom.com/contact.php?id=301&name=Matthom

В приведенном выше примере для страницы contact.php будут использоваться две переменные: id и name, значения которых равны 301, и Matthom соответственно.

Вы можете добавить столько переменных в URL, сколько захотите.

Остерегайтесь - иногда вы не хотите, чтобы ваши переменные отображались "открыто". Кроме того, в URL-адресе не более 255 символов, поэтому переменные не могут содержать слишком много информации.

Из contact.php вы можете получить эти две переменные через PHP:

ПОЛУЧИТЕ ПЕРЕМЕННЫЕ С URL

$id = $_GET['id'];
$name =$_GET['name'];

ОТПРАВИТЬ это из ФОРМЫ

Еще один способ передачи переменных, и, безусловно, более надежный способ - это получить их из формы.

Допустим, это ваш код поля формы:

<form action="process.php" method="post">
<input type="text" size="25" name="searchtype" />
<input type="text" size="25" name="searchterm" />
</form>

Эти два поля ввода позволяют пользователям вводить информацию. В process.php вы можете получить переменные таким же образом:

ПОЛУЧИТЕ ПЕРЕМЕННЫЕ ИЗ ФОРМЫ

$searchtype = $_POST['searchtype'];
$searchterm = $_POST['searchterm'];

Обратите внимание на использование $_POST[] сверх $_GET[]. Это важное различие.

2 голосов
/ 02 декабря 2009

Все переменные формы попадают в суперглобальный массив $ _POST или $ _GET (в зависимости от метода формы). Если ваш скрипт отображает форму и обрабатывает ее, стандартный метод выглядит примерно так:

if(isset($_POST['submit'])){
  //validate $_POST variables from form

  //if validation works do action
  //else output errors and output form again


} else {
  //output form
}
0 голосов
/ 02 декабря 2009
<?php
$value = 'bla';
function getValue($string)
{
return ($_GET[$string]);
}
$value = getValue('bla');
?>
<html>

//...
<body>
<form>
<input type="text" value="<?php echo $value; ?>" />
</form>
<tr>
<td>
<tr><?php echo $value; ?></tr>
<td>
</body>
</html>

Совершенно неважно, какой порядок вы используете. Вы можете поместить html-часть в строку PHP с переменными PHP внутри и повторить ее, php автоматически назначит переменные внутри. Или вы разделяете HTML и PHP, как показано выше.

Попробуйте поработать с шаблонизаторами, например, SMARTY (smarty.com)

0 голосов
/ 02 декабря 2009

Это просто, просто закомментируйте их:

$a = 'variable 1';
//$b = 'variable 2';
$c = 'variable 2';

Видишь? Я назначил $ a, затем прошел прямо через $ b и, наконец, назначил $ c Все внутри одной страницы PHP !!

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