[英]How do I get the $_POST method to work on subdomain with CodeIgniter?
[英]How do I get my $_Post to work
我试图让我的网站每次有人发消息时提交电子邮件(现在我正在努力让我的变量工作......)。 这是一个学习过程,所以我就是为了这一切,只是想自学。 然而,没有像$_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 DOES在浏览器中显示“之前”。
如果您想自己测试一下,请访问我的网站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
$_POST
和$_GET
是正确的变量名,它们是superglobals
系列的一部分。 Php区分大小写,所以你真的需要使用大写字母,所以改变
$person = $_POST['pName'];
和
echo $_GET['pName'];
试试$_GET
和$_POST
。 不确定你在哪里看到他们没有资本化......
并回答你的另一个问题,如果你不打算渲染页面(在浏览器中显示),但只做一些数据库通信,发送电子邮件等...你不需要任何HTML。 但是,您将在浏览器中显示的所有页面(表单,“谢谢”页面等)都需要具有适当的HTML结构。 你在其中使用PHP并不重要,它们最终仍然以HTML格式呈现。
您可能会注意到,即使没有正确的HTML结构,页面也可能正常工作(因此没有doctype,没有html,head,body ......),但是不要使用它。 除了是一种可怕的做法,它实际上是你的浏览器为你处理坏的HTML,你永远不应该依赖它。 了解如何编写正确的HTML(有数百万个教程),并正确使用它。
UPDATE
对于您的最新更新,页面为空白是正常的 - 您没有输出任何内容。 尝试更改邮件行:
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!';
}
你会发现代码工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.