1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

HTML/PHP Formular

    • Frage
  • sommeralex
  • 1. Mai 2006 um 15:33
  • Unerledigt
  • sommeralex
    11
    sommeralex
    Mitglied
    Punkte
    1.325
    Beiträge
    188
    • 2. Mai 2006 um 20:48
    • #21

    jetzt gehts..! aber.. ich kämpfe leider mit einem weiteren problem: (hab schon gegoogelt & tutorials angesehen -> keine lösung gefunden)

    darum wieder hier :winking_face: also: warum funktioniert der rot-unterlegte befehl nicht? idee: ich möchte zwei buttons haben. der eine ist ein normaler submit button. die aktion ist in action (grün) festgelegt. der andere button ist ein normaler button (violett) bei onclick soll er einen php befehl ausführen.

    ich erhalte keine fehlermeldung beim drücken dieses buttons aber die aktion funktioniert nicht.

    <html>
    <head>
    <body>


    <form method="post" action="<?php

    $_SESSION['input'] = $_POST['input'];
    //echo $_SERVER['PHP_SELF'];

    ?>">
    <p>
    <input type="text" name="input" value="

    <?php

    if (isset($_SESSION['input'])){
    echo $_SESSION['input'] . "cool";
    }
    else{
    echo "";
    }


    ?>

    ">
    <input name="Next" type="submit" value =";-)">
    <input type="button" value="Fenster oeffnen" name="button1"
    onClick="<?php echo 'klick'; ?>">
    </form>

    </body>
    </html>

    habe die lösung gerade gefunden:

    http://www.thescripts.com/forum/thread5572.html

    frage: gibt es eine andere möglichkeit, einen zweiten button festzulegen und dann php auszuführen? ich denke, es MUSS ja gehen, denn es gibt doch viele seiten mit mehreren buttons (und jeder hat eine bestimmte [code=php]funktion.

    ad Lösung:
    Also Argument warum onClick="<?php.." nicht geht, ist, weil serverseitiges mit clientseitigem verwechselt wird. wie ist das zu verstehen? gibt es irgendwo ein "diagramm" in dem ersichtlich ist, wann wie und warum php anforderungen vom client zurück an den server geschickt werden - und wann nicht?

    also wenn ich es halbwegs richtig verstehe, dann macht ein html-form-action eine "serveranfrage" irgendwas soll passierten - und am client wird, nachdem *irgendwas* passiert ist, eine seite (die alte oder neue) neu-geladen.

    Wenn ich jetzt onClick="<php..." answeise, ist nach "HTML" spezifikation alles so ausgelegt, dass die aktionen auf meinem "client" sind. (darum kann man auch java-skript für onClick verwenden. ABER: kann ich nicht javascript auch mit meinem server kombinieren? Oder anders: habe ich hier etwas grundsätzlich nicht verstanden, oder ist es einfach "formsache", dass onClick kein Php verträgt? Gibt es jetzt eine möglichkeit, mehrere Buttons zu verwenden, wobei jeder button eine eigene PHP funktion führt? Oder kann ich, (hintertür) wenn das form-action geschieht, in meinem PHP Script überprüfen, welcher Button(-Name) diesen befehl ausgeführt hat?

  • Paulchen
    1
    Paulchen
    Gast
    • 2. Mai 2006 um 23:06
    • #22
    Zitat von sommeralex

    frage: gibt es eine andere möglichkeit, einen zweiten button festzulegen und dann php auszuführen? ich denke, es MUSS ja gehen, denn es gibt doch viele seiten mit mehreren buttons (und jeder hat eine bestimmte

    PHP
    funktion.[/QUOTE]Du kannst einerseits clientseitig Aktionen setzen, z. B.
    [code=html]<input name="bla" value="blub" onclick="document.location.href=ziel.php;">


    Die Frage ist natürlich, wie du dann die eingegebenen Daten nach ziel.php bekommst, das könntest du bewerkstelligen, indem du mit JavaScript die Formulardaten abrufst (kannst auf SelfHTML nachschauen, wie das geht) und dann nach ziel.php?bla=blub weiterleiten (das kannst dann im PHP-Skript über die Variable $_GET abrufen).

    Eleganter ist es natürlich, mehrere submit-Buttons zu verwenden. Denen kannst du Namen geben, und der ist dann als Element im Array $_POST enthalten; Beispiel:

    bla.html:

    HTML
    <form method="post" action="blub.php">
    <input type="submit" name="knopf1">
    <input type="submit" name="knopf2">
    </form>

    blub.php:

    PHP
    if(isset($_POST['knopf1'])) {
        /* knopf1 gedrueckt */
    }
    else {
        /* knopf2 gedrueckt */
    }

    Was im Attribut onclick eines HTML-Tags steht, ist JavaScript, und für dessen Abarbeitung ist dein Browser (Client) zuständig, daher nennt man JavaScript auch eine clientseitige Skriptsprache. Hier wird keine Anfrage an den Server geschickt. PHP hingegen ist einer serverseitige Skriptsprache, hier schickt der Client eine Anfrage an den Server, dieser bearbeitet diese Anfrage und schickt das Ergebnis zurück. Wenn du dir im Browser den Quelltext einer Seite, die ursprünglich PHP-Code enthält, ansiehst, wird dir auffallen, dass PHP völlig fehlt, du hast es nur mehr mit HTML (und JavaScript, CSS, ...) zu tun.

    Genau, du hast meine Antwort schon vorweggenommen. Das *irgendwas* ist am Client das Warten auf die vom Server versandte Seite, am Server das Verarbeiten der Anfrage, Interpretieren des PHP-Codes etc.

    onclick verträgt, wie oben beschrieben, nur JavaScript.

    Alles anzeigen
  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung