markus: empfangene werte zerlegen und verteilen

Grüsse Euch alle Miteinander und Frohe Feiertage

mein Zerlegungsproblem im folgenden....
ich bin absoluter newbie

F O R M U L A R mit 3 Werten auf einen Klick
SELECT NAME="Einzel_zu30" SIZE="1">
<OPTION VALUE="2 Einzel zu  30,-;EZ30;2">2</option>
.
.
.
</SELECT>
PS: Im Select nur 1x 'name'

Auf dem Server

<?
$meine_Vars = explode(";", $_POST["Einzel_zu30"] );
print_r( $meine_Vars );
?>
F R A G E
was gehört in Meine _Vars und
wie erhalte ich jetzt die einzelnen Werte

BITTE UMSCHREIBEN UND REINKOPIEREN

Wert1 $1_Einzel_zu30=1 Einzel zu 30   fFür Rückmail Gast und Master

Wert2 $Kategorie=EZ30                 Für Hotelsoftware

Wert3 $Anzahl=1                       nochmal für Hotelsoftware

vieklen Dank Leute im Voraus

  1. Hello,

    <SELECT NAME="zimmerauswahl" SIZE="1">
       <OPTION VALUE="1">Hängematte zu  10,-Euro</option>
       <OPTION VALUE="2">Einzelzimmer zu  30,-Euro</option>
       <OPTION VALUE="3">Doppelzimmer zu  50,-Euro</option>
       <OPTION VALUE="4">Schlafsaal mit Läsen</option>
     </SELECT>

    <?php

    $_zimmerauswahl = array(0=>array("bez"   => "keine Auswahl",
                                      "preis" => 00,00,
                                      "code"  => ""),
                             1=>array("bez"   => "Hängematte",
                                      "preis" => 10,00,
                                      "code"  => "HM10"),
                             2=>array("bez"   => "Einzelzimmer",
                                      "preis" => 30,00,
                                      "code"  => "ET30"),
                             3=>array("bez"   => "Doppelzimmer",
                                      "preis" => 50,00,
                                      "code"  => "DZ50"),
                             4=>array("bez"   => "Schlafsaal",
                                      "preis" => 10,00,
                                      "code"  => "SS10"));

    $auswahl = intval($_POST["zimmerauswahl"));

    if(!inarray($auswahl,$_zimmerauswahl))
      {
        $auswahl = 0;
      }
      $_daten = $_zimmerauswahl[$auswahl);

    echo "<pre>";
      print_r($_daten);
      echo "</pre>";

    ?>

    Da Du ja weißt, welche Werte Du dem Client zur Auswahl stellst, brauchst Du sie auch nicht wirklich dort als hidden-value hinzuschiscken, sondern nur einen Schlüssel.

    Für den User ist sowieso nur der Klartext interessant, der zur Anzeige kommt.

    Und wenn Du das nächste Mal Codefragmente postest, dann gib Dir bitte etwas Mühe dabei, dass man das auch lesen kann und Syntax und Semantik auch brauchbar sind. Du möchtest es ja schließlich mundgerecht aufbereitet wieder haben; wir hätten die Frage gerne ebenso sauber formuliert...

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Hy Hy Tom zuerst vielen dank das ist echt

      geil von dir so stellte ich mir das vor

      nur leider bekomme ich diese ausgabe

      Parse error: parse error, expecting `']'' in /homepages/0/d62543500/htdocs/wsc62543579/mailtexths3.php on line 270

    2. Hello,

      Hello,

      <SELECT NAME="zimmerauswahl" SIZE="1">
         <OPTION VALUE="1">Hängematte zu  10,-Euro</option>
         <OPTION VALUE="2">Einzelzimmer zu  30,-Euro</option>
         <OPTION VALUE="3">Doppelzimmer zu  50,-Euro</option>
         <OPTION VALUE="4">Schlafsaal mit Läsen</option>
       </SELECT>

      <?php

      $_zimmerauswahl = array(0=>array("bez"   => "keine Auswahl",
                                        "preis" => 00,00,
                                        "code"  => ""),
                               1=>array("bez"   => "Hängematte",
                                        "preis" => 10,00,
                                        "code"  => "HM10"),
                               2=>array("bez"   => "Einzelzimmer",
                                        "preis" => 30,00,
                                        "code"  => "ET30"),
                               3=>array("bez"   => "Doppelzimmer",
                                        "preis" => 50,00,
                                        "code"  => "DZ50"),
                               4=>array("bez"   => "Schlafsaal",
                                        "preis" => 10,00,
                                        "code"  => "SS10"));

      $auswahl = intval($_POST["zimmerauswahl"]));

      if(!inarray($auswahl,$_zimmerauswahl))
        {
          $auswahl = 0;
        }
        $_daten = $_zimmerauswahl[$auswahl]);

      echo "<pre>";
        print_r($_daten);
        echo "</pre>";

      ?>

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. Danke Tom,

        aber er gibt mir leider wieder einen fehler aus
        ich habe das ganze 1 zu 1 kopiert

        oliver

        1. Hello,

          aber er gibt mir leider wieder einen fehler aus
          ich habe das ganze 1 zu 1 kopiert

          Na, da fehlen doch noch ein paar Teile...

          Und raten kann ich auch nicht, was wohl falsch sein könnte. Dazu müsstest Du schon die exakte Fehlermeldung und dei betroffenen Zeilen (immer besser ein/zwei mehr rund um den Fehler) posten.

          Hatte ich Dir aber vorhin schon mal geschreiben, dass Du Dir auch bei der Definition Deiner Wünsche bzw. der Beschreibung der Fehler etwas mühe geben solltest. Sonst wird hier niemand lange Lust haben, Dir zu helfen und das wäre doch ein Verlust. ;-)

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          1. Hy tom ich habe das jetzt besser beschrieben

            Der Sinn ist ich brauche die Ausgabe von 3 Werten

            <SELECT NAME="zimmerauswahl" SIZE="1">
               <OPTION VALUE="" SELECTED>-
               <OPTION VALUE="1">1 Einzel zu 30</option>
               <OPTION VALUE="2">2 Einzel zu 30</option>
               <OPTION VALUE="3">3 Einzel zu 30</option>
               <OPTION VALUE="4">4 Einzel zu 30</option>
             </SELECT>

            1<?php
            2
            3$_zimmerauswahl = array(0=>array("bez"   => "keine Auswahl",
            4                                 "preis" => 0,
            5                                 "code"  => ""),
            6                        1=>array("bez"   => "1 Einzel zu 30",
            7                                 "anzah" =>  1,
            8                                 "code"  => "EZ30"),
            9                        2=>array("bez"   => "2 Einzel zu 30",
            10                                "anzah" =>  2,
            11                                "code"  => "EZ30"),
            12                       3=>array("bez"   => "3 Einzel zu 30",
            13                                "anzah" =>  3,
            14                                "code"  => "EZ30"),
            15                       4=>array("bez"   => "4 Einzel zu 30",
            16                                "anzah" =>  4,
            17                                "code"  => "EZ30"));
            18
            19  $auswahl = intval($_POST["zimmerauswahl"]));
            20
            21  if(!inarray($auswahl,$_zimmerauswahl)
            22  {
            23    $auswahl = 0;
            24  }
            25  $_daten = $_zimmerauswahl[$auswahl]));
            26
            27  echo "<pre>";
            28  print_r($_daten);
            29  echo "</pre>";
            30
            31?>

            leider stimmt an dem skribt was nicht
            Parse error: parse error in /homep./0/d63600/htdocs/wsc62529/mailtexths3.php on line 19
            ------------------------------------------------------------------------------------------------
            und diese werte brauche ich ganz dringen

            und wie bekomme ich die einzelnd raus und
            mit welchen kürzel setze ich die hier ein

            bez = 1 Einzel zu 30 \n             Für Rückmail Gast und Master

            CATEGORY01 = EZ30 \n                Für Hotelsoftware

            CATCOUNT01 = $Anzah=1 \n            nochmal für Hotelsoftware

            um es an hier zu vergeben

            bez = 1 Einzel zu 30\n
            CATEGORY01 = Ez30\n
            CATCOUNT01 = 1 \n

            und so soll es ausehen
            <img src="http://www.web-lounge-cafe.com/ziform.jpg" border="0" alt="">

            Bitte um Hilfe am 01.01.2004 muß das ding stehen
            Markus

            1. Hello Markus,

              den Grund für den Parse Error habe ich gefunden. Da war eine runde Klammer zuviel.

              Nun kann man sich auch ungefähr vorstellen, was Du vorhast.
              Als User würde mich das aber immer noch verwirren. Wie ist der linke Selektor gemeint? Soll man da auswählen, wieviele Betten das gewünschte Zimmer haben soll? Dann könnte man den Benutzern auch zutrauen, selber eine Zahl zwischen 1 und 4 einschließlich einzutragen.

              Was ist nun, wenn jemand in einer Bestellung mehrere Zimmer buchen will?

              Oder ist das Bild so zu verstehen, dass jedes mögliche Zimmer einen solche Selektbox erhält, ich die bei den Zweibett-/Dreibettzimmern nur nicht shen kann, weil die obere gerade aufgeklappt ist?

              Dann nehm ich's zurück mit dem "unverständlich". Dann würden mir nur die Preise für die Mehrbettzimmer fehlen.

              Schau Dir nochmal http://selfhtml.teamone.de/html/formulare/auswahl.htm#listen_absendewert an.

              Da ist das mit dem Absendewert beschrieben. Der Absendewert sollte dann wie beschrieben auf dem Server zu einer Datenauswahl kommen. Wie auch immer, muss man dann nur realisieren, dass keine ungültigen Werte eingetragen werden können. Außerdem sollte man dem Kunden die gewählten Werte auch anzeigen (selected-Option der Select-Box), wenn man die Seite nochmals anzeigt.

              Das ganze sieht mir doch für einen "Newbie" größer aus, als gut ist. Für den Fall, dass Du weitergehende Hilfe benötigst, schreib eine eMail.

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              1. Hy tom vielen vielen dank

                dein skribt stimmt jetzt
                <?php

                $_zimmerauswahl = array(0=>array("bez"   => "keine Auswahl",
                                                 "anzah" =>  0,
                                                 "code"  => ""),
                                        1=>array("bez"   => "1 Einzel zu 30",
                                                 "anzah" =>  1,
                                                 "code"  => "EZ30"),
                                        2=>array("bez"   => "2 Einzel zu 30",
                                                 "anzah" =>  2,
                                                 "code"  => "EZ30"),
                                        3=>array("bez"   => "3 Einzel zu 30",
                                                 "anzah" =>  3,
                                                 "code"  => "EZ30"),
                                        4=>array("bez"   => "4 Einzel zu 30",
                                                 "anzah" =>  4,
                                                 "code"  => "EZ30"));

                $auswahl = intval($_POST["zimmerauswahl"]);

                if(in_array($auswahl,$_zimmerauswahl))
                  {
                    $auswahl = 0;
                  }
                  $_daten = $_zimmerauswahl[$auswahl];

                echo "<pre>";
                  print_r($_daten);
                  echo "</pre>";

                ?>

                Raus bekomme ich das jetzt so direkt zurück

                Array
                (
                    [bez] => 1 Einzel zu 30
                    [anzah] => 1
                    [code] => EZ30
                )
                das ist super und

                ich brauche aber in der direkt Ausgabe an den User
                nur 1 Einzel zu 30

                und an die mail für die Hotelsoftware

                anzahl = 1
                Category = EZ30
                und an die mail2 an mich auch 1 Einzel zu 30

                1. Hello,

                  Hy tom vielen vielen dank

                  dein skribt stimmt jetzt

                  Raus bekomme ich das jetzt so direkt zurück

                  Array
                  (
                      [bez] => 1 Einzel zu 30
                      [anzah] => 1
                      [code] => EZ30
                  )
                  das ist super und

                  ich brauche aber in der direkt Ausgabe an den User
                  nur 1 Einzel zu 30

                  und an die mail für die Hotelsoftware

                  anzahl = 1
                  Category = EZ30
                  und an die mail2 an mich auch 1 Einzel zu 30

                  Die passende Werte für die Serverseite musst du nun nur ins Array einsetzen und dann in das HTML-Formualar nur die passenden Ausgabe für den

                  User zwischen   .. "1">  </option>
                                         ^^
                  die Option-Tags setzen.

                  Verbunden wird das Ganze über den Value.

                  Aber was ist das für eine Seite? http://www.pension-goethe.de Wer hat die Seite gebaut? Was haben die da mit dem Browser veranstaltet, dass er keine Bilder mehr speichert? Ich schau mir sowas immer etwas genauer an. Wo bleiben dei Mime-Types der Bilder? Das sieht aber nicht nach Newbie aus!

                  Aber das krieg ich auch noch raus ;-))

                  Liebe Grüße aus http://www.braunschweig.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  1. Ich habe

                    die mit einen website crator gemacht und dann umgebastelt alles kopiert und geschnitten

                    alles check ich nicht da drin und zu langsam ist sie auch

                    aber wie vergebe ich die werte im arry

                    das check ich gar nicht User zwischen   .. "1">  </option>

                    bitte schreib mir ein bsp

                    und was sind mime types und Bilderschutz zub standort habe ich selbst gemacht ich glaube nicht das das geschütz ist

                    gruß markus

                    1. Hello,

                      aber wie vergebe ich die werte im arry
                      das check ich gar nicht User zwischen   .. "1">  </option>

                      und was sind mime types und Bilderschutz zub standort habe ich selbst gemacht ich glaube nicht das das geschütz ist

                      Ich habe das nur beim Telefonmännchen gemerkt. Eigensschaften des Bildes wurden zwar in meinem IE5.5 angezeigt, aber keine Größe; der Speichern-Unter Diaolg hat nur bmp angeboten, obwohl das Männchen ja eine Animated Gif ist. Ich wollte wissen, wieso das so lange lädt. Bei der Zeitung dann das gleiche. Vielleicht hängt das mit dem Bilder-Preload vom Menu zusammen. Ich werde das mal versuchen zu analysieren, wenn ich Zeit habe. Ich brüte hier immer noch über meinen Datenbank-Frontend-Createor-Funktionen. Sozusagen ein Baukasten für den Aufbeu eigener _verschiedener_ PHPAdmins...

                      Zum Thema:
                      Du musst Dir unbedingt die Seite in SelfHTML anschauen, auf der die Selects erklärt werden!

                      Das <select> darf nur EIN Name-Attribut haben, und das sollte für das ganze Form eindeutig sein. Bei Single-Selects reicht ein Skalar als Name, bei Multiple-Selects benötigt PHP ein Array.

                      Der Value braucht nicht den String für die Weiterverarbeitung enthalten, sondern nur einen Code (0,1,2,3,4,...), da die Umsetzung in die Weiterverarbeitungswerte durch das Array im Script besorgt wird.

                      Der Anzeigewert für den Benutzer der Seite sollte dann natürlich HTML-codierter Klartext sein. bei (-,1,2,3,4) ist das ja kein Problem.

                      Value aus dem <Select> +
                                                |
                                                v
                        $_zimmerauswahl = array(0=>array("bez"   => "keine Auswahl",
                                                         "preis" => 00.00,
                                                         "code"  => ""),
                                                1=>array("bez"   => "Hängematte",
                                                         "preis" => 10.00,
                                                         "code"  => "HM10"),
                                                2=>array("bez"   => "Einzelzimmer",
                                                         "preis" => 30.00,
                                                         "code"  => "ET30"),
                                                3=>array("bez"   => "Doppelzimmer",
                                                         "preis" => 50.00,
                                                         "code"  => "DZ50"),
                                                4=>array("bez"   => "Schlafsaal",
                                                         "preis" => 10.00,
                                                         "code"  => "SS10"));

                      Was im HTML-Formular angezeigt wird, "weiß" das Array hier gar nicht.

                      Liebe Grüße aus http://www.braunschweig.de

                      Tom

                      --
                      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                      1. die Lösung 1 Klick 3 Werte

                        Das Formular

                        <SELECT NAME="Einzel_zu30" SIZE="1">
                        <OPTION VALUE="" SELECTED>-
                        <OPTION VALUE="1 Einzel zu  30,-;EZ30;1">1
                        <OPTION VALUE="2 Einzel zu  30,-;EZ30;2">2
                        <OPTION VALUE="3 Einzel zu  30,-;EZ30;3">3
                        <OPTION VALUE="4 Einzel zu  30,-;EZ30;4">4
                        </SELECT>

                        <SELECT NAME="Einzel_zu40" SIZE="1">
                        <OPTION VALUE="" SELECTED>-
                        <OPTION VALUE="1 Einzel zu  40,-;EZ40;1">1
                        <OPTION VALUE="2 Einzel zu  40,-;EZ40;2">2
                        <OPTION VALUE="3 Einzel zu  40,-;EZ40;3">3
                        <OPTION VALUE="4 Einzel zu  40,-;EZ40;4">4
                        <OPTION VALUE="5 Einzel zu  40,-;EZ40;4">5
                        <OPTION VALUE="6 Einzel zu  40,-;EZ40;4">6
                        </SELECT>

                        usw...
                        --------------------------------------------------------------------------------
                        der Empfang

                        list($rueckmail_zu30,$kategorie_zu30,$anzahl_zu30) = explode(";",$Einzel_zu30);
                        list($rueckmail_zu40,$kategorie_zu40,$anzahl_zu40) = explode(";",$Einzel_zu40);
                        list($rueckmail_DZ,$kategorie_DZ,$anzahl_DZ) = explode(";",$Doppel_zimmer);
                        list($rueckmail_3BZ,$kategorie_3BZ,$anzahl_3BZ) = explode(";",$Dreibett_zimmer);
                        list($rueckmail_4BZ,$kategorie_4BZ,$anzahl_4BZ) = explode(";",$Vierbettzimmer);
                        list($rueckmail_MZ,$kategorie_MZ,$anzahl_Mz) = explode(";",$Mehrbettzimmer);
                        ----------------------------------------------------------------------------------
                        die Ausgaben

                        $rueckmail_zu30      $kategorie_zu30        $anzahl_zu30
                        $rueckmail_zu40      $kategorie_zu40        $anzahl_zu40
                        $rueckmail_DZ        $kategorie_DZ          $anzahl_DZ
                        $rueckmail_3BZ       $kategorie_3BZ         $anzahl_3BZ
                        $rueckmail_4BZ       $kategorie_4BZ         $anzahl_4BZ
                        $rueckmail_MZ        $kategorie_MZ          $anzahl_Mz

      2. Hello,

        $_zimmerauswahl = array(0=>array("bez"   => "keine Auswahl",
                                           "preis" => 00.00,
                                           "code"  => ""),
                                  1=>array("bez"   => "Hängematte",
                                           "preis" => 10.00,
                                           "code"  => "HM10"),
                                  2=>array("bez"   => "Einzelzimmer",
                                           "preis" => 30.00,
                                           "code"  => "ET30"),
                                  3=>array("bez"   => "Doppelzimmer",
                                           "preis" => 50.00,
                                           "code"  => "DZ50"),
                                  4=>array("bez"   => "Schlafsaal",
                                           "preis" => 10.00,
                                           "code"  => "SS10"));

        $auswahl = intval($_POST["zimmerauswahl"]);

        Dezimalzahlen muss man mit Punkt schreiben. hab ich vorhin in der Eile übersehen...

        Nochmal Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        1. Hy Tom ich habe jetzt nur dein Skribt am server und sonst nichts
          ich bin absoluter newbi

          1<?php
          2
          3$_zimmerauswahl = array(0=>array("bez"   => "keine Auswahl",
          4                                 "preis" => 00.00,
          5                                 "code"  => ""),
          6                        1=>array("bez"   => "Hängematte",
          7                                 "preis" => 10.00,
          8                                 "code"  => "HM10"),
          9                        2=>array("bez"   => "Einzelzimmer",
          10                                "preis" => 30.00,
          11                                "code"  => "ET30"),
          12                       3=>array("bez"   => "Doppelzimmer",
          13                                "preis" => 50.00,
          14                                "code"  => "DZ50"),
          15                       4=>array("bez"   => "Schlafsaal",
          16                                "preis" => 10.00,
          17                                "code"  => "SS10"));
          18
          19  $auswahl = intval( $_POST["zimmerauswahl"]));
          20
          21  if(!inarray( $auswahl,$_zimmerauswahl)
          22  {
          23    $auswahl = 0;
          24  }
          25  $_daten = $_zimmerauswahl[$auswahl]));
          26
          27  echo "<pre>";
          28  print_r($_daten);
          29  echo "</pre>";
          30
          31?>

          Parse error: parse error in /homepages/0/d653600/htdocs/wsc686599/mailtexths3.php on line 19

          Ich checks nicht sorry gruß oliver

          1. Hello,

            Hy Tom ich habe jetzt nur dein Skribt am server und sonst nichts
            ich bin absoluter newbi

            19  $auswahl = intval( $_POST["zimmerauswahl"]));

            $auswahl = intval( $_POST["zimmerauswahl"]);

            Ich checks nicht sorry gruß oliver

            Ich muss auch meistens erst zweimal gucken.
            Da ist eine Klammer zuviel. Das hatte ich aber schon korrigiert in [pref:t=67471&m=386060]

            Nun bekommst Du es bestimmt hin.

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
  2. Das Formular

    <SELECT NAME="Einzel_zu30" SIZE="1">
    <OPTION VALUE="" SELECTED>-
    <OPTION VALUE="1 Einzel zu  30,-;EZ30;1">1
    <OPTION VALUE="2 Einzel zu  30,-;EZ30;2">2
    <OPTION VALUE="3 Einzel zu  30,-;EZ30;3">3
    <OPTION VALUE="4 Einzel zu  30,-;EZ30;4">4
    </SELECT>

    <SELECT NAME="Einzel_zu40" SIZE="1">
    <OPTION VALUE="" SELECTED>-
    <OPTION VALUE="1 Einzel zu  40,-;EZ40;1">1
    <OPTION VALUE="2 Einzel zu  40,-;EZ40;2">2
    <OPTION VALUE="3 Einzel zu  40,-;EZ40;3">3
    <OPTION VALUE="4 Einzel zu  40,-;EZ40;4">4
    <OPTION VALUE="5 Einzel zu  40,-;EZ40;4">5
    <OPTION VALUE="6 Einzel zu  40,-;EZ40;4">6
    </SELECT>

    usw...
    --------------------------------------------------------------------------------
    der Empfang

    list($rueckmail_zu30,$kategorie_zu30,$anzahl_zu30) = explode(";",$Einzel_zu30);
    list($rueckmail_zu40,$kategorie_zu40,$anzahl_zu40) = explode(";",$Einzel_zu40);
    list($rueckmail_DZ,$kategorie_DZ,$anzahl_DZ) = explode(";",$Doppel_zimmer);
    list($rueckmail_3BZ,$kategorie_3BZ,$anzahl_3BZ) = explode(";",$Dreibett_zimmer);
    list($rueckmail_4BZ,$kategorie_4BZ,$anzahl_4BZ) = explode(";",$Vierbettzimmer);
    list($rueckmail_MZ,$kategorie_MZ,$anzahl_Mz) = explode(";",$Mehrbettzimmer);
    ----------------------------------------------------------------------------------
    die Ausgaben

    $rueckmail_zu30      $kategorie_zu30        $anzahl_zu30
    $rueckmail_zu40      $kategorie_zu40        $anzahl_zu40
    $rueckmail_DZ        $kategorie_DZ          $anzahl_DZ
    $rueckmail_3BZ       $kategorie_3BZ         $anzahl_3BZ
    $rueckmail_4BZ       $kategorie_4BZ         $anzahl_4BZ
    $rueckmail_MZ        $kategorie_MZ          $anzahl_Mz