PHP发送两次电子邮件而不正确上传图片:/

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP发送两次电子邮件而不正确上传图片:/脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在设计一个网站,一切都工作得很好,直到我开始添加一些额外的东西,所以它会完全按照我希望它的工作方式工作.

这是一个网站的脚本,用于上传他们在线广告的标题,描述,人名,图像,邮件地址和密码.然而,它不再想要正确命名图像,并且它发送了两次电子邮件,一次是在可能有图像的实例中,它立即在有人可能无法上传图像的实例中执行,但它正在读取它如果两者都这样做,因为文件上传错误.

顺便说一下,这是我创建的第一个PHP脚本,所以它看起来很糟糕,因为我从网上找到的不同的东西中混合了它:)

p.s魔发生的页面是www.afterswap.COM/give.PHP

p.p.s我有一个全局配置文件,用于设置所有数据库连接信息等,因此它不存在.

<?PHP
include("inc/header.PHP");
foreach ($_POST as $key => $val)
    $_POST[$key] = MysqLi_real_escaPE_string($con,$val);
$back = "<a href='give.PHP'>Click Here To Go Back And Try Again</a>";
if (isset($_POST['upload']) && $_FILES['userfile']['size'] > 0) {
    $tITle          = MysqLi_real_escape_string($title123);
    $title123       = MysqLi_real_escape_string($_POST['title']);
    $description    = MysqLi_real_escape_string($description123);
    $description123 = MysqLi_real_escape_string($_POST['description']);
    $Sell_by        = $_POST['Sell_by'];
    $name           = MysqLi_real_escape_string($name123);
    $name123        = MysqLi_real_escape_string($_POST['name']);
    $email          = $_POST['email'];
    $password       = $_POST['password'];
    $imagename      = basename($_FILES['userfile']['name']);
    $uploadeDFile   = $_FILES['userfile']['tmp_name'];
    if (empty($imagename)) {
        $error = 1;
        echo "<h2 class='error'>The name of the image was not found.</h2>" . $back;
    }

    if ($error != 1 &amp;& $noimg != 1) {

        $filename  = stripslashes($_FILES['userfile']['name']);
        $extension = substr(strrchr($filename,'.'),1);
        $extension = strtolower($extension);
    }

    if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) {
        echo '<h2 class="error">Error. Images Must Be Jpg,Gif,or Png Format! Please Go Back And Try Another Image.</h2>' . $back . '';
        $errors = 1;
    } else {

        $time     = time();
        $newimage = "/photos/" . $time . $imagename;
        $result   = move_uploaded_file($_FILES['userfile']['tmp_name'],$newimage);
        if (empty($result)) {
            $error = 1;
            echo "<h2 class='error'>There was an error uploading your image.</h2><br/>" . $back . "";
        }


        $date  = date("Y/m/d H:i:s");
        $query = "INSERT INTO classifieds (adid,title,description,Sell_by,name,email,password,picture,date,views,authorized ) VALUES ('','$title123','$description123','$Sell_by','$name123','$email','$password','$newimage','$date','0','0')";
        MysqLi_query($query) or die(MysqLi_error());

        $pullback = "SELECT * From classifieds WHERE title = '$title123' AND email ='$email' limit 1";
        $query2 = MysqLi_query($pullback) or die(MysqLi_error());
        while ($row = MysqLi_fetch_array($query2,MysqL_ASSOC)) {
            $newid = $row['adid'];
            $pass  = $row['pass'];
        }

        $url = "http://";
        $url .= getenv("HTTP_HOST");
        $Name      = "AfterSwap";
        $emailf    = "noreply@afterswap.com";
        $recipient = $email;
        $mail_body = "Thank you for posting a new listing!<br /><br />You May Now Manage Your Ad by selecting one of the following options:<br /><br />ApPRove your listing: <a href='" . $url . "/approve.PHP?id=" . $newid . "&pass=" . $password . "'>Click Here</a><br/>Edit your listing: <a href='$url/edit.PHP?id=" . $newid . "&pass=" . $password . "'>Click Here</a><br/>Remove your listing: <a href='" . $url . "/remove.PHP?id=" . $newid . "&pass=" . $password . "'>Click Here</a><br /><br />Regards,<br /><br />The AfterSwap Team";
        $subject   = "AfterSwap Ad Details";
        $headers   = "From: " . $Name . " <" . $emailf . ">\r\n";
        $headers .= "Content-type: text/htML\r\n";

        mail($recipient,$subject,$mail_body,$headers);

        echo "<div align='justify'><div class='success'>Your listing '" . $name123 . "' Has Been Submitted Successfully! <br/><br/>Please take note: Your listing will not show on the website until you verify it via the email sent to you. This email also allows you to edit and remove your listing as well.</div></div>";

    }
} elseif (isset($_POST['upload'])) {
    $title          = MysqLi_real_escape_string($title123);
    $title123       = MysqLi_real_escape_string($_POST['title']);
    $description    = MysqLi_real_escape_string($description123);
    $description123 = MysqLi_real_escape_string($_POST['description']);
    $Sell_by        = $_POST['Sell_by'];
    $name           = MysqLi_real_escape_string($name123);
    $name123        = MysqLi_real_escape_string($_POST['name']);
    $email          = $_POST['email'];
    $password       = $_POST['password'];
    $date           = date("Y/m/d H:i:s");
    $query          = "INSERT INTO classifieds (adid,cat,'$category','images/noimage.jpg','0')";
    MysqLi_query($query) or die(MysqLi_error());

    $pullback = "SELECT * FROM classifieds WHERE title = '$title123' AND email ='$email' limit 1";
    $query2 = MysqLi_query($pullback) or die(MysqLi_error());
    while ($row = MysqLi_fetch_array($query2,MysqL_ASSOC)) {
        $newid = $row['adid'];
        $pass  = $row['pass'];
    }


    $url = "http://";
    $url .= getenv("HTTP_HOST");
    $Name      = "AfterSwap";
    $emailf    = "noreply@afterswap.com";
    $recipient = $email;
    $mail_body = "Thank you for posting a new listing!<br /><br />You May Now Manage Your Ad by selecting one of the following options:<br /><br />Approve your listing: <a href='" . $url . "/approve.PHP?id=" . $newid . "&pass=" . $password . "'>Click Here</a><br/>Edit your listing: <a href='$url/edit.PHP?id=" . $newid . "&pass=" . $password . "'>Click Here</a><br/>Remove your listing: <a href='" . $url . "/remove.PHP?id=" . $newid . "&pass=" . $password . "'>Click Here</a><br /><br />Regards,<br /><br />The AfterSwap Team";
    $subject   = "AfterSwap Ad Details";
    $headers   = "From: " . $Name . " <" . $emailf . ">\r\n";
    $headers .= "Content-type: text/html\r\n";

    mail($recipient,$headers);

    echo "<div align='justify'><div class='success'>Thank you " . $name123 . ",your listing has been submitted successfully! <br/><br/>Please take note: Your isting will not show on the website until you verify it via the email sent to you. This email also allows you to edit and remove your listing as well.</div></div>";

} else {
?>

/* HTML Form here */

<?PHP } ?>

解决方法

试试这个

改变这一行

} elseif (isset($_POST['upload'])) {

} elseif (isset ( $_POST ['upload'] ) && empty($_FILES)) {

脚本宝典总结

以上是脚本宝典为你收集整理的PHP发送两次电子邮件而不正确上传图片:/全部内容,希望文章能够帮你解决PHP发送两次电子邮件而不正确上传图片:/所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。