关于HTTP错误500单击按钮后和PhpMailer电子邮件错误

用户名
<?php require('includes/config.php');

//if logged in redirect to members page
if( $user->is_logged_in() ){ header('Location: memberpage.php'); }

//if form has been submitted process it
if(isset($_POST['submit'])){

    //very basic validation
    if(strlen($_POST['username']) < 3){
        $error[] = 'Username is too short.';
    } else {
        $stmt = $db->prepare('SELECT username FROM members WHERE username = :username');
        $stmt->execute(array(':username' => $_POST['username']));
        $row = $stmt->fetch(PDO::FETCH_ASSOC);

        if(!empty($row['username'])){
            $error[] = 'Username provided is already in use.';
        }

    }

    if(strlen($_POST['password']) < 3){
        $error[] = 'Password is too short.';
    }

    if(strlen($_POST['passwordConfirm']) < 3){
        $error[] = 'Confirm password is too short.';
    }

    if($_POST['password'] != $_POST['passwordConfirm']){
        $error[] = 'Passwords do not match.';
    }

    //email validation
    if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
        $error[] = 'Please enter a valid email address';
    } else {
        $stmt = $db->prepare('SELECT email FROM members WHERE email = :email');
        $stmt->execute(array(':email' => $_POST['email']));
        $row = $stmt->fetch(PDO::FETCH_ASSOC);

        if(!empty($row['email'])){
            $error[] = 'Email provided is already in use.';
        }

    }


    //if no errors have been created carry on
    if(!isset($error)){

        //hash the password
        $hashedpassword = $user->password_hash($_POST['password'], PASSWORD_BCRYPT);

        //create the activasion code
        $activasion = md5(uniqid(rand(),true));

        try {

            //insert into database with a prepared statement
            $stmt = $db->prepare('INSERT INTO members (username,password,email,active) VALUES (:username, :password, :email, :active)');
            $stmt->execute(array(
                ':username' => $_POST['username'],
                ':password' => $hashedpassword,
                ':email' => $_POST['email'],
                ':active' => $activasion
            ));
            $id = $db->lastInseratId('memberID');

            //send email
            $to = $_POST['email'];
            $subject = "Registration Confirmation";
            $body = "<p>Thank you for registering at demo site.</p>
            <p>To activate your account, please click on this link: <a href='".DIR."activate.php?x=$id&y=$activasion'>".DIR."activate.php?x=$id&y=$activasion</a></p>
            <p>Regards Site Admin</p>";

            $mail = new Mail();
            $mail->setFrom(SITEEMAIL);
            $mail->addAddress($to);
            $mail->subject($subject);
            $mail->body($body);
            $mail->send();

            //redirect to index page
            header('Location: index.php?action=joined');
            exit;

        //else catch the exception and show the error.
        } catch(PDOException $e) {
            $error[] = $e->getMessage();
        }

    }

}

?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <meta charset="utf-8" />
        <title>New User Registration</title>

        <meta name="description" content="User login page" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />

        <!-- bootstrap & fontawesome -->
        <link rel="stylesheet" href="assets/css/bootstrap.min.css" />
        <link rel="stylesheet" href="assets/font-awesome/4.2.0/css/font-awesome.min.css" />

        <!-- text fonts -->
        <link rel="stylesheet" href="assets/fonts/fonts.googleapis.com.css" />

        <!-- ace styles -->
        <link rel="stylesheet" href="assets/css/ace.min.css" />

        <!--[if lte IE 9]>
            <link rel="stylesheet" href="assets/css/ace-part2.min.css" />
        <![endif]-->
        <link rel="stylesheet" href="assets/css/ace-rtl.min.css" />

        <!--[if lte IE 9]>
          <link rel="stylesheet" href="assets/css/ace-ie.min.css" />
        <![endif]-->

        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->

        <!--[if lt IE 9]>
        <script src="assets/js/html5shiv.min.js"></script>
        <script src="assets/js/respond.min.js"></script>
        <![endif]-->
    </head>
