Jiriki: Formular per PHP oder Javascript überprüfen?

Hi Leute,

Ich hab hier ne Liste von Pferden (MySQL), die auf ner Page ausgegeben wird. Nun soll die Möglichkeit bestehen, jedem Pferd eine von vier Eigenschaften zuordnen zu können ("deceased","not breeding","pay for this year","sold"). Ich erstelle dazu für jeden Datensatz ein Formular auf der Page, und habe bis dato vier Submit-Buttons (alle mit gleichem Namen "status", aber unterschiedlichen Values).

Nun hatte ich mich zuerst für Jscript entschieden, um das Drücken eines Buttons bestätigen zu lassen, bzw. bei "sold" ein neues Fenster zu öffnen, in dem der neue Besitzer eingetragen werden soll.

Das Problem war, dass ich die Submit-Buttons in Input-Button-Buttons umwandeln musste, welchen ich dann onClick-Events zuordnen konnte (bei Typ Input-Submit kann man das Absenden der Informationen wohl nicht verhindern), welche wohl keine Name-Value-Tupel absenden, weshalb ich dann in meiner Abfrageroutine nicht mehr feststellen konnte, welcher der Buttons gedrückt wurde.

Die einzige Lösung die mir bisher einfiel, war, für jeden Eigenschaftsbutton ein eigenes Formular zu machen, dem ich alle nötigen Werte wie Registrierungsnummer des Pferdes etc. als Input-Hidden mitgeb. Da die Lösung in meinen Augen "Redundanz" schreit, hab ich mir jetzt überlegt, das ganze serverseitig mit PHP zu lösen, indem ich eine Kontroll-/Bestätigungsseite aufrufe, wenn das Formular abgeschickt wird.

Doch da wollt ich mal erst nen kurzes Feedback aus der Expertenrunde hier erbitten zu: Javascript oder PHP; und wenn Javascript, dann wie in etwa?

Thanks!

  1. Doch da wollt ich mal erst nen kurzes Feedback aus der Expertenrunde hier erbitten zu: Javascript oder PHP; und wenn Javascript, dann wie in etwa?

    beides
    zuerst mit javascript (benutzerfreundlich) und dann zur sicherheit mit php, für alle die kein javascript haben, es deaktiviert haben oder auch für spambots greift dann php

  2. Hi,

    Das Problem war, dass ich die Submit-Buttons in Input-Button-Buttons umwandeln musste, welchen ich dann onClick-Events zuordnen konnte (bei Typ Input-Submit kann man das Absenden der Informationen wohl nicht verhindern),

    doch, kann man.

    Doch da wollt ich mal erst nen kurzes Feedback aus der Expertenrunde hier erbitten zu: Javascript oder PHP;

    Die Frage nach dem "oder" stellt sich nicht - eine serverseitige Prüfung ist *immer* unumgänglich. Frage also nach dem "und"; diese Frage entspricht der nach Usability und Entlastung des Servers.

    und wenn Javascript, dann wie in etwa?

    Es gibt irgendwas zwischen Millionen und Milliarden Beispiele im Netz. Wie lautet Dein Problem?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Es gibt irgendwas zwischen Millionen und Milliarden Beispiele im Netz. Wie lautet Dein Problem?

      Folgendermaßen:

      Das Problem war, dass man bei Typ Input-Submit das Absenden der Informationen wohl nicht verhindern kann

      D.h. bei folgendem Code wird das Formular abgeschickt, egal, ob ich bei dem confirm()-Aufruf "ok" oder "abbrechen" wähle.

      ---------
      ...
      function check(status,id)
      {
       msg = "";
       if( status == 'deceased' ) msg = "Do you really want to mark this stallion 'deceased'?";
       if( status == 'sold' ) msg = "Do you really want to mark this stallion 'sold'?";

      if( confirm( msg ) )
       {
        document.forms[id].submit();
       }
      }

      ...
      <input type="submit" name="status" value="deceased" onClick="check('deceased',1)" />
      <input type="submit" name="status" value="sold" onClick="check('sold',1)" />
      ...
      ---------

      Dazu hab ich kein Beispiel im Netz gefunden.

      Greets und Danke

      1. Mahlzeit,

        Dazu hab ich kein Beispiel im Netz gefunden.

        Nein, aber vielleicht kannst Du ja mit "http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onsubmit@title=onsubmit" und "http://de.selfhtml.org/javascript/sprache/funktionen.htm#rueckgabewert@title=return" etwas anfangen? :-)

        MfG,
        EKKi

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

    Ich hab hier ne Liste von Pferden (MySQL), die auf ner Page ausgegeben wird. Nun soll die Möglichkeit bestehen, jedem Pferd eine von vier Eigenschaften zuordnen zu können ("deceased","not breeding","pay for this year","sold").

    Eine von vier? D.h. genau eine dieser Eigenschaften MUSS ausgewählt werden und mehr als eine Eigenschaft DARF NICHT ausgewählt sein? Für diesen Fall bieten sich Radiobuttons an.

    Grobe Struktur:

    [...]  
    <ul>  
      <li>  
        <img src="meteor.jpg" alt="Meteor">  
        [...]  
        <form action="foo.php" method="post">  
          <input type="radio" name="pferd1" id="pferd1_1" value="deceased"><label for="pferd1_1">deceased</label>  
          <input type="radio" name="pferd1" id="pferd1_2" value="not breeding"><label for="pferd1_2">not breeding</label>  
          <input type="radio" name="pferd1" id="pferd1_3" value="pay for this year"><label for="pferd1_3">pay for this year</label>  
          <input type="radio" name="pferd1" id="pferd1_4" value="sold"><label for="pferd1_4">sold</label>  
          <input type="submit" value="Abschicken">  
        </form>  
      </li>  
      <li>  
        <img src="halla.jpg" alt="Halla">  
        [...]  
        <form action="foo.php" method="post">  
          <input type="radio" name="pferd2" id="pferd2_1" value="deceased"><label for="pferd2_1">deceased</label>  
          <input type="radio" name="pferd2" id="pferd2_2" value="not breeding"><label for="pferd2_2">not breeding</label>  
          <input type="radio" name="pferd2" id="pferd2_3" value="pay for this year"><label for="pferd2_3">pay for this year</label>  
          <input type="radio" name="pferd2" id="pferd2_4" value="sold"><label for="pferd2_4">sold</label>  
          <input type="submit" value="Abschicken">  
        </form>  
      </li>  
      [...]  
    </ul>  
    [...]
    

    Doch da wollt ich mal erst nen kurzes Feedback aus der Expertenrunde hier erbitten zu: Javascript oder PHP; und wenn Javascript, dann wie in etwa?

    Formulareingaben validiert und verarbeitet man IMMER auf dem Server. Zusätzliche Prüfungen auf dem Client (z.B. per Javascript) sind allerhöchstens die Kür und dienen lediglich der Bedienerfreundlichkeit.

    MfG,
    EKKi

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