[HTML/PHP] Reihenfolge für den Durchlauf von Formularelementen für $_POST erzwingen

WiZdooM

Erfahrenes Mitglied
Hallo

Ich frage mich, ob es möglich ist, dem $_POST Array eine Reihenfolge aufzuzwingen, welche Formularfelder es beim Absenden zuerst aufnehmen soll.

Ich habe das Problem, dass nach Mehrfachauswahl-Feldern noch Textfelder kommen und sich damit die Position der Texte im Array in Abhängigkeit der Anzahl der Ausgewählten Felder verändert und somit keinen einfachen iterativen Zugriff erlaubt. Somit müssten zuerst alle Textfelder und erst danach alle anderen Felder in $_POST aufgenommen werden. Ist es möglich eine Reihenfolge für die Traversierung der Formularfelder zu erzwingen ?
 
Hallo

Ich versuche es zu veranschaulichen:
Das Formular sieht bisher so aus wie auf dem Screen.
91142rxespj.jpg


$_POST erzeugt jetzt ein Array das wie folgt aussieht
PHP:
[0][form_id] anfrage
[1][hdnr] 001125
[2][Antragsteller] Deus
[3][Position] Ex
[4][Telefon] 04711-0815
[5][Email] ex@deus.com
[6][cb_PKW] on
[7][Hersteller] Kia
[8][cb_Schalter] on
[9][Modell] iQ
[10][Zylinder] 3
[11][ezl_day] 3
[12][ezl_month] 4
[13][ezl_year] 2009
[14][Laufleistung] 115443
[15][Hubraum] 1325
[16][KW] 41
[17][VK-Preis] 16500
[18][cb_Turbolader_check] on
[19][cb_Turbolader_Nein] on
[20][cb_Miet_FS_Nein] on
[21][Zweck] keine Angabe
[22][cb_Zweck_Privat] on
[23][Abweichungen] keine Angabe
[24][Kriterien] keine Angabe
[25][Ort] keine Angabe
[26][Haendler] Deus
[27][submit] Anfrage abschicken
[28][fzType] true
[29][driveType] true
[30][mietType] true
[31][zweckType] true

Das Problem ist jetzt dass sich bei Mehrfachauswahl (z.B. Zweck privat + gewerblich) das Array verändert und die Indizes nicht mehr stimmen und ich mit einer Zählvariable nicht mehr durchlaufen kann, mit der ich dann in einer Word-XML Bausteine ersetze.

Ich kann jetzt natürlich erst alle Textfelder nach der Reihe positionieren, aber dann stimmt die logische Struktur wie es mein Boss möchte nicht mehr.

Die andere Alternative wäre, ich spare mir die Überführung des $_POST in ein normales zahlenindiziertes Array und arbeite mit den $key values im Suchen&Ersetzen bereich, aber dann muss ich meine Vorlage und das formular komplett umschreiben (Feldnamen und Ersetzenbezeichner) oder aber ich filtere vorher mit foreach($_POST AS $key=>value) erst alle $key die "cb_" enthalten raus und schreibe einfach nur alle Text und DD-Boxen in das Array.
 
Zuletzt bearbeitet:
Hi,


Interessanter als die Optik, wäre der HTML-Code gewesen. Ich habe ehrlich gesagt keine Lust auf das Spiel "Ordne unten stehende Feldnamen den Feldern auf dem Bild zu"...
Es ist auch nicht das echte Formular nötig. Breche das auf ein kleines Beispiel runter, das das Problem verdeutlicht und poste den HTML-Code, den PHP-Code zur Verarbeitung und den Inhalt von $_POST.

Das Problem ist jetzt dass sich bei Mehrfachauswahl (z.B. Zweck privat + gewerblich) das Array verändert und die Indizes nicht mehr stimmen und ich mit einer Zählvariable nicht mehr durchlaufen kann, mit der ich dann in einer Word-XML Bausteine ersetze.

Es ist ja im Allgemeinen auch Käse, das $_POST-Array über numerische Indizes zu durchlaufen. Wozu gibt es denn wohl Feldnamen? Was ist abgesehen von Deinem Checkboxenproblem, wenn später mal mittendrin ein Feld dazukommen soll? Dann kannst Du das ganze Konstrukt wieder anpassen, statt lediglich die Verarbeitung für dieses Feld hinzuzufügen.