<body class="login-layout">
        <div class="main-container">
            <div class="main-content">
                <div class="row">
                    <div class="col-sm-10 col-sm-offset-1">
                        <div class="login-container">
                            <div class="center">
                                <h1>
                                    <i class="ace-icon fa fa-leaf green"></i>
                                    <span class="red">Ace</span>
                                    <span class="white" id="id-text2">Application</span>
                                </h1>
                                <h4 class="blue" id="id-company-text">&copy; Company Name</h4>
                            </div>

                            <div class="space-6"></div>

                            <div class="position-relative">

<div id="signup-box" class="signup-box widget-box no-border visible">
                                    <div class="widget-body">
                                        <div class="widget-main">
                                            <h4 class="header green lighter bigger">
                                                <i class="ace-icon fa fa-users blue"></i>
                                                New User Registration
                                            </h4>

                                            <div class="space-6"></div>
                                            <p> Enter your details to begin: </p>

                                            <form role="form" method="post" action="" autocomplete="off">
                                    <?php
                                    //check for any errors
                                    if(isset($error)){
                                        foreach($error as $error){
                                            echo '<p class="bg-danger">'.$error.'</p>';
                                        }
                                    }

                                    //if action is joined show sucess
                                    if(isset($_GET['action']) && $_GET['action'] == 'joined'){
                                        echo "<h2 class='bg-success'>Registration successful, please check your email to activate your account.</h2>";
                                    }
                                    ?>
                                                <fieldset>
                                                    <label class="block clearfix">
                                                        <span class="block input-icon input-icon-right">
                                                            <input type="email" name="email" id="email" class="form-control" placeholder="Email" value="<?php if(isset($error)){ echo $_POST['email']; } ?>" tabindex="1">
                                                            <i class="ace-icon fa fa-envelope"></i>
                                                        </span>
                                                    </label>

                                                    <label class="block clearfix">
                                                        <span class="block input-icon input-icon-right">
                                                            <input type="text" name="username" id="username" class="form-control" placeholder="Username" value="<?php if(isset($error)){ echo $_POST['username']; } ?>" tabindex="2">
                                                            <i class="ace-icon fa fa-user"></i>
                                                        </span>
                                                    </label>

                                                    <label class="block clearfix">
                                                        <span class="block input-icon input-icon-right">
                                                            <input type="password" name="password" id="password" class="form-control" placeholder="Password" tabindex="3">
                                                            <i class="ace-icon fa fa-lock"></i>
                                                        </span>
                                                    </label>

                                                    <label class="block clearfix">
                                                        <span class="block input-icon input-icon-right">
                                                            <input type="password" name="passwordConfirm" id="passwordConfirm" class="form-control" placeholder="Confirm password" tabindex="4">
                                                            <i class="ace-icon fa fa-retweet"></i>
                                                        </span>
                                                    </label>

                                                    <label class="block">
                                                        <input type="checkbox" class="ace">
                                                        <span class="lbl">
                                                            I accept the
                                                            <a href="#">User Agreement</a>
                                                        </span>
                                                    </label>

                                                    <div class="space-24"></div>

                                                    <div class="clearfix">
                                                        <button type="reset" class="width-30 pull-left btn btn-sm">
                                                            <i class="ace-icon fa fa-refresh"></i>
                                                            <span class="bigger-110">Reset</span>
                                                        </button>

                                                        <button type="submit" name="submit" class="width-65 pull-right btn btn-sm btn-success" tabindex="5">
                                                            <span class="bigger-110">Register</span>

                                                            <i class="ace-icon fa fa-arrow-right icon-on-right"></i>
                                                        </button>
                                                    </div>
                                                </fieldset>
                                            </form>
                                        </div>

                                        <div class="toolbar center">
                                            <a href="login.html" class="back-to-login-link">
                                                <i class="ace-icon fa fa-arrow-left"></i>
                                                Back to login
                                            </a>
                                        </div>
                                    </div><!-- /.widget-body -->
                                </div><!-- /.signup-box -->
                                </div><!-- /.position-relative -->

