2016-12-01 2 views
-1

Ich bekomme einen Fehler und ich weiß nicht warum. Alles funktioniert gut, dass sich die Farbe ändert, wenn Sie einen Radiobutton auswählen und die Taste drücken. Aber wenn Sie die Website zu starten gibt es 4 Fehler genannt:PHP Fehler beim Ändern von Bgcolor

Notice: Undefined index: kleur in C: \ xampp \ htdocs \ seb1.php on line 20

Notice: Undefined index: kleur in C: \ xampp \ htdocs \ seb1.php auf Leitung 24

Hinweis: Nicht definiert Index: kleur in C: \ xampp \ htdocs \ seb1.php auf Leitung 28

Hinweis: Nicht definiert Index: kleur in C: \ xampp \ htdocs \ seb1.php on line 32

Hier ist mein Code:

<!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 bedeutet Farbe Dank für die Hilfe

+1

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

Antwort

1

Sein, weil, wenn Sie zuerst die Seite laden, Ihre $_GET['kleur'] Variable leer ist. Daher wirft es Undefined Index Notice.

Um es zu behandeln hinzufügen !empty überprüfen, die bestimmt, ob die Variable leer ist oder nicht. Reference

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

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

oder er könnte zuerst prüfen, ob der Hauptknopf angeklickt ist. –

+0

ja das wird auch funktionieren :) – Samir

0

vielleicht hilfreich

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

Haben Sie ein paar Klammern verpasst?

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