Die andere Alternative wäre, ich spare mir die Überführung des $_POST in ein normales zahlenindiziertes Array und arbeite mit den $key values im Suchen&Ersetzen bereich, aber dann muss ich meine Vorlage und das formular komplett umschreiben (Feldnamen und Ersetzenbezeichner)

Warum überführst Du das $_POST-Array in ein anderes Array? Auch ein assoziatives Array kann man über numerische Indizes ansprechen, aber das nur nebenbei...
Warum musst Du die Feldnamen und Platzhalter in der Vorlage umschreiben, wenn Du lediglich die Werte auf eine andere Weise aus dem $_POST-Array holst? :confused:

LG
 
Die Reihenfolge im Dokument gibt die Reihenfolge vor:
http://www.w3.org/TR/html401/interact/forms.html#didx-applicationx-www-form-urlencoded hat gesagt.:
The control names/values are listed in the order they appear in the document. The name is separated from the value by `=' and name/value pairs are separated from each other by `&'.
 
Hi,
Es ist ja im Allgemeinen auch Käse, das $_POST-Array über numerische Indizes zu durchlaufen. Wozu gibt es denn wohl Feldnamen? Was ist abgesehen von Deinem Checkboxenproblem, wenn später mal mittendrin ein Feld dazukommen soll? Dann kannst Du das ganze Konstrukt wieder anpassen, statt lediglich die Verarbeitung für dieses Feld hinzuzufügen.

Deswegen frage ich ja, ob ich die Reihenfolge beeinflussen kann in der die Felder in $_POST geschrieben werden, weil ich eben nicht jedes Feld einzeln mit Namen ansprechen will. In dem Fall ist mir eben ein numerisches Array am liebsten.

Was das HTML betrifft, nachfolgend PHP und HTML. Habe jetzt das Form-Tag mal komplett genommen (weil ich keine Lust hatte ein Beispiel zu basteln ;) ). Bei der PHP Bearbeitung hab ich jetzt nur die Validierung und den E-Mail-Teil weggelassen.

