-4

中かっこ、大かっこ、セミコロンがすべて並んだ後、何回投稿を読んだり数えたりできるかわかりません。これは何時間も私を悩ませてきました。任意の洞察をいただければ幸いです。

このプログラムは、ほとんどの日のオンとオフに取り組んでいます。私がそれを投稿してうまくいったとき、注意が必要な詳細が表示されます. 調整すると、このようにクラッシュすることがあります。

問題を取り除いた後も問題が残っているため、テキストの内容は関係ありません。98行目だそうです。

コードは適切にインデントされていますか? 私は試した。

ini_set ('display_errors', 1);
error_reporting (E_ALL | E_STRICT);

require ('head_metas.htm');
require ('head_menus.htm');

//bid_handler.php

// get items
$title = trim($_POST['title']);
$img = trim($_POST['img']);
$medium = trim($_POST['medium']);
$size = trim($_POST['size']);
$date = trim($_POST['date']);
$value = trim($_POST['value']);

// visitor info
$visitorF = trim($_POST['visitorF']);
$visitorL = trim($_POST['visitorL']);
$phone = trim($_POST['phone']);
$email1 = trim($_POST['email1']);
$email2 = trim($_POST['email2']);
$validation1 = filter_var($email1, FILTER_VALIDATE_EMAIL);
$validation2 = filter_var($email2, FILTER_VALIDATE_EMAIL);

$bid_value = trim($_POST['bid_value']);

// confirmation mails
$headers = '...';
$to = 'my@email.com, $email1';
$subject = '...';
$message = $visitorF . $visitorL . ' has offered ' . $bid_value . ' for ' . $title . '.\n\nContact information:\nPnone: ' . $phone . '\nemail address: ' . $email1;

$okay = TRUE;
// welcome + image
if ($okay == TRUE)
{
    print "
        <p>
         Luring text and a captivating image
             <br />
             All \" quotes \" are meticulously struck
        </p>
          ";
    $okay = TRUE;
}



// inaccessible entries
if ( 
    (empty($visitorF)) || 
    (empty($visitorL)) || 
    (empty($email1)) || 
    (empty($email2)) || 
    ($email1 != $email2) ||
    ($validation1 == NULL) || 
    ($validation2 == NULL) 
    ) 
{
    print " 
        There were errors.
        ";
    $okay = FALSE;
}

    // everything looks great
    elseif ( 
        ($okay == TRUE) &&
        (is_numeric($bid_value)) && 
        ($bid_value >= $value) &&
        (isset($visitorF)) && 
        (isset($visitorL)) && 
        (isset($email1)) && 
        (isset($email2)) && 
        ($email1 == $email2) &&
        ($validation1 == TRUE) &&
        ($validation2 == TRUE) 
        ) 
    {
        print "
            <p>
              Thank you, your information is as follows:
              <br />
              Info... prints the variables in a stylish fashion
             </p> ";
             $okay = FALSE;
    }

        else ( 
            ($bid_value < $value) || 
            (empty($bid_value)) 
            )
        {
            print "
                <p>
                 However, your bid has not met the minimum reserve for this piece.
                <br />
                 Please enter a numeric value and try again.
                </p>
                 ";
            $okay = FALSE;
        }


require ('footer.html');
?>
4

4 に答える 4

6

よくわかりませんが、問題はここにあると思います:

 else ( 
        ($bid_value < $value) || 
        (empty($bid_value)) 
        )

キーワードの(condition)後に​​ a を付けることはできません。else

于 2012-09-30T06:03:56.580 に答える
3

エラーイン

    else ( 
        ($bid_value < $value) || 
        (empty($bid_value)) 
        )

elseで条件を使用することはできません。else ifまたは条件を削除します。

于 2012-09-30T06:15:43.137 に答える
2
  else ( 
        ($bid_value < $value) || 
        (empty($bid_value)) 
        )
    {

ここにエラーがあります ステートメントで条件を使用できませんelseステートメントの基本構造if-else

if(condition){
     //condition is true
}else{
     //condition is false
}

使用よりも多くの状態を使用したい場合elseif

if(condition){
//condition is true
}elseif(condition){
//condition is false
}else{
}

単一のelseifステートメントを使用しています。

于 2012-09-30T06:30:17.093 に答える
1

ここを見て:

    else ( 
        ($bid_value < $value) || 
        (empty($bid_value)) 
        )
    {

少し縮小してみましょう。

else (($bid_value < $value) || (empty($bid_value))) {

そうすれば、問題が非常に明確にわかります。elseステートメントの後に単に条件があるわけではありません。PHP での else ステートメントの設計 ( else 制御構造については、PHP.net のドキュメントを参照) により、ステートメントのすべての可能なケースがクリーンアップされますif。これにより、他の条件によって受け入れられないものはすべてelseステートメントに入るため、条件を受け入れることができなくなります。

于 2012-09-30T06:08:16.827 に答える