2016-12-01 27 views
-1

我得到一個錯誤,我不知道爲什麼。當你選擇一個單選按鈕並按下按鈕時,一切正常,顏色改變。但是,當你啓動的網站它給4個錯誤稱爲:PHP錯誤更改Bgcolor

注意:未定義指數:kleur在C:\ XAMPP \ htdocs中\ seb1.php上線20

注意:未定義指數:kleur在C:\ XAMPP \ htdocs中\ seb1.php上線24

說明:未定義指數:kleur在C:\ XAMPP \ htdocs中\ seb1.php線路28上

說明:未定義指數:kleur在C:\ XAMPP \ htdocs \ seb1.php 32行

這裏是我的代碼:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Vertalingen</title> 
    <?php 
      if (!empty($_POST)) {   
       $woord = $_POST["woord"]; 
       $vertaal = $_POST["vertaling"]; 
        $fp = fopen("seb.txt", "a+"); 
        fputs($fp, $woord."\r\n"); 
        fputs($fp, $vertaal."\r\n"); 
        fclose($fp); 
      } 

      if(!empty($_GET)) { 
       if ($_GET['kleur'] == 'rood') 
        echo '<body bgcolor="red">'; 
      } 

       if ($_GET['kleur'] == 'blauw'){ 
        echo '<body bgcolor="blue">'; 
       } 

       if ($_GET['kleur'] == 'geel'){ 
        echo '<body bgcolor="yellow">'; 
       } 

       if ($_GET['kleur'] == 'groen'){ 
        echo '<body bgcolor="green">'; 
       } 

       if ($_GET['kleur'] == 'oranje'){ 
        echo '<body bgcolor="orange">'; 
       } 


     ?> 

</head> 
<body> 

     <form name="woorden" method="post"> 
     Woord:  <input type="text" name="woord"><br> 
     Vertaling: <input type="text" name="vertaling"><br> 
        <input type="submit" name="Opslaan" value="Opslaan"> 
     </form>  
     <form method="get"> 
      Geel:<input type="radio" name="kleur" value="geel"><br> 
      Blauw:<input type="radio" name="kleur" value="blauw"><br> 
      Rood:<input type="radio" name="kleur" value="rood"><br> 
      Oranje:<input type="radio" name="kleur" value="oranje"><br> 
      Groen:<input type="radio" name="kleur" value="groen"><br> 
      <input type="submit" name="ChangeColor" value="Changecolor"> 
      <!-- <input type="radio" name=""> --> 
      <!-- <input type="radio" name=""> --> 
     </form>    
    </body> 
</html> 

* kleur指顏色 感謝您的幫助

+1

use $ kleur = isset($ _ GET ['kleur'])?$ _ GET ['kleur']:null; – Fky

回答

1

它,因爲當你第一次加載頁面,你$_GET['kleur']變量爲空。因此,它會拋出Undefined Index Notice

要處理它,請添加!empty檢查確定變量是否爲空。 Reference

if(!empty($_GET['kleur'])) 
{ 
    if ($_GET['kleur'] == 'rood') 
     echo '<body bgcolor="red">'; 
    } 

    if ($_GET['kleur'] == 'blauw'){ 
     echo '<body bgcolor="blue">'; 
    } 
} 
+0

或者他可以先檢查主按鈕是否被點擊。 –

+0

是的,這也將工作:) – Samir

0

可能有助於

if(isset($_GET) && isset($_GET['kleur']) && !empty($_GET['kleur'])){ 
    switch($_GET['kleur']){ 
     case 'rood': 
      echo '<body bgcolor="red">'; 
     break; 
     case 'blauw': 
      echo '<body bgcolor="blue">'; 
     break; 
     case 'geel': 
      echo '<body bgcolor="yellow">'; 
     break; 
     case 'groen': 
      echo '<body bgcolor="green">'; 
     break; 
     case 'oranje': 
      echo '<body bgcolor="orange">'; 
     break; 
     default: 
      echo '<body bgcolor="red">'; 
     break; 
    } 
} 
0

您是否錯過了一些支架?

if ($_GET['kleur'] == 'rood') { <--this 
     echo '<body bgcolor="red">'; 
    } 
    ... 
} <-- this