Auswahlliste + PHP

möp

Erfahrenes Mitglied
Hallo,

ich hab ein Problem mit einem Emailformular.
Ich habe eine Auswahlliste mit 7 Möglichkeiten und Mehrfachauswahl.

Jetzt wird immer nur der Letzte Wert in meine Email geschrieben.
Ich weis das ich das irgendwie mit "isset" überprüfen muss hab aber keine Ahnung wie.

Hoffe ihr könnt mir helfen.

mfg
möp
 
Hast du der Auswahlliste auch einen Namen à la select[] gegeben ? Also mit den Arrayklammern [] ?

PS: Mit ein wenig Code, könnte man das ganze evtl. schneller lösen, also lass mal sehen ;)
 
sorry hab ich wohl übersehn - war keine Absicht.
Aber ich versteh es trotzdem nicht.
PHP:
mail("$to", "$subject von Homepage DMBaustoffe.de", "$name sendete Ihnen eine Nachricht am $datum.\n\n
Name--------------------->$name\n
Firma-------------------->$firma\n
Straße------------------->$strasse\n
Ort---------------------->$ort\n
Telefon------------------>$phone\n
Callback-Service--------->$callback\n
Katalog------------------>$katalog\n
Handwerkervermittlung---->$hand_ver
Ich brauche den Handwerker am $h_date\n
Nachricht---------------->$message\n\n\n
Danke $name","From: $from\n");
das ist die Ausgabe in der Mail
PHP:
<select name="hand_ver[]" size="7" multiple>
              <option name="fliesen" value="Ich benötige einen Fliesenleger.">Fliesen----------&gt;Fliesenleger</option>
              <option name="farben" value="Ich benötige einen Maler.">Farben----------&gt;Maler</option>
              <option name="baustoffe" value="Ich benötige einen Maurer oder Trockenbauer.">Baustoffe-------&gt;Maurer, 
              Trockenbauer</option>
              <option name="garten" value="Ich benötige einen Landschaftsgärtner.">Garten-----------&gt;Landschaftsg&auml;rtner</option>
              <option name="bad" value="Ich benötige einen Klemptner.">Bad u. WC-----&gt;Klemtner</option>
              <option name="bau" value="Ich benötige einen Schreiner oder Schlosser.">Bauelemente-&gt;Schreiner, 
              Schlo&szlig;er</option>
              <option name="eisen" value="Ich benötige einen Schlosser.">Eisenwaren----&gt;Schlo&szlig;er</option>
            </select>

das ist das Auswahlfeld...

Bitte erklärt es idiotensicher :) ich versteh es wirklich nicht :(

mfg
möp
 
Hmm... Wenn du statt der zu erwartenden Ausgabe einfach nur "Array" bekommst, dann versuch mal das:
PHP:
mail("$to", "$subject von Homepage DMBaustoffe.de", "$name sendete Ihnen eine Nachricht am $datum.\n\n
Name--------------------->$name\n
Firma-------------------->$firma\n
Straße------------------->$strasse\n
Ort---------------------->$ort\n
Telefon------------------>$phone\n
Callback-Service--------->$callback\n
Katalog------------------>$katalog\n
Handwerkervermittlung---->".implode(', ',$hand_ver)."
Ich brauche den Handwerker am $h_date\n
Nachricht---------------->$message\n\n\n
Danke $name","From: $from\n");

// Nachtrag:
register_globals sind aus, oder?
 
Ein kleines Beispiel, vielleicht hilft`s dir ja was:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
        <title>Multiple Select</title>
    </head>
    <body>
        <h1>Multiple Select</h1>
        <?php
        if (isset($_POST['Field'])) {
            ?><ul><?php
            foreach($_POST['Field'] as $sEntry) {
                printf("<li>%s</li>\r\n", $sEntry);
            }
            ?>
            </ul>
            <br><br>
            <a href="<?php echo $_SERVER['PHP_SELF']; ?>">zur&uuml;ck</a>
            <?php
        } else {
            ?>
            <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
                <select name="Field[]" multiple="multiple" size="5">
                    <option value="Wert 1">Wert 1</option>
                    <option value="Wert 2">Wert 2</option>
                    <option value="Wert 3">Wert 3</option>
                    <option value="Wert 4">Wert 4</option>
                </select>
                <br><br>
                <input type="submit" value=" Weiter ">
            </form>
            <?php
        }
        ?>
    </body>
</html>
 
Und das liegt im konkreten daran, dass ein <option> kein name Attribut besitzt, das man ansteuern könnte. Deshalb wird alles dem name des übergeordneten <select> übergeben und wenn dieser ein Array ist, z.B. uebergabe[], dann kann man danach über die numerischen indizes 0 bis n-1 die Inhalte ansteuern.

Damit wäre dieses Mysterium auch aus der Welt geschafft ;)
 
danke noch für die Erklärung.

Hab grad gesehen, wenn ich nix auswähle bekomm ich diese Fehlermeldung:
Warning: implode(): Bad arguments. in /home/www/web531/html/mn/submit.php3 on line 37

kann mann das ändern?

//Edit: habs schon, hab einfach 2 vorselektierte "ich will nix" einträge gemacht
 
Zuletzt bearbeitet:
Zurück