繁体   English   中英

简单的PHP联系人表格返回空白结果?

[英]Simple PHP contact form returning blank results?

我有一个非常基本的形式。 表单正在发送到电子邮件,但是它不返回任何数据,不确定我丢失了什么。

这是我的HTML代码...

<form id="contact" action="process.php" />

    <label for="name">Your name</label>
    <input type="text" name="name" id="name" required>

    <label for="size">Your Size</label>
    <select id="size" name="size" required>
        <option value="">Choose a Size</option>
        <option value="s">S</option>
        <option value="m">M </option>
        <option value="l">L</option>
    </select>

    <input type="submit" name="submit" value="Submit"> 

</form>

...这是我的process.php文件...

<?php
// Get Data 
$name = strip_tags($_POST['name']);
$size = strip_tags($_POST['size']);

// Send Message
mail( "test@testing.com", "Email Contact",
"Name: $name\nSize: $size\n",
"From: Test Server" );
?>

该电子邮件将被成功接收,但是看起来像这样...

名称:

尺寸:

它返回标签,但不返回字段。 任何帮助将不胜感激。

请确保指定您的表单应为POST,以确保变量可以通过$_POST

<form id="contact" action="process.php" method="POST"/>

尝试:

<form id="contact" action="process.php" method="post" >

除非您未定义表单的发送方法,否则默认为GET

使用method="POST"

<form id="contact" action="process.php" method="post">
...
</form>

除此之外,您必须先检查表单是否已过帐:

if(isset($_POST)) {
    $name = strip_tags($_POST['name']);
    $size = strip_tags($_POST['size']);

    // Send Message
    mail( "test@testing.com", "Email Contact", "Name: $name\nSize: $size\n", "From: Test Server" );
}

您也可以使用$_REQUEST但是它比$_POST更容易受到攻击。 因为$_REQUEST不介意数据的来源; 接受来自$_GET$_POST

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM