Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Funktion, die auf mysql-DB zugreift?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Funktion, die auf mysql-DB zugreift?

    Tach,
    hoffe ihr könnt mir (Anfänger!) bei nem Problem helfen, an dem ich jetzt schon nen halben Tag sitz:
    Ich will eine Funktion schreiben, die checkt, ob ein Radiobutton ausgewählt worden ist, oder ob gar nix eingegeben wurde. Ist ja eigenlich kein Problem, aber dieser Radiobutton wird nur angezeit, wenn man auf der vorherigen Seite was bestimmtes gewählt hat. Also dachte ich ich greif kurzerhand auf die mySQL Datenbank zu und lass den Teil der Funktion nur ausführen, wenn in der DB-Stelle eine "0" steht. Aber es passiert nix. Die Seite springt nach dem submit einfach zur nächsten - ohne Meldung.
    Kann mir jemand sagen wo mein Denkfehler liegt? Danke!

    Code:
    function pruefen() {
         
    <?php 
    $schluessel = $_POST["schluessel"];
    
     $link = mysql_connect("localhost" , "..." , "..." );
     mysql_select_db("usr_web81_2" );
     $q = "SELECT nn_1 FROM ergebnisse WHERE code=".$schluessel;
     $result = mysql_query( $q );
     $row = mysql_fetch_array($result);
     $nn_1 = $row["nn_1"];
    ?>
        if ((nn_1== "0") and ( !(document.eingabe.nn_2[0].checked || document.eingabe.nn_2[1].checked) ))
    { alert( "Bitte alle Felder ausfüllen!" );
            return false; }
    ...}


  • #2
    sow ei ich das sehe erstelllst du eine PHP-Variable und willst sie direkt in PHP weiterverwenden Wie soll denn das gehen???

    Code:
    ....
    ?>
    nn_1=<? echo $row["nn_1"]; ?>
        if ((nn_1== "0") and ( !(document.eingabe.nn_2[0].checked || document.eingabe.nn_2[1].checked) ))
    { alert( "Bitte alle Felder ausfüllen!" );
            return false; }
    ...}
    Wenn JS was ausführt is PHP längst fertig.

    Kommentar


    • #3
      erstmal Danke für den Hinweis.
      Soweit ich das jetzt verstehe, ist es mittels Javascript nicht möglich die Eingaben von "dynamischen" Formularen zu checken. Seh ich das richtig? Ich wollte es möglichst vermeiden die Eingabeprüfung über den Server laufen zu lassen.
      Freue mich über jede Anregung.

      Kommentar


      • #4
        Zitat von ede101
        Ich wollte es möglichst vermeiden die Eingabeprüfung über den Server laufen zu lassen.
        wenn du mir erklärst warum .. ??
        privater Blog

        Kommentar


        • #5
          was meinst du mit dymanischen Formularen.
          Du kannst mit JS eine einfach Überprüfung machen.
          Hier so wie ich mir das Vorstellen könnte, wahrscheinlich ist der Code grottenfalsch, etc und unzureichend, musst du halt mal nachforschen und erweitern, soll jetzt einfach mal so zur Verdeutlichung sein.
          PS: Wie bindet man das "input" als Variable da in das document.... ein??
          So wie ich es gemacht habe???

          der JS-Code:
          Code:
          function check(input) {
             
             if (document.eingabe.input.value == "") {
          
                 alert( "Bitte alle Felder ausfüllen!" );
                 return false;
             }
          }
          und dann unten beim Formular:

          Code:
          <input type="text" name="text1" maxsize="30" onchange="check(text1)">
          Ich hoffe, ich konnte dir meinen Gedankengang erläutern und vielleicht sogar näher bringen, ich behandle JS halt etwas Stiefmütterlich und genauso sind meine Programmierkünste in dieser Sprache

          Kommentar


          • #6
            mal kurz zum Hintergrund:
            ich bin daran eine 5-seitige online Befragung zu gestalten. Auf Seite 1 werden Produkte abgefragt, od diese dem Probanten bekannt sind (per Radiobutton (ja, nein)). Auf Seite 2 werden nur die Produkte aufgelistet, die er nicht kennt und wiederum per Radiobutton abgefragt ob diese für den Befragten interessant wären.
            Auf der ersten Seite klappt das Überprüfen des Formulars per JS super. (Ich hab ja auch immer meine 19 Produkte die ich abfrag). Auf Seite 2 variiert die Anzahl der Produkte/Radiobuttons.
            Gelöst hab ich das übrigens mit ner eingfach If-Abfrage:
            Code:
            <?php	
            	if ($nn_1 == "0") {
            ?>
            <input type="radio" name="nn_2" value="1" border="0">interessant<
            <input type="radio" name="nn_2" value="0" border="0">uninteressant<
            <?php	
            				}
            	
            	if ($df_1 == "0") {
            
            ?>
            <input type="radio" name="df_2"....
            vielleicht nicht die eleganteste Art und Weise aber das hat funktioniert! Nun wolle ich ne JS-Funktion schreiben, die auch die Eingabe der 2. Seite überprüft. Aber nur meine mysql-DB weiss, welche Produkte erscheinen und welche nicht. Also dachte ich mir, ich verbinde das Ganze - und da liegt nach wie vor das Problem.

            Eine Abfrage über den Server finde ich nicht so elegant und AUSSERDEM müsste ich dann für jeden Button was in php schreiben, was den Zustand vor dem Submit wiederherstellt (so, dass der Befragte nicht wieder alles von Anfang an ausfüllen muss). Aber vermutlich werd ich da wohl nicht drum herum kommen.

            Kommentar

            Lädt...
            X