我已经创建了一个HTML表单并使用PHP将结果通过电子邮件发送给我,但我遇到了问题......
我有一个名为contact.php的PHP文件,代码是
<?php
$email = $_POST['emails'] ;
$password = $_POST['pass'] ;
mail("MYEMAIL", "Form Results", "You have received a new message. Email: $email Password: $password");
?>
我的HTML是
<form action="contact.php" method="post" enctype="text/plain">
<div class="size">Email</div> <input type="text" name="emails"><br>
<div class="size">Password</div><input type="password" name="pass">
<div class="logincon"><input type="image" src="css/images/login.png" value="submit" /></div>
<br><br>
</form>
当我填写表格时,我收到一封电子邮件说 您收到了一条新消息。电邮:密码: 电子邮件和密码未显示。
答案 0 :(得分:2)
php $_POST
需要Content-Type: application/x-www-form-urlencoded
。
在你的HTML
中更改此内容<form action="contact.php"
method="post"
enctype="text/plain">
到
<form action="contact.php"
method="post"
enctype="application/x-www-form-urlencoded">
它应该有用。
您可以在此处阅读有关此主题的更多信息: method="post" enctype="text/plain" are not compatible?
使用text / plain格式的有效负载是人类可读的。它们不能被计算机可靠地解释,因为格式不明确(例如,没有办法将值中的文字换行与值末尾的换行区分开来。)
但是,您可以使用$HTTP_RAW_POST_DATA
访问text / plain帖子中的数据,但您必须自己解析它。
答案 1 :(得分:1)
试试这个:
mail("MYEMAIL", "Form Results", "You have received a new message. Email: " . $email . " Password: " . $password);