2017-11-20 12 views
-4

私は学校のプロジェクトに取り組んでおり、現在はショッピングカルチャーを手がけていますが、テキストはノルウェー語ですが、問題。変数がすぐに設定されていないため、エラーメッセージが表示され続けます

私の総額変数は、買い物客が望むアイテムが投稿によって投稿された後に設定されます。それはすべて正常に動作します。 しかし、コードでは、クライアントが800NOKを超える店舗であれば、クーポンコード付きのテキストを追加することになっています。それは動作しますが、送信ボタンをクリックする前に、私はこのエラーを取得しておいてください。それはすべてのように正常に動作

<?php 
    if(isset($_GET["beregn_prisen"])) { 
     $vare1 = $_GET["vare1"]; 
     $vare2 = $_GET["vare2"]; 
     $vare3 = $_GET["vare3"]; 




    if ($vare1=="Ball") { 
    $pris1=600; 
} else if ($vare1=="Medlemskap") { 
    $pris1=500; 
} else if ($vare1=="Klister") { 
    $pris1=500; 
} else { 
    $pris1=0; 
} 

if ($vare2=="Ball") { 
    $pris2=600; 
} else if ($vare2=="Medlemskap") { 
    $pris2=500; 
} else if ($vare2=="Klister") { 
    $pris2=500; 
} else { 
    $pris2=0; 
} 

if ($vare3=="Ball") { 
    $pris3=600; 
} else if ($vare3=="Medlemskap") { 
    $pris3=500; 
} else if ($vare3=="Klister") { 
    $pris3=500; 
} else { 
    $pris3=0; 
} 


$sum = $pris1 + $pris2 + $pris3; 


echo "<strong>$vare1</strong>: $pris1 kr <br> 
    <strong>$vare2</strong>: $pris2 kr<br> 
    <strong>$vare3</strong>: $pris3 kr"; 

echo "<br><br>Prisen er <strong>$sum</strong> kroner"; 
} 


if ($sum >= "800") { 
echo "<br><br>Du har fått en rabattkode for å handle for over 800kr! <br>Rabattkoden er: <strong>2HJ4G7S</strong>"; 
} 
    ?> 

:これは私のPHPが

 <form action="" method="get"> 
    <p>Velg vare 1: </p> 
    <select name="vare1"> 
    <option value="Medlemskap">Medlemskap, 500 kr</option> 
    <option value="Ball">Select Utlimate Håndball, 600 kr</option> 
    <option value="Klister">Select Profcare Klister, 500 kr</option> 
    <option value="Ingen">Ingen vare</option> 
    </select> 

    <p>Velg vare 2: </p> 
    <select name="vare2"> 
    <option value="Medlemskap">Medlemskap, 500 kr</option> 
    <option value="Ball">Select Utlimate Håndball, 600 kr</option> 
    <option value="Klister">Select Profcare Klister, 500 kr</option> 
    <option value="Ingen">Ingen vare</option> 
    </select> 

    <p>Velg vare 3: </p> 
    <select name="vare3"> 
    <option value="Medlemskap">Medlemskap, 500 kr</option> 
    <option value="Ball">Select Utlimate Håndball, 600 kr</option> 
    <option value="Klister">Select Profcare Klister, 500 kr</option> 
    <option value="Ingen">Ingen vare</option> 
    </select><br><br> 
    <input type="submit" name="beregn_prisen" value="Beregn prisen"> 
    </form> 

次のとおりです。ここで

Error messageは私のHTMLです私は言ったが、ユーザが提出していないときには迷惑なエラーメッセージが出る。

+0

場合は定義されていませんか? '$ sum'への2つの参照はここで大丈夫です...答えを見た後、私たちは両方を見て間違いを認識しました! – kchason

+0

if($ sum> = "800"){ これは行111 – matiaslau

答えて

2

あなたのコードの簡略版は次のようになります。

if(isset($_GET["beregn_prisen"])) { 
    # Do stuff that defines $sum 
} 
if ($sum >= "800") { 
    echo "<br><br>Du har fått en rabattkode for å handle for over 800kr! <br>Rabattkoden er: <strong>2HJ4G7S</strong>"; 
} 

ちょうどそれが存在するかどこに制御ifステートメントに$sumを使用していますすべてコードを移動。

if(isset($_GET["beregn_prisen"])) { 
    # Do stuff that defines $sum 
    if ($sum >= "800") { 
     echo "<br><br>Du har fått en rabattkode for å handle for over 800kr! <br>Rabattkoden er: <strong>2HJ4G7S</strong>"; 
    } 
} 
+0

ありがとうございました!ありがとう! – matiaslau

0

この部分:

if ($sum >= "800") { 
echo "<br><br>Du har fått en rabattkode for å handle for over 800kr! <br>Rabattkoden er: <strong>2HJ4G7S</strong>"; 
} 

は、条件のうち、次のとおりです。

if(isset($_GET["beregn_prisen"])) { 

したがって、$和が定義されていません。 この部分を条件に入れてください。

echo "<br><br>Prisen er <strong>$sum</strong> kroner"; 
//} <-- removed this one. 


    if ($sum >= "800") { 
    echo "<br><br>Du har fått en rabattkode for å handle for over 800kr! <br>Rabattkoden er: <strong>2HJ4G7S</strong>"; 
    } 

} //Repositioned it over here. 

より良い練習ノート#1: 使用インデント、それははるかに簡単にこのようなバグや問題を発見することになるだろう。 switch()ステートメントを使用して検討し、その代わりif()elseif()を複数回使用しての :

より良い練習ノート#2(そして、それは視覚的にもっとうれしいです)。

+0

注目:助けてくれてありがとう! – matiaslau

+0

ようこそ。 –

-2

$和はありません$ _GET [ "beregn_prisen"]行番号111である

<?php 
    if(isset($_GET["beregn_prisen"])) { 
     $vare1 = $_GET["vare1"]; 
     $vare2 = $_GET["vare2"]; 
     $vare3 = $_GET["vare3"]; 




    if ($vare1=="Ball") { 
    $pris1=600; 
} else if ($vare1=="Medlemskap") { 
    $pris1=500; 
} else if ($vare1=="Klister") { 
    $pris1=500; 
} else { 
    $pris1=0; 
} 

if ($vare2=="Ball") { 
    $pris2=600; 
} else if ($vare2=="Medlemskap") { 
    $pris2=500; 
} else if ($vare2=="Klister") { 
    $pris2=500; 
} else { 
    $pris2=0; 
} 

if ($vare3=="Ball") { 
    $pris3=600; 
} else if ($vare3=="Medlemskap") { 
    $pris3=500; 
} else if ($vare3=="Klister") { 
    $pris3=500; 
} else { 
    $pris3=0; 
} 


$sum = $pris1 + $pris2 + $pris3; 


echo "<strong>$vare1</strong>: $pris1 kr <br> 
    <strong>$vare2</strong>: $pris2 kr<br> 
    <strong>$vare3</strong>: $pris3 kr"; 

echo "<br><br>Prisen er <strong>$sum</strong> kroner"; 
} else { 
    $sum = 0; 
} 


if ($sum >= "800") { 
echo "<br><br>Du har fått en rabattkode for å handle for over 800kr! <br>Rabattkoden er: <strong>2HJ4G7S</strong>"; 
} 
    ?> 
関連する問題