</div>
                    </div><!-- /.col -->
                </div><!-- /.row -->
            </div><!-- /.main-content -->
        </div><!-- /.main-container -->

        <!-- basic scripts -->

        <!--[if !IE]> -->
        <script src="assets/js/jquery.2.1.1.min.js"></script>

        <!-- <![endif]-->

        <!--[if IE]>
<script src="assets/js/jquery.1.11.1.min.js"></script>
<![endif]-->

        <!--[if !IE]> -->
        <script type="text/javascript">
            window.jQuery || document.write("<script src='assets/js/jquery.min.js'>"+"<"+"/script>");
        </script>

        <!-- <![endif]-->

        <!--[if IE]>
<script type="text/javascript">
 window.jQuery || document.write("<script src='assets/js/jquery1x.min.js'>"+"<"+"/script>");
</script>
<![endif]-->
        <script type="text/javascript">
            if('ontouchstart' in document.documentElement) document.write("<script src='assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
        </script>

    </body>
</html>

****----------------Here is my Mail.php file-------------------****
<?php    
include('phpmailer.php');
class Mail extends PhpMailer
{
    // Set default variables for all new objects
    public $From     = '[email protected]';
    public $FromName = SITETITLE;
    public $Host     = 'smtp.gmail.com';
    public $Mailer   = 'isSMTP';
    public $SMTPAuth = true;
    public $Username = '[email protected]';
    public $Password = 'password';
    public $SMTPSecure = 'ssl';
    public $WordWrap = 75;

    public function subject($subject)
    {
        $this->Subject = $subject;
    }

    public function body($body)
    {
        $this->Body = $body;
    }

    public function send()
    {
        $this->AltBody = strip_tags(stripslashes($this->Body))."\n\n";
        $this->AltBody = str_replace("&nbsp;", "\n\n", $this->AltBody);
        return parent::send();
    }
}

****当我在http://monthlyreport.ultimatefreehost.in提交注册按钮时,我总是看到HTTP500错误,但是注册Sql查询保存了数据。但是重定向到索引页标头(位置:index.php?action =加入”);可能没有做工作!!!#解决了

此外,并非总是发送激活邮件,请帮助我解决此错误!!我在收件箱中收到的电子邮件像附件一样。这是电子邮件屏幕截图和附件文件截图--- [电子邮件屏幕截图] [1]电子邮件附件屏幕截图

[1]: http://i.stack.imgur.com/MUOEy.png Email Inbox Screenshot
毛利克·卡纳尼(Maulik kanani)

您从PDO对象而不是结果对象获取lastinsertid。

您可以替换$id = $db->lastInsertId('memberID');' with$ id = $ db-> lastInseratId('memberID');吗?'?

如果要使用pah重定向,请使用以下代码。 header("Location: index.php?action=joined", true, 302);

您也可以使用Javascript进行重定向。 echo "<script>window.location = 'index.php?action=joined';</script>";

你可以试试这个吗?

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHPMailer返回ajax错误,但仍发送电子邮件

来自分类Dev

Gerrit注册新电子邮件500错误

来自分类Dev

电子邮件类型输入:如果电子邮件错误或正确,则动态更改按钮的颜色/文本

来自分类Dev

PHPMailer 错误:无法发送消息。Mailer 错误:无效地址:(addAnAddress to):您的电子邮件

来自分类Dev

注册错误后的电子邮件发送功能

来自分类Dev

电子邮件验证错误

来自分类Dev

Laravel错误:电子邮件

来自分类Dev

Powershell的电子邮件错误

来自分类Dev

PHP - 电子邮件错误

来自分类Dev

单击提交按钮后如何向用户输入的电子邮件地址发送电子邮件?在 php 中

来自分类Dev

关于MySQL错误日志中任何错误的电子邮件通知

来自分类Dev

Python Smptlib电子邮件(错误的主题和消息字段)

来自分类Dev

生日电子邮件、空白行和错误的日期

来自分类Dev

多封电子邮件的swiftmailer电子邮件错误

来自分类Dev

PHPMailer不会发出错误消息或仅通过白屏发送电子邮件

来自分类Dev

通过PHPMailer发送电子邮件时出现身份验证错误

来自分类Dev

使用PHPMailer从Ionic发送电子邮件时获取错误响应

来自分类Dev

无法从PHPMailer发送电子邮件,未给出错误,消息成功

来自分类Dev

PHPMailer 电子邮件未发送且未收到任何错误

来自分类Dev

如果用户在单击“验证电子邮件”链接之前未登录,则电子邮件验证引发错误

来自分类Dev

单击ASP.net C#中的按钮后发送电子邮件

来自分类Dev

简单的HTML和JS登录页面不起作用,单击按钮后无法获取电子邮件和密码字段

来自分类Dev

使用PHPMailer和html模板发送html电子邮件

来自分类Dev

使用PHPMailer和html模板发送html电子邮件

来自分类Dev

如何使用PhpMailer和WAMP发送电子邮件

来自分类Dev

使用 PHPMailer 和 ionic 3 发送电子邮件

来自分类Dev

Django未发送服务器错误(500)电子邮件

来自分类Dev

在Codeigniter中发送电子邮件时出现错误500

来自分类Dev

Cakephp 发送电子邮件 500 内部服务器错误

Related 相关文章

  1. 1

    PHPMailer返回ajax错误,但仍发送电子邮件

  2. 2

    Gerrit注册新电子邮件500错误

  3. 3

    电子邮件类型输入:如果电子邮件错误或正确,则动态更改按钮的颜色/文本

  4. 4

    PHPMailer 错误:无法发送消息。Mailer 错误:无效地址:(addAnAddress to):您的电子邮件

  5. 5

    注册错误后的电子邮件发送功能

  6. 6

    电子邮件验证错误

  7. 7

    Laravel错误:电子邮件

  8. 8

    Powershell的电子邮件错误

  9. 9

    PHP - 电子邮件错误

  10. 10

    单击提交按钮后如何向用户输入的电子邮件地址发送电子邮件?在 php 中

  11. 11

    关于MySQL错误日志中任何错误的电子邮件通知

  12. 12

    Python Smptlib电子邮件(错误的主题和消息字段)

  13. 13

    生日电子邮件、空白行和错误的日期

  14. 14

    多封电子邮件的swiftmailer电子邮件错误

  15. 15

    PHPMailer不会发出错误消息或仅通过白屏发送电子邮件

  16. 16

    通过PHPMailer发送电子邮件时出现身份验证错误

  17. 17

    使用PHPMailer从Ionic发送电子邮件时获取错误响应

  18. 18

    无法从PHPMailer发送电子邮件,未给出错误,消息成功

  19. 19

    PHPMailer 电子邮件未发送且未收到任何错误

  20. 20

    如果用户在单击“验证电子邮件”链接之前未登录,则电子邮件验证引发错误

  21. 21

    单击ASP.net C#中的按钮后发送电子邮件

  22. 22

    简单的HTML和JS登录页面不起作用,单击按钮后无法获取电子邮件和密码字段

  23. 23

    使用PHPMailer和html模板发送html电子邮件

  24. 24

    使用PHPMailer和html模板发送html电子邮件

  25. 25

    如何使用PhpMailer和WAMP发送电子邮件

  26. 26

    使用 PHPMailer 和 ionic 3 发送电子邮件

  27. 27

    Django未发送服务器错误(500)电子邮件

  28. 28

    在Codeigniter中发送电子邮件时出现错误500

  29. 29

    Cakephp 发送电子邮件 500 内部服务器错误

热门标签

归档