Anzeige

Formulareingaben werden nicht vollständig übergeben

Formulareingaben werden nicht vollständig übergeben | PSD-Tutorials.de

Erstellt von Biernase, 18.08.2010.

  1. Biernase

    Biernase Nicht mehr ganz neu hier

    Dabei seit:
    16.10.2005
    Beiträge:
    174
    Geschlecht:
    männlich
    Formulareingaben werden nicht vollständig übergeben
    Ich habe ein auf HTML basierendes Formular geschrieben. Die Eingaben werden an ein PHP-Script übergeben, welches die Eingaben dem Nutzer noch einmal in einer Zusammenfassung anzeigt und als E-Mail versendet.

    Im Grunde funktioniert das auch alles - zumindest bei statischen Eingaben. Das Formular verfügt auch über ein Auswahlfeld, welches das Selektieren mehrerer Auswahlpunkte zuläßt. Leider wird bei einer Mehrfachselektion nur eine Auswahl (die als letzes ausgewählt wurde) übergeben.

    Der Code des Auswahlfeldes:
    Code (Text):
    1. <select name="serviceleistung" size="2" multiple>
    2.               <option selected>Leistung 1</option>
    3.               <option>Leistung 2</option>
    4.               <option>Leistung 3</option>
    5.               <option>Leistung 4</option>
    6.               <option>Leistung 5</option>
    7. </select>
    Die Auswahl wird mittels $s_leistung = $_POST['serviceleistung']; an das PHP-Script übergeben, dort über "Selektierte Leistungen: $s_leistung\n\n" . in eine E-Mail integriert und durch echo '<b>Ihre gew&auml;hlte(n) Leistung(en):</b> ' . $s_leistung . ''; als Teil einer Zusammenfassung auf dem Bildschirm ausgegeben.
     
    #1      
  2. Formulareingaben werden nicht vollständig übergeben
    #2      
  3. owieortho

    owieortho Aktives Mitglied

    Dabei seit:
    25.06.2010
    Beiträge:
    620
    Geschlecht:
    männlich
    Ort:
    9.8241,51.3515
    Software:
    PS CS5, HomeSite
    Kameratyp:
    Casio EX-FH20
    Formulareingaben werden nicht vollständig übergeben
    AW: Formulareingaben werden nicht vollständig übergeben

    Schon mal probiert, was angenommen wird, wenn Du den options einen value gibst?
     
    #3      
  4. SvenBrnn

    SvenBrnn Noch nicht viel geschrieben

    Dabei seit:
    16.02.2010
    Beiträge:
    9
    Geschlecht:
    männlich
    Software:
    Netbeans, PSPad, Photoshop
    Formulareingaben werden nicht vollständig übergeben
    Zuletzt bearbeitet: 18.08.2010
    #4      
  5. Biernase

    Biernase Nicht mehr ganz neu hier

    Dabei seit:
    16.10.2005
    Beiträge:
    174
    Geschlecht:
    männlich
    Formulareingaben werden nicht vollständig übergeben
    AW: Formulareingaben werden nicht vollständig übergeben

    Danke erstmal. Ich habe mir eure Links angesehen. Der Code lautet nun wie folgt.

    Formular:
    Code (Text):
    1. <select name="serviceleistung[]" size="2" multiple>
    2.               <option value="1" selected>Leistung 1</option>
    3.               <option value="2">Leistung 2</option>
    4.               <option value="3">Leistung 3</option>
    5.               <option value="4">Leistung 4</option>
    6.               <option value="5">Leistung 5</option>
    7.             </select>
    Datenübergabe an PHP:
    Code (Text):
    1. $s_leistung = $_POST['serviceleistung'];
    2.   if ($s_leistung)
    3.     {foreach ($s_leistung as $t);}
    Ausgabe am Bildschirm:
    Code (Text):
    1. echo '<b>Ihre gew&auml;hlte(n) Leistung(en):</b> ' . $s_leistung;
    Sowohl in der Zusammenfassung als auch in der E-Mail wird anstatt der selektierten Optionen Array ausgegeben. Habt ihr eine Idee?
     
    #5      
  6. MrAzrael

    MrAzrael Nicht mehr ganz neu hier

    Dabei seit:
    28.05.2010
    Beiträge:
    60
    Geschlecht:
    männlich
    Ort:
    Somewhere in Germany
    Software:
    Texteditoren oder CS4
    Formulareingaben werden nicht vollständig übergeben
    AW: Formulareingaben werden nicht vollständig übergeben

     
    #6      
  7. Biernase

    Biernase Nicht mehr ganz neu hier

    Dabei seit:
    16.10.2005
    Beiträge:
    174
    Geschlecht:
    männlich
    Formulareingaben werden nicht vollständig übergeben
    AW: Formulareingaben werden nicht vollständig übergeben

    Dann erscheint am Bildschirm

    Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes) in <... File ....php> on line 13

    Code (Text):
    1. if(isset($_POST['serviceleistung']) && ($_POST['serviceleistung']!='')){
    2.    $s_leistung=array();
    3.    for($i=0;$i<$_POST['serviceleistung'];$i++){
    4.       [b][u]$s_leistung[$i] = $_POST['serviceleistung'];[/u][/b]
    5.    }
    6.   }
    (Zeile 13 ist fett markiert)
     
    #7      
  8. MrAzrael

    MrAzrael Nicht mehr ganz neu hier

    Dabei seit:
    28.05.2010
    Beiträge:
    60
    Geschlecht:
    männlich
    Ort:
    Somewhere in Germany
    Software:
    Texteditoren oder CS4
    Formulareingaben werden nicht vollständig übergeben
    AW: Formulareingaben werden nicht vollständig übergeben

    mein Fehler ... diesmal getestet
     
    #8      
  9. Biernase

    Biernase Nicht mehr ganz neu hier

    Dabei seit:
    16.10.2005
    Beiträge:
    174
    Geschlecht:
    männlich
    Formulareingaben werden nicht vollständig übergeben
    AW: Formulareingaben werden nicht vollständig übergeben

    Der Fehler erscheint nicht mehr. Nun wird wieder Array anstatt des Wertes der Variablen $s_leistung ausgegeben.
     
    #9      
  10. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Formulareingaben werden nicht vollständig übergeben
    AW: Formulareingaben werden nicht vollständig übergeben

    Hi,

    wenn man nicht weis, wie man die Werte gelangt, welche mit einem Formular übergeben wurden, dann nimmt man folgendes als Ansatz:

    PHP:
    1.  
    2. <?php
    3. foreach($_POST as $k => $v) {
    4.  if(is_array($v)) {
    5.   echo '<pre>'; print_r($v); echo '</pre>';
    6.  }
    7. }
    8. ?>
    9.  
    und damit man nicht in die Verlegenheit gerät, eine ewig laufende Schleife zu generieren, wählt man while oder foreach zur Verarbeitung. Alternativ würde sich für die for-Schleife ein vorheriger count() auf die Anzahl der Elemente eines Array's, um diesen Wert als max.-Parameter in die for-Schleife zu übergeben ;)
     
    #10      
  11. MrAzrael

    MrAzrael Nicht mehr ganz neu hier

    Dabei seit:
    28.05.2010
    Beiträge:
    60
    Geschlecht:
    männlich
    Ort:
    Somewhere in Germany
    Software:
    Texteditoren oder CS4
    Formulareingaben werden nicht vollständig übergeben
    AW: Formulareingaben werden nicht vollständig übergeben

    Das Array ist die Sammlung der einzelnen Werte, um die einen einzelnen Wert anzeigen zu lassen musst du die Nummer des Wertes in der [] angeben, dabei fängt das Array immer bei 0 an, es sei denn das wurde anders festgelegt

    $s_leistung[0] bis $s_leistung[4] = das zeigt dann die entsprechenden Werte
     
    #11      
x
×
×