PHP:
$len=strlen($_POST['hdnr']);
                
                # Fallunterscheidung:
                # 1. Fall: HD-Nummer kleiner/gleich 6 Stellen (alte Pro-Car Nummer)
                # Voranstellen von PC an die HDNummer. 
                # Einfügen von "Leerstellen" (Bindestriche) zwischen PC und der eigentlichen Nummer
                if($len<=6){
                    $hdarray[0]="PC";
                    for($i=1;$i<6;$i++){
                        $hdarray[$i]="-";
                    }
                    for($i=6;$i<=11;$i++){
                        $hdarray[$i]=substr($_POST['hdnr'],$i-6,1);
                    }
                }
            
                # 2. Fall: HD-Nummer größer 6 Stellen (Mapfre-Pro-Car Nummer)
                # Voranstellen von PC an die HDNummer
                else if($len>6&&$len<=11){
                    $hdarray[0]="PC";
                    for($i=1;$i<=11;$i++){
                        $hdarray[$i]=substr($_POST['hdnr'],$i-1,1);
                    }
                }
                
                # Öffnen der Datei "vorlage.xml" und Auslesen des Inhaltes in
                # $content.
                
                $vorlage = "vorlage.xml";
                $readhandler = fopen($vorlage,'r');
                $content = fread($readhandler,filesize($vorlage));
                
                # Iteratives Ersetzen der HD-Nr-Platzhalter
                for($j=10;$j<=21;$j++){
                    $content = str_replace("#".$j,$hdarray[$j-10],$content);
                }
            
                # Checkbox setzen, wenn CB im Formular gefüllt/gesetzt ist
                if($_POST['cb_Allrad']=="on")
                    $content = str_replace('val_id="cb_Allrad">/////2','val_id="cb_Allrad">/////w',$content);
            
                if($_POST['cb_Transporter']=="on")
                    $content = str_replace('val_id="cb_Transporter">/////2','val_id="cb_Transporter">/////w',$content);
            
                if($_POST['cb_PKW']=="on")
                    $content = str_replace('val_id="cb_PKW">/////2','val_id="cb_PKW">/////w',$content);
            
                if($_POST['cb_Schalter']=="on")
                    $content = str_replace('val_id="cb_Schalter">/////2','val_id="cb_Schalter">/////w',$content);
            
                if($_POST['cb_Automatik']=="on")
                    $content = str_replace('val_id="cb_Multitronik">/////2','val_id="cb_Multitronik">/////w',$content);
            
                if($_POST['cb_Multitronik']=="on")
                    $content = str_replace('val_id="cb_Automatik">/////2','val_id="cb_Automatik">/////w',$content);
                
                if($_POST['cb_Turbolader_Ja']=="on")
                    $content = str_replace('val_id="cb_Turbolader">/////2','val_id="cb_Turbolader">/////w',$content);
            
                if($_POST['cb_Miet_FS_Ja']=="on")
                    $content = str_replace('val_id="cb_Miet_FS_Ja">/////2','val_id="cb_Miet_FS_Ja">/////w',$content);
            
                if($_POST['cb_Miet_FS_Nein']=="on")
                    $content = str_replace('val_id="cb_Miet_FS_Nein">/////2','val_id="cb_Miet_FS_Nein">/////w',$content);
                
                if($_POST['cb_Zweck_Privat']=="on")
                    $content = str_replace('val_id="cb_Zweck_Privat">/////2','val_id="cb_Zweck_Privat">/////w',$content);
            
                if($_POST['cb_Zweck_Gewerblich']=="on")
                    $content = str_replace('val_id="cb_Zweck_Gewerblich">/////2','val_id="cb_Zweck_Gewerblich">/////w',$content);
            
                # Überführen der restlichen Formularfelder
                # in ein Daten-Array $data
                $counter=0;
                foreach($_POST as $key=>$value){
                    $data[$counter-1] = $value;
                    
                    #Debug-Informationen über Daten im Array $data[]        
                    echo "[".$counter."]";
                    #print_r($data[$counter-1]);
                    print_r("[".$key."] ");
                    print_r($value);
                    echo "<br/>";
            
                    $counter++;
                }
                 exit();

                # Definition von Search- and Replace-Arrays
                # zur Ersetzung von Sonderzeichen und Umlauten
                # vor dem Schreiben in die XML
                $search = array('Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü', 'ß');
                $replace = array('Ae', 'Oe', 'Ue','ae', 'oe', 'ue', 'ss');
                
                # Iteratives Ersetzen
                for($c=1;$c<11;$c++){
                    $string = str_replace($search, $replace, $data[$c]); 
                    $content = str_replace('#'.($c+30),$string,$content);    
                }
                
                # Erstzulassungsdatum erzeugen und #41 damit ersetzen
                $content = str_replace('#41',$data['11'].".".$data['12'].".".$data['13'],$content);
                
                # Iteratives Ersetzen
                for($c=14;$c<18;$c++){
                    $string = str_replace($search, $replace, $data[$c]);
                    $content = str_replace('#'.($c+30),$string,$content);    
                }
                    
                # PS aus KW berechnen und #56 ersetzen
                $content = str_replace('#56',round($data['16']*1.36,0),$content);    
            
                # Iteratives Ersetzen
                for($c=21;$c<26;$c++){
                    $string = str_replace($search, $replace, $data[$c]);
                    $content = str_replace('#'.($c+30),$string,$content);    
                }    
                
                # aktuelles Datum generieren und #57 ersetzen
                $content = str_replace('#57',date("d.m.Y",time()),$content);
                
                # XML-Datei erzeugen
                $writehandler = fopen("anfrage.xml",'w');
                # Fehlerbehandlung, wenn kein Schreibzugriff auf das Dateisystem
                if(!$writehandler){
                    print("Cannot create file");
                    exit;
                }
                # Fehlerbehandlung, wenn Datei von anderem Prozess verwendet wird
                # und der Inhalt nicht geschrieben werden kann,
                # ansonsten, den Inhalt $content an den writehandler übergeben
                if(!fwrite($writehandler,$content)){
                    print("Cannot write content");
                    exit;
                };
                
                # Datei schließen
                fclose($writehandler);

