girasol: DropDown Aufüllhilfe

Hallo ich hoffe Ihr könnt mir hier etwas weiter helfen. War nun schon einige Zeit auf Internetrecherche leider erfolglos.

Ich bin noch ein ziemlicher Anfänger in php. programmierte bis anhin in asp. Da aber das ganze auf einem Apache-Server laufen soll, musste ich die Sprache wächseln.

Das Ziel ist es ein Webformular zu erstellen welches dann mit Hilfe eines "send" Buttons an eine bestimmte Adresse verschickt wird. Soweit eigentlich kein Problem.
Nun möchte ich aber dem Ausfüller eine kleine Vereinfachung einbauen. Das heisst, er soll über ein DropDown Menü auswählen können ob er Kunde oder Liferant ist. Anhand seiner Auswahl sollen dann die nachfolgenden Formularfelder (Adresse) ausgefüllt werden. Leider klappt dies aber nicht.
Kann mir hier evt. jemand weiterhelfen?

Kann ich dieses Problem mit PHP lösen oder müsste ich dafür eher zu JavaScript greifen?

Hier ein Teil meines Formulars mit einem der verschiedensten PHP-Versuche das Problem zu lösen:

<select name="Auswahl">
        <option value="bw">Bitte w&auml;hlen</option>
 <option value="Liferant">Liferant</option>
 <option value="Kunde">Kunde</option>
</select>

<?php
if ($Auswahl= "Liferant")
  {
 $firma = "Test";
 $name = "Test";
 $strasse = "Test";
 $plz = "Test";
 $ort = "Test";
  }
if ($Auswahl= "Kunde")
  {
 $firma = "Test2";
 $name = "Test2";
 $strasse = "Test2";
 $plz = "Test2";
 $ort = "Test2";
}
?>

<table>
<tr>
<td>Firma:</td>
<td>
<input type="text" value="<?php echo $firma ?>" name="firma" size="24" maxlength="30">
</td>
</tr>
<tr>
<td>Name:</td>
<td>
<input type="text" value="<?php echo $name ?>" name="name" size="24" maxlength="30">
</td>
</tr>
<tr>
<td>Strasse:</td>
<td>
<input type="text" value="<?php echo $strasse ?>" name="phone" size="24" maxlength="30">
</td>
</tr>
<tr>
<td>PLZ/Ort:</td>
<td>
<input type="text" value="<?php echo $plz ?>" name="phone" size="5" maxlength="30"><input type="text" value="<?php echo $ort ?>" name="phone" size="15" maxlength="30">
</td>
</tr>
</table>

Vielen Dank für eure Hilfe

