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

=は割り当て、==は比較です。

if($ issues = "photo")ではなくif($ issues == "photo")が必要だと思います。

リスト@http://php.net/manual/en/language.operators.comparison.php

于 2013-01-26T12:19:44.143 に答える
0

if($ issues == "photo")

また

if($ issues === "photo")

比較演算子を確認してください。どちらも機能します

コードでは、文字列の写真を比較するのではなく、変数$issuesに割り当てています。

于 2013-01-26T12:20:22.957 に答える
0

に変更if ($issues = "photo")してくださいif ($issues == "photo")。これは確かにあなたの問題を解決します。==の代わりに各if条件で使用し=ます。シングル=では、変数に値を割り当てていますが、これは間違っています。これを参照してください

于 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;
}

あなたは基本的に写真の価値の問題を支援していました。変数を文字列と比較する必要があるため、doubleequalを使用します。==

于 2013-01-26T12:49:35.017 に答える
0

=ifs: でsingle を使用していますif ($issues = "photo")。ここでの問題は、この "if" は $issues 変数に "photo" が含まれているかどうかをチェックしないが、$issues が True かどうかをチェックすることです。

===:if ($issues == "photo")に変更しelseifます。

于 2013-01-26T12:19:03.533 に答える