HTML:
<form name="transmit" id="transmit" method="post" action="#">
    <input type="hidden" name="form_id" value="anfrage" />
    <p style="text-align:center;width:620px">Garantieanfrage<br />von<br />Händler-Nr.:<span style="color:red">*</span><br />
    <input type="text" name="hdnr" id="hdnr" maxlength="13" onkeyup="numbers(this);" value="<?= $_POST['hdnr'] ?>"/></p>
    <div style="font-size:x-small;color:red;"><p>Mit * markierte Felder sind Pflichtfelder</p></div>
    <div id="table" style="width:625px;font-size:small;vertical-align:middle">
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:170px;height:25px">Antragsteller<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:165px;height:25px"><input type="text" name="Antragsteller" id="Antragsteller" maxlength="50" style="width:150px" value="<?= $_POST['Antragsteller'] ?>"/></div>
            <div id="tcell" style="float:left;width:95px;height:25px">Position:</div>
               <div id="tcell" style="float:left;width:185px;height:25px"><input type="text" name="Position" id="Position" maxlength="50" style="width:150px" value="<?= $_POST['Position'] ?>"/></div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:170px;height:25px">Rufnummer für Rückfragen<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:165px;height:25px"><input type="text" name="Telefon" id="Telefon" maxlength="20" style="width:150px" value="<?= $_POST['Telefon'] ?>"/></div>
            <div id="tcell" style="float:left;width:95px;height:25px">E-Mail<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:185px;height:25px"><input type="text" name="Email" id="Email" maxlength="50" style="width:150px" value="<?= $_POST['Email'] ?>"/></div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:170px;height:25px">für nachfolgendes Fahrzeug:</div>
            <div id="tcell" style="float:left;width:260px;height:25px"><input type="checkbox" name="cb_Allrad" id="cb_Allrad" onchange="cartype(this);" <?php if(isset($_POST['cb_Allrad'])) echo 'checked="checked"' ?> /> Allradfahrzeuge(4x4) / Geländewagen<span style="color:red">*</span></div>
            <div id="tcell" style="float:left;width:105px;height:25px"><input type="checkbox" name="cb_Transporter" id="cb_Transporter" onchange="cartype(this);" <?php if(isset($_POST['cb_Transporter'])) echo 'checked="checked"' ?> /> Transporter<span style="color:red">*</span></div>
            <div id="tcell" style="float:left;width:90px;height:25px"><input type="checkbox" name="cb_PKW" id="cb_PKW" onchange="cartype(this);" <?php if(isset($_POST['cb_PKW'])) echo 'checked="checked"' ?> /> 
                PKW<span style="color:red">*</span>    
                </div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:170px;height:25px">Fahrzeughersteller<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:165px;height:25px"><input type="text" name="Hersteller" id="Hersteller" maxlength="50" style="width:150px" value="<?= $_POST['Hersteller'] ?>"/></div>
            <div id="tcell" style="float:left;width:95px;height:25px"><input type="checkbox" name="cb_Schalter" id="cb_Schalter" onchange="drive(this);" <?php if(isset($_POST['cb_Schalter'])) echo 'checked="checked"' ?>/> 
                Schalter<span style="color:red">*</span></div>
            <div id="tcell" style="float:left;width:105px;height:25px"><input type="checkbox" name="cb_Automatik" id="cb_Automatik" onchange="drive(this);" <?php if(isset($_POST['cb_Automatik'])) echo 'checked="checked"' ?>/> 
                Automatik<span style="color:red">*</span></div>
            <div id="tcell" style="float:left;width:90px;height:25px"><input type="checkbox" name="cb_Multitronik" id="cb_Multitronik" onchange="drive(this);" <?php if(isset($_POST['cb_Multitronik'])) echo 'checked="checked"' ?>/> 
                Multitronik<span style="color:red">*</span></div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:170px;height:25px">Typ / Ausführung<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:165px;height:25px"><input type="text" name="Modell" id="Modell" maxlength="50" style="width:150px" tabindex="2" value="<?= $_POST['Modell'] ?>"/></div>
            <div id="tcell" style="float:left;width:95px;height:25px;padding-left:5px">Zylinder<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:25px;height:25px"><input name="Zylinder" id="Zylinder" maxlength="1" style="width:15px" onkeyup="numbers(this);" tabindex="1" value="<?= $_POST['Zylinder'] ?>"/></div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:170px;height:25px">Erstzulassung<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:165px;height:25px">
            <select name="ezl_day" id="ezl_day" style="width:40px">
            <option></option>
            <?php
            for($i=1; $i<32; $i++){
                if($_POST['ezl_day']==$i)
                    echo '<option name="ezl_day" id="ezl_day" value="'.$_POST["ezl_day"].'" selected="selected">'.$_POST["ezl_day"].'</option>';
                else
                    echo '<option name="ezl_day" id="ezl_day" value="'.$i.'">'.$i.'</option>';
            }
            ?>
            </select>.<select name="ezl_month" id="ezl_month" style="width:40px">
            <option></option>
            <?php
            for($i=1; $i<13; $i++){
            if($_POST['ezl_month']==$i)
                    echo '<option name="ezl_month" id="ezl_month" value="'.$_POST["ezl_month"].'" selected="selected">'.$_POST["ezl_month"].'</option>';
                else
                    echo '<option name="ezl_month" id="ezl_month" value="'.$i.'">'.$i.'</option>';
                
            }
            ?>
            </select>.<select name="ezl_year" id="ezl_year" style="width:65px">
            <option></option>
            <?php
            for($i=2009; $i>1990; $i--){
                if($_POST['ezl_year']==$i)
                    echo '<option name="ezl_year" id="ezl_year" value="'.$_POST["ezl_year"].'" selected="selected">'.$_POST["ezl_year"].'</option>';
                else
                    echo '<option name="ezl_year" id="ezl_year" value="'.$i.'">'.$i.'</option>';
                
            }
            ?>
            </select></div>
            <div id="tcell" style="float:left;width:95px;height:25px;padding-left:5px">Laufleistung<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:55px;height:25px"><input type="text" name="Laufleistung" id="Laufleistung" maxlength="6" style="width:50px" onkeyup="numbers(this);" value="<?= $_POST['Laufleistung'] ?>"/></div>
            <div id="tcell" style="float:left;width:30px;height:25px">&nbsp;Km</div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:170px;height:25px">Hubraum<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:125px;height:25px"><input type="text" name="Hubraum" id="Hubraum" maxlength="4" style="width:120px" onkeyup="numbers(this);" value="<?= $_POST['Hubraum'] ?>"/> </div>
               <div id="tcell" style="float:left;width:40px;height:25px">ccm</div>
            <div id="tcell" style="float:left;width:95px;height:25px;padding-left:5px">Leistung:<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:35px;height:25px"><input type="text" name="KW" id="KW" maxlength="3" style="width:30px" onkeyup="numbers(this);" value="<?= $_POST['KW'] ?>"/></div>
            <div id="tcell" style="float:left;width:30px;height:25px">&nbsp;KW</div>
        </div>
        <div id="trow" style="height:25px">
               <div id="tcell" style="float:left;width:170px;height:25px">VK-Preis Brutto<span style="color:red">*</span>:</div>
            <div id="tcell" style="float:left;width:135px;height:25px"><input type="text" name="VK-Preis" id="VK-Preis" maxlength="6" style="width:130px" onkeyup="numbers(this);" value="<?= $_POST['VK-Preis'] ?>"/></div>
               <div id="tcell" style="float:left;width:30px;height:25px">&nbsp;&euro;</div>
            <div id="tcell" style="float:left;width:95px; height:25px;padding-left:5px">Turbolader:<input type="hidden" name="cb_Turbolader_check" id="cb_Turbolader_check" style="width:0px" <?php if(isset($_POST['cb_Turbolader_Ja'])||isset($_POST['cb_Turbolader_Nein'])) echo 'value="true"';?> /></div>
            <div id="tcell" style="float:left;width:85px; height:25px"><input type="checkbox" name="cb_Turbolader_Ja" id="cb_Turbolader_Ja" onchange="uses(this);" <?php if(isset($_POST['cb_Turbolader_Ja'])) echo 'checked="checked"' ?>/> Ja<span style="color:red">*</span></div>
            <div id="tcell" style="float:left;width:84px; height:25px"><input type="checkbox" name="cb_Turbolader_Nein" id="cb_Turbolader_Nein" onchange="uses(this);" <?php if(isset($_POST['cb_Turbolader_Nein'])) echo 'checked="checked"' ?>/> Nein<span style="color:red">*</span></div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:430px;height:25px">Wurde das KFZ zuvor als Miet- oder Fahrschulwagen eingesetzt?</div>
            <div id="tcell" style="float:left;width:85px;height:25px"><input type="checkbox" name="cb_Miet_FS_Ja" id="cb_Miet_FS_Ja" onchange="mission(this);" <?php if(isset($_POST['cb_Miet_FS_Ja'])) echo 'checked="checked"' ?>/> Ja<span style="color:red">*</span></div>
               <div id="tcell" style="float:left;width:95px;height:25px"><input type="checkbox" name="cb_Miet_FS_Nein" id="cb_Miet_FS_Nein" onchange="mission(this);" <?php if(isset($_POST['cb_Miet_FS_Nein'])) echo 'checked="checked"' ?>/> Nein<span style="color:red">*</span></div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:170px;height:25px">Verwendungszweck:</div>
            <div id="tcell" style="float:left;width:260px;height:25px"><input type="text" name="Zweck" id="Zweck" maxlength="50" style="width:150px" value="<?= $_POST['Zweck'] ?>"/></div>
            <div id="tcell" style="float:left;width:85px;height:25px"><input type="checkbox" name="cb_Zweck_Privat" id="cb_Zweck_Privat" onchange="zweck(this);" <?php if(isset($_POST['cb_Zweck_Privat'])) echo 'checked="checked"' ?>/> Privat<span style="color:red">*</span></div>
               <div id="tcell" style="float:left;width:95px;height:25px"><input type="checkbox" name="cb_Zweck_Gewerblich" onchange="zweck(this);" id="cb_Zweck_Gewerblich" <?php if(isset($_POST['cb_Zweck_Gewerblich'])) echo 'checked="checked"' ?>/> Gewerblich<span style="color:red">*</span></div>
        </div>
          <div id="trow" style="height:75px">
            <div id="tcell" style="float:left;width:335px;height:75px">Sonstige Abweichungen von den Annahmerichtlinien:</div>
            <div id="tcell" style="float:left;width:180px;height:75px">
                <textarea name="Abweichungen" id="Abweichungen" rows="3" style="width: 281px"><?= $_POST['Abweichungen'] ?></textarea></div>
        </div>
        <div id="trow" style="height:75px">
            <div id="tcell" style="float:left;width:170px;height:50px">Sonstige Kriterien:</div>
            <div id="tcell" style="float:left;width:180px;height:50px">
                <textarea name="Kriterien" id="Kriterien" rows="2" style="width: 445px"><?= $_POST['Abweichungen'] ?></textarea></div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:250px;height:25px"><input type="text" name="Ort" id="Ort" maxlength="50" style="width:150px" value="<?= $_POST['Ort'] ?>"/>, 
            <?php
            echo date("d.m.Y",time());
            ?>
            </div>
            <div id="tcell" style="float:left;width:120px;height:25px"></div>
            <div id="tcell" style="float:left;width:250px;height:25px;text-align:center"><input type="text" name="Haendler" id="Haendler" maxlength="50" style="width:150px" value="<?= $_POST['Haendler'] ?>"/></div>

        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:250px;height:25px;border-top:thin black solid">Ort, Datum</div>
            <div id="tcell" style="float:left;width:120px;height:25px"></div>
            <div id="tcell" style="float:left;width:250px;height:25px;border-top:thin black solid;text-align:center">Antragsteller/Händler<span style="color:red">*</span></div>
        </div>
        <div id="trow" style="height:25px">
            <div id="tcell" style="float:left;width:620px;height:25px;text-align:center"><input type="submit" name="submit" id="submit" value="Anfrage abschicken" /></div>
        <div>
        <input type="hidden" name="fzType" id="fzType" <?php if(isset($_POST['cb_Allrad'])||isset($_POST['cb_Transporter'])||isset($_POST['cb_PKW'])) echo 'value="true"';?>/>
        <input type="hidden" name="driveType" id="driveType" <?php if(isset($_POST['cb_Schalter'])||isset($_POST['cb_Automatik'])||isset($_POST['cb_Multitronik'])) echo 'value="true"';?>/>  
        <input type="hidden" name="mietType" id="mietType" <?php if(isset($_POST['cb_Miet_FS_Ja'])||isset($_POST['cb_Miet_FS_Nein'])) echo 'value="true"';?>/>
        <input type="hidden" name="zweckType" id="zweckType" <?php if(isset($_POST['cb_Zweck_Privat'])||isset($_POST['cb_Zweck_Gewerblich'])) echo 'value="true"';?>/> 
        </div>
