Вопрос по php – $ _POST [] не работает в php
Я начал изучать PHP. Удалось настроить вещи.
Я использую php версии 5.3.13.
Я пытаюсь опубликовать некоторую информацию в html-форме и получить ее в php-файле.
Для этой цели я использую переменную $ _Post, и результат в файле php пуст.
Ниже приведен HTML-код.
<body>
<form action="report.php" method="POST" >
<label for="firstname">First name:</label>
<input type="text" id="firstname" name="firstname" /><br />
<input type="submit" value="Report Abduction" name="submit" />
</form>
</body>
И ниже код report.php
<html>
<head>
<title></title>
</head>
<body>
<?php
$name = $_POST['firstname'] ;
print($name);
?>
</body>
</html>
Кто-нибудь может посоветовать, чего мне не хватает?
Спасибо
FYI,
$_POST
это не функция, это просто переменная.
deceze♦
Ты вообще что-то написал в поле ввода?
papaiatis
@ swapnesh:
()
необязательны, но действительны дляprint
а такжеecho
.
ThiefMaster♦
Попытайтесь выяснить, установлена ли отправка. Так что перед строкой
$name
ставить:if(isset($_POST['submit'])) { echo $_POST['firstname']; } else { echo "No post found"; }
Tikkes
1
ответ
я предлагаю вам начать искать учебники @ в вашей любимой поисковой системе или купить книгу.
Редактировать: У вас даже есть PHP установлен? Вы упоминаетеinetpub
это путь IIS.
<?php
error_reporting(E_ALL);
if($_SERVER['REQUEST_METHOD']=='POST' && !empty($_POST['firstname'])){
//Do something with posted data
$out = htmlentities($_POST['firstname']).' has been abducted!';
}else{
//Form has not been posted so show form
$out = <<<FORM
<form action="" method="POST" >
<label for="firstname">First name:</label>
<input type="text" id="firstname" name="firstname" /><br />
<input type="submit" value="Report Abduction" name="submit" />
</form>
FORM;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My first test Script</title>
</head>
<body>
<h1>My first test Script</h1>
<?php echo(isset($out))?$out:null; ?>
</body>
</html>
Да, я установил версию php 5.3.13.
luckyluke
Я попробовал ваш код и получил сообщение «Ошибка CGI. Указанное приложение CGI неправильно себя ведет, поскольку не возвращает полный набор заголовков HTTP. Возвращаемые заголовки:«
luckyluke
Мой код выше. Я предлагаю вам отойти от IIS и установить пакет WAMP (Google, лично мне нравится XAMPP), потому что, возможно, в конечном итоге вы захотите получить базу данных, эти пакеты поставляются сразу после установки и начинающим легко знакомиться с apache / php / mysql, который есть у 99.999% хостинг-провайдеров.
Lawrence Cherone
Я сделаю это сейчас. Благодарност
luckyluke
Похожие вопросы
FYI,<code>$_POST</code> это не функция, это просто переменная.
Ты вообще что-то написал в поле ввода?
я думаю, что ваша система не настроена должным образом, это происходит в большинстве случаев с IIS, у меня тоже были те же проблемы, когда я начинал с php, я предлагаю вам попробовать<a href="http://www.apachefriends.org/en/xampp.html"> XAMPP</a> это легко, это просто установить
@ swapnesh:<code>()</code> необязательны, но действительны для<code>print</code>а также<code>echo</code>.
Попытайтесь выяснить, установлена ли отправка. Так что перед строкой<code>$name</code> ставить:<code>if(isset($_POST['submit'])) { echo $_POST['firstname']; } else { echo "No post found"; }</code>