überschreiben von variablen klappt nicht

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Duffi, 27. Juni 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 27. Juni 2006
    Hey,

    ich hab ein problem mit meinem php Formular und zwar versuch ich in einem drop down menü was auszuwählen, das ausgewählte soll verglichen werden und eben dann in die richtige sql tabelle reingeschrieben werden, es wird aber immer nur in die letzte Tabelle reingeschrieben was auch die letzte abfrage für das dropdown menue ist.

    Code:
     <select name="klasse" style="background-color: #56B1FC; border: #FFFFFF 1px solid">
     <option>Bambini</option>
     <option>E-Sch&uuml;ler</option>
     <option>D-Sch&uuml;ler</option>
     <option>C-Sch&uuml;ler</option>
     <option>B-Sch&uuml;ler</option>
     <option>A-Sch&uuml;ler</option>
     <option>B-Jugend</option>
     <option>A-Jugend</option>
     <option>Kurzstrecke</option>
     <option>Hauptstrecke</option>
     <option>Nordic-Walking</option>
     <option>Walking</option>
     </select>
    
    <?
     if($_POST['klasse']='Bambini' )
     {$anmeldung='bambini';
     }
     if($_POST['klasse']='E-Schüler')
     {$anmeldung='schuelerE';
     }
     if($_POST['klasse']='D-Schüler')
     {$anmeldung='schuelerD';
     }
     if($_POST['klasse']='C-Schüler') 
     {$anmeldung='schuelerC';
     }
     if($_POST['klasse']='B-Schüler')
     {$anmeldung='schuelerB';
     }
     if($_POST['klasse']='A-Schüler')
     {$anmeldung='schuelerA';
     }
     if($_POST['klasse']='B-Jugend')
     {$anmeldung='jugendB';
     }
     if($_POST['klasse']='A-Jugend')
     {$anmeldung='jugendB';
     }
     if($_POST['klasse']='Kurzstrecke')
     {$anmeldung='kurz';
     }
     if($_POST['klasse']='Hauptstrecke')
     {$anmeldung='haupt';
     }
     if($_POST['klasse']='Nordic-Walking')
     {$anmeldung='nwalking';
     }
     if($_POST['klasse']='Walking')
     {$anmeldung='walking';
     }
    
    mysql_query("Insert INTO ".$anmeldung." VALUES ('', '$verein', '$strasse','$ort', '$ort2', '$tele', '$mail1', '$vorname','$nachname','$geschlecht', '$jahrgang', '$klasse', '$quittung','$zeit')")
    
    ?>
    
    
    Bei dieser abfrage wird in die varable immer walking anstatt einer der ausewählten geschrieben.

    Belohnung für Hilfe ist klar.
     
  2. 27. Juni 2006
    kleiner tip

    vergleichen tut man nicht mit einem "="

    wenn dann muss ein vergleich so aussehen:

    if($_POST['klasse'] == 'Walking')

    lg
    maui
     
  3. 27. Juni 2006
    hrhr.. Spielverderber.
    Ich dachte er merkt es selbst noch
     
  4. 27. Juni 2006
    Du hast auch bei

    <option> das Value vergessen!

    Kann auch sein, dass es ohne geht, habs aber bisher immer nur mit gesehn...

    Wäre dann also

    <option value='deintext'>DeinText


    etc.

    Außerdem solltest du auch mit dem ü aufpassen! Das kann zu Fehlern führen, muss aber nicht.
     
  5. 27. Juni 2006
    value ist dabei wichtig oder du nimmst die name="klasse" und lässt bei der übergabe mit foreach die werte ausgeben und vergleichen.
    hier mal eine kürzere variante:
    erstmal kürzen wir die ganze html/php code
    PHP:
    <? php
    // Alle Werte in Array packen
    $klasse  = array(
        
    "Bambini"  =>  "bambini" ,
        
    "E-Sch&uuml;ler"  =>  "schuelerE" ,
        
    "D-Sch&uuml;ler"  =>  "schuelerD" ,
        
    "C-Sch&uuml;ler"  =>  "schuelerC" ,
        
    "B-Sch&uuml;ler"  =>  "schuelerB" ,
        
    "A-Sch&uuml;ler"  =>  "schuelerA" ,
        
    "B-Jugend"  =>  "jugendB" ,
        
    "A-Jugend"  =>  "jugendA" ,
        
    "Kurzstrecke"  =>  "kurz" ,
        
    "Hauptstrecke"  =>  "haupt" ,
        
    "Nordic-Walking"  =>  "nwalking" ,
        
    "Walking"  =>  "walking"
        
    );
    echo 
    '<select name="klasse" style="background-color: #56B1FC; border: #FFFFFF 1px solid">' ;
    // Rausschleifen von den Namen und den Wert
    foreach( $klasse  as  $name  =>  $value ) {
        echo 
    '<option value="' . $value . '">' . $name . '</option>' ;
    }
    echo 
    '</select>' ;

    // und damit $anmeldung werte auch kriegt und wir die auch vergleichen können machen wir es mal so:

    foreach( $klasse  as  $name  =>  $value ) {
        if(
    $_POST [ 'klasse' ] ==  $value ) {  // Hier wird geprüft
            
    $anmeldung  $value ;
        }
    }
    ?>
     
  6. 27. Juni 2006
    danke an alle ^^ 10er sind raus

    wenn man unter druck ist vergisst man halt die einfachsten sachen

    greetz
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.