TestFreak: Nach onclick -> PHP Funktion ausführen. Wie?

Hallo,

ich möchte zwei Buttons erstellen (Ja und Nein)

Bei klick auf Ja soll eine MySQL Variable auf Ja gesetzt werden und die Seite nochmal geladen werden.

Bei Klick auf Nein sollen zwei MySQL Variablen gesetzt werden.

Wie kann ich das am besten machen?
Kann man in einem "form" mit "input type=button" bei onclick als aktion eine bestimmte PHP Funktion ausführen? In der jeweiligen Funktion würde ich dann meine MySQL Änderungen vornehmen.

  1. Hi,

    Kann man in einem "form" mit "input type=button" bei onclick als aktion eine bestimmte PHP Funktion ausführen?

    nein. Du kannst einen bestimmten HTTP-Request durchführen, der vom Server und vom PHP-Code zum Aufruf einer bestimmten PHP-Funktion führt.

    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. nein. Du kannst einen bestimmten HTTP-Request durchführen, der vom Server und vom PHP-Code zum Aufruf einer bestimmten PHP-Funktion führt.

      Sorry bin php und html noob.
      Ich will zwei Buttons. Bei klick auf "Ja", soll eine Funktion in meine.php den Wert Ja übernhemen und in eine MySQL Datenbank speichern. Bei klick auf "Nein" enstprechend.
      Daher Frage ist was ich bei onClick schreiben soll:

      <form action="./meine.php" method="post">
      <input type="button" value="Ja" onClick="?????">
      <input type="button" value="Nein" onClick="?????">
      </form>

      Oder bin ich total auf dem Holzweg? :-)

      1. Hi,

        Sorry bin php und html noob.

        [...]

        Daher Frage ist was ich bei onClick schreiben soll:

        [...]

        Oder bin ich total auf dem Holzweg? :-)

        wenn Du meinst, dass Dir hier jemand Deine Probleme lösen wird: Ja, denn dann hast Du das "SELF" im Namen dieses Projektes falsch interpretiert. Du bekommst hier Hilfe zur Selbsthilfe. Dazu ist es nötig, dass Du Dein explizites Problem formulierst, inklusive dessen, was Du versucht hast, was geglückt und was misslungen ist, was Du verstanden hast und was nicht.

        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
      2. Hi,

        Ich will zwei Buttons. Bei klick auf "Ja", soll eine Funktion in meine.php den Wert Ja übernhemen und in eine MySQL Datenbank speichern. Bei klick auf "Nein" enstprechend.

        Daher Frage ist was ich bei onClick schreiben soll:

        garnichts

        <form action="./meine.php" method="post">
        <input type="button" value="Ja" onClick="?????">
        <input type="button" value="Nein" onClick="?????">
        </form>

        Wenn du dem Buttons noch eine name-Attribut zuweist kannst du in meine.php auswerten, welcher Button gedrdrückt wurde und entsprechende Einträge in deiner DB vornehmen. Dazu brauchst du garkein onclick-Event.
        Am besten siehst du das, wenn du das Formular mal auf GET statt POST stellst und schaust, was beim Absenden an die URL angehängt wird.

        mfG,
        steckl

        1. Wenn du dem Buttons noch eine name-Attribut zuweist kannst du in meine.php auswerten, welcher Button gedrdrückt wurde und entsprechende Einträge in deiner DB vornehmen. Dazu brauchst du garkein onclick-Event.
          Am besten siehst du das, wenn du das Formular mal auf GET statt POST stellst und schaust, was beim Absenden an die URL angehängt wird.

          ok habe das onclick entfernt und jeweils einen namen vergeben. es passiert baer nun nichts wenn ich draufklicke.

          Könnte ich nicht die php funktionen in der gleichen Datei unterbringen und die dann bei onclick aufrufen? Also wie beim Beispiel hier mit dem Taschenrechner, nur dass anstatt javascript eben meine php-funktion aufgerufen wird?

          1. ok habe das onclick entfernt und jeweils einen namen vergeben. es passiert baer nun nichts wenn ich draufklicke.

            Logisch, sind ja auch "nur" Buttons, und die sind quasi funktionslos. Verwende statt dessen Submit-Buttons und lies nach, wie man in PHP mehrere Submit-Buttons verarbeitet.

            Siechfred

            --
            Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.
            1. ok ich versuchs mit submit buttons.

              vielen dank für die nützlichen infos

            2. Die Variablen werden übergeben, jedoch macht mein php-skript nichts.
              Gibt es sowas wie nen Debugger, wo ich sehen kann was ich falsch gemacht habe? :-)

              hier die html:
              <html>
              <head>
              <title>Test</title>
              </head>
              <body>
              <form action="test.php">
              <input type="submit" name="zugestimmt" value="Ja">
              <input type="submit" name="nichtzugestimmt" value="Nein">
              </form>
              </body>
              </html>

              hier die test.php:
              <?php
              include_once('configuration.php');

              $link = mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password);
              if(isset($_REQUEST['zugestimmt']))
              {
               $result = mysql_query('UPDATE jos_comprofiler SET cb_agbszugestimmt = "Ja"');
              }
              else
              {
               $result = mysql_query('UPDATE jos_comprofiler SET cb_agbszugestimmt = "Nein"');
              }
              mysql_close($link);
              ?>

              1. Ok klappt, er ändert nun auch die Felder die ich will. (datenbank prefix hat gefehlt)

                Kann ich anschließend irgendwie zur letzten Seite zurückkehren?

                1. Mahlzeit,

                  Kann ich anschließend irgendwie zur letzten Seite zurückkehren?

                  Stichwort Affenformular ...

                  MfG,
                  EKKi

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

            Könnte ich nicht die php funktionen in der gleichen Datei unterbringen und die dann bei onclick aufrufen?

            es gibt keine "gleiche Datei". Der Server hat mittels PHP eine Scriptlogik abgearbeitet und das Ergebnis zum Client gesendet - anschließend hat er den Stift beiseite gelegt, ist in die Kantine gegangen und hat sich mit einer schönen Tasse Kaffee und einem Stück Käsekuchen hingesetzt. Er ist *nicht mehr im Spiel*. Dieses betritt er erst wieder, wenn ein HTTP-Request gegen ihn abgesetzt wird. Dieser ist *absolut neu* und hat nicht mehr das geringste mit irgendwas zu tun, was eventuell jemals geschehen sein mag.

            Betrachte also den Weg der Daten so, als sei es das einzige, was Dein Server jemals machen wird.

            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