2009-12-02 3 views
2

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

Спасибо.

Edit:

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

Так что я хочу знать, как передавать переменные из формы в php-скрипт на той же странице. Прошу прощения за то, что я оставил такие мелочи.

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

+7

Можете ли вы быть более конкретными? –

ответ

5

EDIT: так вы передаете введенное пользователем значение из формы на страницу 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; 
} 
+0

Я думаю, вы ответили на мой вопрос, большое спасибо Роберту. –

+0

не проблема, я надеюсь, что это то, что вы искали –

+0

Для '

', Я предлагаю изменить его на '

0

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

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

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

+0

Я думаю, что вы неправильно поняли мой вопрос, я хочу передать переменную в виде таблицы на одну php-страницу. Ты видишь? –

+0

Передача переменных имеет конкретное техническое значение, которое не имеет никакого отношения к их игнорированию. – Quentin

+1

Я не понял ваш вопрос неправильно. Я просто прочитал это и сделал смешные предположения, так как вы решили оставить какой-либо контекст или подробности. – Langdon

0
<?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 автоматически назначит vars внутри. Или вы разделяете HTML и PHP, как показано выше.

Попытайтесь работать с двигателями шаблонов, например. SMARTY (smarty.com)

+0

@ daemonfire300, это хороший совет. Благодарю. –

2

Все переменные формы попадают в суперглобальный массив $ _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 
} 
2

получить его из URL

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

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

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

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

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

С contact.php, вы можете получить эти две переменные с помощью PHP:

Захвати ПЕРЕМЕННЫЕ ИЗ URL

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

POST это из ФОРМЫ

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

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

<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[]. Это важное различие.

+0

@SjB, Да, это обычный способ передачи переменных между страницами. Благодарю. –

Смежные вопросы