</div>
</div>
</form>

Im Prinzip kann ich auch hergehen, alle Formularfelder mit einem eindeutigen Bezeichner versehen, der in der in Form nicht in der Vorlagendatei auftaucht und dort entsprechend meine "#NUMMER" durch den Feldnamen ersetzen und dann mittels foreach den S&R laufen lassen.
Oder ich schreibe mir für jedes zu ersetzende Element eine eigene S&R Zeile bei der ich explizit dem jeweiligen Feldbezeichner arbeite. Aber das finde ich so unelegant.
 
Was willst du den Durchlaufen lassen?
Außerdem sollte man anstelle von checkboxen lieber radio nehmen
Denn sonst kann man z.b. bei Turboloader beides auswählen und das ergibt keinen sinn.
 
Was willst du den Durchlaufen lassen?
Außerdem sollte man anstelle von checkboxen lieber radio nehmen
Denn sonst kann man z.b. bei Turboloader beides auswählen und das ergibt keinen sinn.

Das betrifft eigentlich alle CheckBoxen, die ergeben alle keinen Sinn, wenn die alle angekreuzt werden, weil so wie ich das sehe sollte zu jedem Punkt eine Antwort gegeben werden können und nicht mehrere...
 
Im Prinzip will ich eigentlich nur Steuern welche Felder zuerst in $_POST geschrieben werden. Alles Andere funktioniert soweit wie es soll. Das ist auch nicht das Thema. Um das jetzt mal abzukürzen: Ist das möglich dass ich das beeinflussen kann in welcher Reihenfolge die Felder in $_POST geschrieben werden oder nicht ? (Mehr wollte ich eigentlich gar nicht wissen)

