2017-11-20 1 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'에 대한 단 두 개의 참조만으로도 괜찮아 보입니다 ... 답변을 본 후에, 우리는 그것을 보았을 때 우리가 실수 한 것을 깨달았습니다! – 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

Noted :) 도움에 감사드립니다! – 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>"; 
} 
    ?> 
관련 문제