$_POST返回空值

3

编辑: 如果我把PHP代码放在同一个文件中的HTML中,代码似乎可以工作。暂时我会采用这种方法。感谢您的帮助!

每当我尝试从输入框中的PHP文件输出值时,这些值似乎为空。

这是我的HTML代码:

<form action="sendmail.php" method="post">
  <label>Name:</label><br>
  <input name="person" type="text" /><br>
  <label>Email:</label><br>
  <input name="email" type="email" /><br>
  <label>Opportunity:</label><br>
  <textarea name="message" rows="8"></textarea><br>
  <input type="submit" value="Submit" class="button">
</form>

这是我的sendmail.php文件。
$name = $_POST['person'];
$email = $_POST['email'];
$message = $_POST['message']; 

echo $name;
echo $email;
echo $message;

你是不是偶然错过了 <?php 标签? - Shankar Narayana Damodaran
你能粘贴你的代码吗? - Jason OOO
1
@ShankarDamodaran,如果他错过了<?php,它永远不会显示空白。 - SajithNair
尝试执行 echo "abcd"; 如果这也无法显示,那么可能是你的代码出现了错误,你需要检查错误日志。 - SajithNair
把这段代码放在 sendmail.php 的顶部,可以让你了解更多信息 - ini_set('display_errors', 'On'); error_reporting(E_ALL); echo $_SERVER['REQUEST_METHOD']; - Phil
显示剩余4条评论
5个回答

0
我尝试了这段代码并且它运行良好,所以无论出了什么问题,都不是你在这里粘贴的代码的问题。
为了确保发布成功,请尝试以下操作:
if(isset($_POST['person']))
echo "passed fine.";

0

检查:

if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST'){

   if(isset($_POST['person'])){
      $name = $_POST['person'];
      echo $name;
     }
}
else{
    echo"Your form submission is not correct";
}

嘿,我尝试使用检查功能,但似乎没有注册为“POST”方法。有什么原因吗? - Jester

0

您可以在当前页面中获取该值。

<?php 
if(isset($_POST['person']))
{
  $name = $_POST['person'];
  $email = $_POST['email'];
  $message = $_POST['message']; 
  echo "Name".$name;
  echo "Email".$email;
  echo "Message".$message;

 }
?>
 <form action="" method="post">
  <label>Name:</label><br>
  <input name="person" type="text" /><br>
  <label>Email:</label><br>
  <input name="email" type="email" /><br>
  <label>Opportunity:</label><br>
  <textarea name="message" rows="8"></textarea><br>
  <input type="submit" value="Submit" class="button">
  </form>

或者如果您想在另一页中获取数据

 <form action="send.php" method="post">
  <label>Name:</label><br>
  <input name="person" type="text" /><br>
  <label>Email:</label><br>
  <input name="email" type="email" /><br>
  <label>Opportunity:</label><br>
  <textarea name="message" rows="8"></textarea><br>
  <input type="submit" value="Submit" class="button">

send.php文件

<?php 
if(isset($_POST['person']))
{
  $name = $_POST['person'];
  $email = $_POST['email'];
  $message = $_POST['message']; 
  echo "Name".$name;
  echo "Email".$email;
  echo "Message".$message;

 }
?>

0

试试这段代码。

HTML

  <form action="sendmail.php" method="post">
  <label>Name:</label><br>
  <input name="person" type="text" /><br>
  <label>Email:</label><br>
  <input name="email" type="email" /><br>
  <label>Opportunity:</label><br>
  <textarea name="message" rows="8"></textarea><br>
  <input type="submit" value="Submit" class="button">
</form>

PHP

<?php
$name = $_POST['person'];
$email = $_POST['email'];
$message = $_POST['message']; 

echo $name;
echo $email;
echo $message;
?>

0
<form action="456.php" method="post">
  <label>Name:</label><br>
  <input name="person" type="text" /><br>
  <label>Email:</label><br>
  <input name="email" type="email" /><br>
  <label>Opportunity:</label><br>
  <textarea name="message" rows="8"></textarea><br>
  <input type="submit" value="Submit" class="button">
</form>
<?
print_r($_POST);
?>

创建一个名为456.php的文件,将以下代码放入其中,然后在服务器/wamp/xaamp上运行。 - Mark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接