tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
184
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Spelmann
    Spelmann Spelmann ist offline Mitglied Brokat
    Registriert seit
    Jul 2005
    Ort
    Nähe Bremen
    Beiträge
    303
    Hallo, ich hatte schon lange kein Problem mehr, das ich nicht selber lösen konnte. Nun ist es mal wieder so weit.

    Ich habe ein HTML Formular, in dem immer wiederholend folgende Felder enthalten sind :
    HTML-Code:
    
    <input name="kurs[]" type="checkbox" value="Kurs soundso" />
    <input name="preis[]" type="hidden" value="6" />
    <select name="anzahl[]">
     <option value="1">1 Person</option>
     <option value="2">2 Personen</option>
    </select>
    Diese Daten wollte ich nun per PHP auslesen:

    PHP-Code:
    meineschleife{
    echo 
    $_POST['anzahl'][$i];
    echo 
    $_POST['kurs'][$i];
    echo 
    $_POST['preis'][$i];

    Das Problem ist nur, dass kurs[] gar nicht ins Array aufgenommen wird, wenn die Checkbox nicht angehakt wurde.
    Dadurch kommt es zu einem Versatz.
    Hake ich den zweiten Eintrag in meinem Formular an, wird er als kurs[0] ausgegeben.
    Die dazugehörige Personenzahl ist dann aber schon anzahl[1] weil ja auch das erste Feld anzah[], im Gegensatz zu Checkbox definitiv einen Wert hat.

    Ich habe dann folgendes versucht:
    PHP-Code:
    meineschleife{
    if(
    $_POST['kurs'][$i]){
    echo 
    $_POST['anzahl'][$i];
    echo 
    $_POST['kurs'][$i];
    echo 
    $_POST['preis'][$i];
    }else{
    unset(
    $_POST['preis'][$i]);
    unset(
    $_POST['anzahl'][$i]);

    Das funktioniert aber nicht.
    Hat jemand eine Idee?
    Geändert von Spelmann (27.06.09 um 20:08 Uhr) Grund: Rechtschreibung
     

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    Zitat Zitat von Spelmann Beitrag anzeigen
    Hat jemand eine Idee?
    Verwende als Namen nicht kurs[], sondern explizit kurs[0], kurs[1] etc. Eine Alternative wäre die Verwendung eines versteckten Formularfeldes, aber dann wird die Auswertung des Formulars unnötig komplizierter.

    Grüße, Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  3. #3
    Avatar von Spelmann
    Spelmann Spelmann ist offline Mitglied Brokat
    Registriert seit
    Jul 2005
    Ort
    Nähe Bremen
    Beiträge
    303
    Hatte ich erst so. Dann dachte ich, HTML kennt das so nicht. (Fand auch in Foren Hinweise auf die andere Schreibweise)
    Jedenfalls lag beim ersten Versuch der Fehler wohl woanders.
    Die Hauptsache ist, ES FUNKTIONIERT wie von Dir beschrieben.
    Vielen Dank und noch ein schönes Wochende
     

Ähnliche Themen

  1. Array-differenz bestimmen
    Von ala im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 3
    Letzter Beitrag: 23.04.10, 11:19
  2. Problem mit String und einem Array
    Von freihsve im Forum PHP
    Antworten: 9
    Letzter Beitrag: 27.09.06, 09:45
  3. vertracktes Problem mit Pfad bei fopen
    Von Spelmann im Forum PHP
    Antworten: 9
    Letzter Beitrag: 24.07.06, 16:45
  4. Problem mit einem Array
    Von aleks im Forum PHP
    Antworten: 3
    Letzter Beitrag: 23.04.06, 18:35
  5. vertracktes xsl namespace Problem
    Von Inspector im Forum XML Technologien
    Antworten: 0
    Letzter Beitrag: 01.09.05, 07:55