php表格。验证时需要帮助发送

科斯塔奇

让我们开始说我还是这个php的新手。我不会放弃,我会学习的。我把我的表单代码放在一起时遇到了问题。验证所有输入字段后,我无法发送它。不明白为什么。也许我可以得到一些帮助?也许您可以修复它以便工作?因此,我有一些需要配合的东西。

<?php
// This is your email address
$to = "[email protected]"; 

// Subject title
$subject = 'Testing work now pls';

// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// More headers
$headers .= 'From: <[email protected]>' . "\r\n";
$headers .= 'Cc: [email protected]' . "\r\n";
$headers .= "Reply-To: ".$email."\r\n";

// If press send
if (isset($_POST['send'])) {

    // If not empty
    $errors = array(
                    $errorsname = $errorsemail
                    );

    // Start validation

    // Check if name not empty
    if (empty($_POST["name"])) {
        $errorsname = "You must write their name.";
    } else {
        $name = ($_POST["name"]);
        // Check if only letters in name
        if (!preg_match("/^[a-zA-Z æøå-ÆØÅ]*$/",$name)) {
            $errorsname = "Their name only content letters."; 
        }
        // Check if name to short
        if(strlen($_POST['name']) < 2 )
            {
                $errorsname = 'Their name is too short.'; }
        // Check if name to long name
        if(strlen($_POST['name']) > 30 )
            {
                $errorsname = 'Their name is too long'; }
    }

    // Check email
    if (empty($_POST["email"])) {
        $errorsemail = "You must enter their email."; }
    else {
        $email = ($_POST["email"]);
        // Check if e-mail address syntax is valid
        if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
            $errorsemail = "Invalid email address."; }
    }

    // Check errors if non continue
    if (empty($errors))
        {

            // Make message ready
            $message = "
    Stupid just work pls! $navn, $email
    ";

            // Then send mail

            mail($to,$subject,$message,$headers);

            // Redirect to sucesse page
            header('Location: mysite.php');
        }
}
?>
<!DOCTYPE HTML> 
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
<style>
.errors {
    color: #FF0000;
}
</style>
</head>
<body>
<h2>Hmmm....Help?</h2>
<span class="errors"><?php echo $errormessage; ?></span>
<form name="kontakt" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input name="name" type="text" placeholder="Deres navn.." value="<?php echo $name;?>">
<span class="errors"><?php echo $errorsname;?></span>
<br><br>
E-mail: <input name="email" type="text" placeholder="Din e-mail.." value="<?php echo $email;?>">
<span class="errors"><?php echo $errorsemail;?></span>
<br><br>
<br><br> 
<input type="submit" name="send" value="Send"> 
</form>
</body>
</html>
维京血统

您在这里有很多问题。首先,在您的HTML中,您需要检查是否设置了错误变量,如果已设置,则显示它们,否则将得到php错误:

<span class="errors"><?php
            if (isset($errormessage)) {
                echo $errormessage;
            }
            ?></span>
        <form name="kontakt" method="post" action="<?php echo                 htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
            Name: <input name="name" type="text" placeholder="Deres navn.." value="<?php
            if (isset($name)) {
                echo $name;
            }
            ?>">
            <span class="errors"><?php
                if (isset($errorsname)) {
                    echo $errorsname;
                }
            ?></span>
            <br><br>
            E-mail: <input name="email" type="text" placeholder="Din e-mail.." value="<?php echo $email; ?>">
            <span class="errors"><?php if (isset($errorsemail)) {
                    echo $errorsemail;
                }
            ?></span>

其次,如上所述,您的$ erros数组应类似于Barmar所示实例化。

最后,加载页面时不会实例化$ email变量,您将不得不为其设置默认值:

if(isset($_POST['email'])){
$email = $_POST['email'];}
else{
$email = '';
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从网页向服务器发送身份验证请求时需要帮助

来自分类Dev

我无法链接验证和表单提交。需要帮助设置变量(真或假),以便不发送空表格吗?

来自分类Dev

PHP简单表单验证-需要帮助

来自分类Dev

PHP联系表格发送邮件时出错

来自分类Dev

需要帮助以表格为中心

来自分类Dev

需要Javascript计算表格帮助

来自分类Dev

在查询时需要帮助

来自分类Dev

在通过PHP将SQL导出为CSV时需要帮助

来自分类Dev

PHP - 需要 __construct() 帮助

来自分类Dev

验证码:发送验证码时如何自动提交表格

来自分类Dev

表格帮助-获取PHP脚本以通过ajax发送电子邮件数据

来自分类Dev

需要帮助从嵌套的 JSON 填充 Google 表格

来自分类Dev

提交时未发送简单的PHP联系人表格

来自分类Dev

在使用Ruby net / http将xml属性列表作为HTTP正文发送时需要帮助

来自分类Dev

在创建处理多个身份验证提示的bash脚本时需要帮助

来自分类Dev

在使用bsxfun时需要帮助

来自分类Dev

在获取查询时需要帮助

来自分类Dev

在使用Gmail SMTP的PHP中发送电子邮件方面需要帮助

来自分类Dev

需要帮助验证我的MySQL语法

来自分类Dev

需要我的jquery验证表单的帮助

来自分类Dev

需要帮助的PHP SQL关系

来自分类Dev

需要帮助的巴黎PHP查询

来自分类Dev

需要 Laravael PHP、JavaScript 帮助

来自分类Dev

(PHP)身份验证帮助

来自分类Dev

发送表格时无回应

来自分类Dev

带有JS验证的PHP联系人表格未发送电子邮件

来自分类Dev

表格已发送,但验证有误

来自分类Dev

需要帮助,以使用带数字范围的SQL查询值来更改PHP代码中的表格颜色

来自分类Dev

Redmine电子邮件配置-发送邮件时发生错误(530 5.7.0需要身份验证)

Related 相关文章

热门标签

归档