Was die Radio-Checkbuttons betrifft: In meinem Fall kann man es nicht, da ich ne JS-Funktion geschrieben hab, die mir die Funktionalität liefert wie es ein Radio-Button tut.

Das betrifft eigentlich alle CheckBoxen, die ergeben alle keinen Sinn, wenn die alle angekreuzt werden, weil so wie ich das sehe sollte zu jedem Punkt eine Antwort gegeben werden können und nicht mehrere...

Fast richtig. Außer bei Zweck. Da kann das Fahrzeug sowohl PRIVAT als auch GEWERBLICH genutzt werden.
 
Zuletzt bearbeitet:
Im Prinzip will ich eigentlich nur Steuern welche Felder zuerst in $_POST geschrieben werden. Alles Andere funktioniert soweit wie es soll.

Was die Radio-Checkbuttons betrifft: In meinem Fall kann man es nicht, da ich ne JS-Funktion geschrieben hab, die mir die Funktionalität liefert wie es ein Radio-Button tut.

Naja was ist wenn der user kein JS benutz oder er die Daten nach den Abschicken z.b. mit der firefox Erweiterung Tamper Data bearbeitet.
Und du könntes es höchsten dadurch steuern das die Felder anders geordnet werden oder man den Request mit AJAX absendet.
 
Zuletzt bearbeitet:
Zurück