Gruss

  1. Hi,

    if ($Auswahl= "Liferant")

    1. Zuweisungs- vs. Vergleichs-Operatoren
    2. http://de.wiktionary.org/wiki/Lieferant

    MfG ChrisB

    --
    "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."
  2. Nun möchte ich aber dem Ausfüller eine kleine Vereinfachung einbauen. Das heisst, er soll über ein DropDown Menü auswählen können ob er Kunde oder Liferant ist. Anhand seiner Auswahl sollen dann die nachfolgenden Formularfelder (Adresse) ausgefüllt werden. Leider klappt dies aber nicht.

    Ich seh schon wieder Nebelschwaden über Lummerland... Was tust du, was soll passieren und was passiert?

    Kann ich dieses Problem mit PHP lösen oder müsste ich dafür eher zu JavaScript greifen?

    Beides möglich. Willst du PHP nehmen, dann muß das Formular nach Auswahl aus dem DropDown versendet werden (Affenformular), PHP übernimmt die Eingaben und schickt das Formular vorbelegt wieder zurück. Bei JavaScript kann man das ohne erneuten Request machen, indemm man bei Änderung im DropDown die Vorbelegung der Felder ändert. Aber ehe ich mir hier weiter Gedanken mache, müßtest du dich schon füür einen Weg entscheiden.

    if ($Auswahl= "Liferant")

    http://de3.php.net/manual/de/security.globals.php
    http://de.wiktionary.org/wiki/Lieferant

    JJ

  3. Mahlzeit,

    Nun möchte ich aber dem Ausfüller eine kleine Vereinfachung einbauen. Das heisst, er soll über ein DropDown Menü auswählen können ob er Kunde oder Liferant ist. Anhand seiner Auswahl sollen dann die nachfolgenden Formularfelder (Adresse) ausgefüllt werden. Leider klappt dies aber nicht.

    Mach Dir klar, wo PHP (im Übrigen genauso wie ASP) ausgeführt wird: auf dem Server. Zum Zeitpunkt, zu dem PHP also die Auswahl überprüfen soll, kann der Benutzer noch gar nichts ausgewählt haben - da sein Browser noch nichts erhalten hat, was er darstellen könnte.

    Kann mir hier evt. jemand weiterhelfen?

    Kann ich dieses Problem mit PHP lösen oder müsste ich dafür eher zu JavaScript greifen?

    Ich würde ein Affenformular und Javascript empfehlen (ersteres ist notwendig, letzteres dient nur der Bequemlichkeit für Benutzer, die Javascript nicht deaktiviert haben).

    Die Tipps von ChrisB und Jaroslav bzgl. Zuweisung/Überprüfung, global gültiger, automagisch gefüllter Variablen sowie insbesondere Rechtschreibung solltest Du nicht unbeachtet lassen - auch wenn's pingelig klingt: aber wer soll Deinen Code warten können, wenn noch nicht einmal die Bedeutung von Elementen und Variablen klar ist, weil ihre Namen in keiner Sprache der Welt irgendeine sinnvolle Bedeutung haben?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  4. Vielen Dank erstmals für eure Antwort.

    Entschuldigt bitte den Schreibfehler in "Lieferant". War einfach ein Vertipsler. (Das eigentliche Formular enthält Kundenangaben, welche ich aber hierfür durch Lieferant & Kunde ersetzt hatte.)Da sich meine Finger manchmal etwas zu eilig über die Tastatur bewegen kann es halt vorkommen dass ich mich vertippe. Kann jedem mal passieren!!

    Nun aber zum eigentlichen!

    EKKi:

    Mach Dir klar, wo PHP (im Übrigen genauso wie ASP) ausgeführt wird: auf dem Server. Zum Zeitpunkt, zu dem PHP also die Auswahl überprüfen soll, kann der Benutzer noch gar nichts ausgewählt haben - da sein Browser noch nichts erhalten hat, was er darstellen könnte.

    Stimmt! Habe ich gar nicht bedacht. PHP ist ja auch eine serverseitig Sprache!

    Jaroslav Jablonski:

    Beides möglich. Willst du PHP nehmen, dann muss das Formular nach Auswahl aus dem DropDown versendet werden (Affenformular), PHP übernimmt die Eingaben und schickt das Formular vorbelegt wieder zurück. Bei JavaScript kann man das ohne erneuten Request machen, indem man bei Änderung im DropDown die Vorbelegung der Felder ändert. Aber ehe ich mir hier weiter Gedanken mache, müsstest du dich schon für einen Weg entscheiden.

    Für mich klingt die JavaScript Variante einfacher. So könnte ich darauf verzichten das Formular mehrmals schicken zu müssen. Oder sehe ich dies falsch?!

    1. Mahlzeit,

      Für mich klingt die JavaScript Variante einfacher. So könnte ich darauf verzichten das Formular mehrmals schicken zu müssen. Oder sehe ich dies falsch?!

      Ja. Einfacher != besser. Wenn ein Benutzer kein Javascript hat oder dies ausgeschaltet ist, was dann? Außerdem befindet sich Javascript-Code außerhalb Deiner "Hoheit", da er beim Client ausgeführt wird. Um eine vernünftige serverseitige Prüfung der eingegebenen Daten durchführen zu können, kommst Du um eine geeignete serverseitige Skriptsprache nicht herum.

      Natürlich kannst Du nette Gimmicks und Bedienhilfen in Javascript realisieren - aber das ist nur die Kür. Die Pflicht ist vernünftige Formularverarbeitung auf dem Server.

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|