【问题标题】:How do I get my $_Post to work如何让我的 $_Post 工作
【发布时间】:2014-03-06 23:47:26
【问题描述】:

我试图让我的网站在每次有人发消息时提交一封电子邮件(现在我正在努力让我的变量工作......)。这是一个学习的过程,所以我在这里全力以赴,只是想自学。然而,像 $_post$_get 这样的 GLOBAL php 命令都没有工作。我什至尝试了不同的方法,但无济于事。

<?php
$person = $_Post['pName'];
echo "before";
echo $person;
echo "after";
echo $_Get['pName'];
?>

但这从未提交过任何东西。我的表格有method="post"action="TestSend.php"。是的,文件名也是 TestSend.php。此外,当我在我的网站上单击“提交”后,php 确实会在浏览器中显示“之前”。

如果您想自己测试,请访问我的网站 www.turnedbrigade.com。
最后一个问题,我的php文件需要html标签和body标签吗?

这是 html 编码。

<form action="TestSend.php" method="post">
Name: <input name="pName" type="text" placeholder="Name"/>
Email: <input name="pEmail" placeholder="Email"/><br/>
Message: <br/><textarea name="pMessage" rows="8" cols="60" placeholder="Message"></textarea><br/>
<input type="submit"/>              
</form>

已编辑:

<?php
$from =  $_POST['pName'];
$email = $_POST['pEmail'];
$subject = "Forums";
$message = $_POST['pMessage'];
mail("email will go here", $subject, $message, $from);
?>

对于其中的这封电子邮件部分,我的页面只是空白,我从来没有收到过任何内容。

HTML

HTML http://img716.imageshack.us/img716/6872/c7a3.png PHP

【问题讨论】:

  • $_GET 和 $_POST
  • PHP 区分大小写,记住 ;)
  • POST/GET 变量是区分大小写的,当然。但实际原因是它们是superglobals 系列的一部分,并且必须大写。

标签: php email post get


【解决方案1】:

$_POST$_GET 是正确的变量名,它们是superglobals 系列的一部分。 php是区分大小写的,所以你真的需要使用大写字母,所以改变

$person = $_POST['pName'];

还有

echo $_GET['pName'];

【讨论】:

【解决方案2】:

尝试使用$_GET$_POST。不知道你在哪里看到它们从来没有大写...

回答您的其他问题,如果您不打算呈现页面(在浏览器中显示),而只是进行一些数据库通信、发送电子邮件等......您不需要任何 HTML。但是,所有将在浏览器中显示的页面(表单、“感谢”页面等)都需要具有正确的 HTML 结构。无论您在其中使用 PHP,它们最终仍会呈现为 HTML。

您可能会注意到,即使没有正确的 HTML 结构(因此没有 doctype、没有 html、head、body...),这些页面也可能工作,但永远不要使用它。除了是一种可怕的做法之外,实际上是您的浏览器为您处理了糟糕的 HTML,您应该永远、永远依赖它。了解如何编写正确的 HTML(有数百万个教程),并正确使用它。

更新

对于您的最新更新,页面为空白是正常的 - 您没有输出任何内容。尝试更改您的邮件线路:

mail("email will go here", $subject, $message, $from);

到这样的事情:

if (mail("email will go here", $subject, $message, $from)) {
    echo 'Yay! Email sent!';
}
else {
    echo 'There is an error somewhere, email not sent!';
}

您会看到代码运行良好。

【讨论】:

  • 我还有一个关于我添加到问题中的 php 的新电子邮件部分的问题。
  • 是的,刚刚回答。提交表单后要显示什么?另外,这是整个 TestSend 页面吗?
  • 看看我什么时候输入了所有的材料并尝试让它工作。我仍然只得到一个空白页。
  • @TurnedTorquise 我认为你不应该在你的问题解决后编辑你的问题并添加其他进一步的问题,你应该接受对你有更多帮助的答案,并在你的新场景中发布一个新问题。就这应该是stackoverflow的工作方式而言,这并不意味着是一个论坛或类似的
  • @Fred-ii- 对,这里没有更多答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-04
  • 2021-07-04
  • 2012-07-06
  • 2019-05-06
  • 2014-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多