1

为什么选择其他选项时,此代码总是输出 $image_issue_message 作为消息?:( 我还将在评论中发布表单代码,这样您就可以看到如何传递值,如果有帮助的话!我对 PHP 很陌生,所以现在这让我难以理解

    <?php

if(!$_POST) exit;

$name     = $_POST['name'];
$email    = $_POST['email'];
$issues  = $_POST['issues'];
$message = $_POST['message'];
$image_issue_message = "<strong>Unacceptable photo</strong> - The image that you have submitted has not met the requirements for this website. Photos must be a clear photo of your face (preferably with nobody else in the shot). Photos of cartoon characters, private body parts etc. will not be accepted.<strong> Please attach a suitable photo to your reply email.</strong>";
$description_issue_message = "<strong>Unacceptable description</strong> - The description that you have submitted has not met the requirements for this website. Profile descriptions should tell our users a little bit about yourself and what you're looking for. Descriptions that hint that you are on the site looking for sex will not be approved and profile that contain personal or sensitive information cannot be approved either.<strong> Please submit a revised profile description by replying to this email.</strong>";
$other_issue_message = "<strong>Issues</strong> - ".$message;
$issue_message = "";
if ($issues = "photo") {
    $issue_message = $image_issue_message;
} elseif($issues = "description") {
    $issue_message = $description_issue_message;
} else {
    $issue_message = $other_issue_message;
}


if(get_magic_quotes_gpc()) {
    $comments = stripslashes($comments);
}

$websitepath="http://www.gaymate.co.uk";


// Configuration option.
// Enter the email address that you want to emails to be sent to.
// Example $address = "joe.doe@yourdomain.com";

//$address = "example@themeforest.net";
$address = $email;

// Configuration option.
// i.e. The standard subject will appear as, "You've been contacted by John Doe."

// Example, $e_subject = '$name . ' has contacted you via Your Website.';

$e_subject = 'Profile rejected by GayMate.co.uk';


// Configuration option.
// You can change this if you feel that you need to.
// Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.

$e_body = '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>gaymate.co.uk</title>

        <style type="text/css">

        p {
            font-family: Arial;
            font-size: 12px;
            padding: 0 20px 0 20px; }

        .boldTitle {
            font-size: 13px;
            font-weight: bold; }

        .headerTitle {
            font-size: 16px;
            font-weight: bold; }

        .divider2 {
            padding: 0 20px 0 20px; }

        </style>

        </head>

        <body>
        <table width="500" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td>
            <!-- YOU CAN PUT AN EMAIL TITLE IMAGE HERE IF YOU WANT -->
            <p class="headerTitle">www.GayMate.co.uk</p>
            <img class="divider2" src="'.$websitepath.'/images/email/email-divider2.gif" alt="email-divider2" width="460" height="4" />
        <p>Hi,</p></br><p>Your profile has been rejected by the GayMate.co.uk Admin Team. The reasons for rejection
        are listed below. Please reply to this email with any ammendments needed so that we can make the alterations and get your
        profile activated right away!</p>
        <p>Reason(s) for rejection:</br>
        <ul>
            <li>'.$issue_message.'</li></ul></br><p class="headerTitle">The Team @ GayMate.co.uk</p></br>

       <img src="'.$websitepath.'/images/email/email-divider.gif" alt="email-divider" width="500" height="10" />
    </td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>
';

$msg = $e_body;

$headers = "From: admin@gaymate.co.uk" . PHP_EOL;
$headers .= "Reply-To: admin@gaymate.co.uk" . PHP_EOL;
$headers .= "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-type: text/html;" . PHP_EOL;

if(mail($address, $e_subject, $msg, $headers)) {

    // Email has sent successfully, echo a success page.

    echo "<fieldset>";
    echo "<div id='success_page'>";
    echo "<h1>Email Sent Successfully.</h1>";
    echo "</div>";
    echo "</fieldset>";

} else {
    echo 'ERROR!';
}

表格代码:

    <form method="post" action="sendreject.php" name="contactform" id="contactform">

    <fieldset>

    <label for="name">Name</label>
    <select name="email" id="email">
        <?php
            while($row_list=mysql_fetch_assoc($list)){
                $id =  $row_list['id'];
                $name = ucwords(strtolower($row_list['firstname'])).' '.ucwords(strtolower($row_list['surname']));
                $email = $row_list['email'];
                echo "<option value='".$email."'>".$name."</option>";
            }
        ?>
    </select>

    <br />
    <label for="issues">Issue(s)</label>
    <select name="issues" id="issues">
        <option value="photo">Photo unacceptable</option>
        <option value="description">Profile description</option>
        <option value="other">Other/multiple issues</option>
    </select>

    <br />
    <label for="message">Reject message</label>
    <textarea name="message" cols="40" rows="3" id="message"></textarea>

    <br />
    <input type="submit" class="submit" id="submit" value="Submit" />

    </fieldset>

    </form>
4

5 回答 5

0

=您在 ifs:中使用 single if ($issues = "photo")。这里的问题是,这个“if”不会检查您的 $issues 变量是否包含“photo”,但它会检查 $issues 是否为 True。

将 更改===: if ($issues == "photo"),对elseif.

于 2013-01-26T12:19:03.533 回答
0

= 是赋值,== 是比较。

我认为你想要if ($issues == "photo")而不是 if ($issues = "photo")。

列表@http: //php.net/manual/en/language.operators.comparison.php

于 2013-01-26T12:19:44.143 回答
0

if ($issues == "照片")

或者

if ($issues === "照片")

检查比较运算符,两者都可以

在您的代码中,您将字符串 photo 分配给变量 $issues 而不是比较它。

于 2013-01-26T12:20:22.957 回答
0

请更改if ($issues = "photo")if ($issues == "photo"). 这肯定会解决你的问题。==在每个 if 条件中使用而不是=. 使用 single=您将值分配给错误的变量。参考这个。

于 2013-01-26T12:22:37.977 回答
0
if ($issues == "photo") {
    $issue_message = $image_issue_message;
} elseif($issues == "description") {
    $issue_message = $description_issue_message;
} else {
    $issue_message = $other_issue_message;
}

你基本上是在评估照片的价值。您需要将变量与字符串进行比较,因此请使用双等号。==

于 2013-01-26T12:49:35.017 回答