数据库不会更新(双重选择邮件列表)

toe95027  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(268)

非常新的php和工作的邮件列表与双重选择。我在这里找到了这个代码:http://www.sitepoint.com/forums/showthread.php?632689-guide-to-creating-a-double-opt-in-email-list&s=560d4d5d106fde7ccc1a53b507c436cd&p=4350152&viewfull=1#post4350152 在我点击电子邮件中的链接之前,它一直工作,由于某种原因,它不会将数据库中的状态更新为“已确认”(它说“对不起,账户未验证”)。
我找不到错误与我的基本知识,将感谢一些帮助!非常感谢
signup.php:

<?php
if(true === array_key_exists('submit', $_POST))
{
require("connect.php");

$rResult = mysqli_query($conn,
    sprintf(
        "INSERT INTO newsletter2 (email, status)VALUES('%s', 'pending')",
        $_POST['email']
    )
);
mail(
    $_POST['email'],
    'Subscriber Confirmation',
    sprintf(
        'Thankyou, please visit http://****.com/newsletter2/confirmSignUp.php?key=%s to confirm your subscription.',
        sha1($_POST['email'])
    ),
    null,
    null
);
echo 'Thankyou, please check the provided email for a link to confirm your subscription.';
exit;
}
?>

confirmsignup.php文件:

<?php
if(true === array_key_exists('key', $_GET))
{
require("connect.php");

$rResult = mysqli_query($conn,
    sprintf(
        "UPDATE newsletter2 SET status = 'confirmed' WHERE email = SHA1('%s')",
        $_GET['key']
    )
);
if(mysqli_affected_rows($conn) > 0)
{
    echo 'Thankyou, email confirmed';
}
else
{
    echo 'Sorry, account unvalidated.';
}
exit;
}
?>
wtlkbnrh

wtlkbnrh1#

注册.php

$rResult = mysqli_query($conn,
    sprintf(
        "INSERT INTO newsletter2 (email, status, authkey)VALUES('%s', 'pending', '%s')",
        $_POST['email'],
        sha1($_POST['email']) 
    )
);

confirmsignup.php文件:

$rResult = mysqli_query($conn,
    sprintf(
        "UPDATE newsletter2 SET status = 'confirmed' WHERE authkey = '%s'",
        $_GET['key']
    )
);

相关问题