Ankündigung

Einklappen
Keine Ankündigung bisher.

Textfeldeingabe an Funktion übergeben

Einklappen

Neue Werbung 2019

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

  • Textfeldeingabe an Funktion übergeben

    Hallo Community,

    ich sitze gerade an einem objectorientierten PHP-Programm und habe ein Problem mit der Übergabe von Textfeldeingaben.

    Meine Textfelder:
    PHP-Code:
    <form action="??"> <input type="submit" value="new value">
    <
    form action="??"> <input type="submit" value="delete value"
    Die Eingabe soll an die folgenden Funktionen übergeben werden:
    PHP-Code:
    class value {
      function new()
      {
         
    //some code
      
    }

      function 
    delete()
      {
         
    //some code
      
    }

    Soweit ich mitbekommen habe kann PHP Eingaben nur an Dateien übergeben.
    Heisst das ich muss für jede Funktion eine eigene Datei erstellen?
    (Hab ca 60 Funktionen in 4 Klassen)
    Dies würde aber bedeuten, dass in mehreren Dateien derselbe Klassenname genutzt werden muss.

    Wäre für hilfe sehr dankbar.

  • #2
    Ahoi,

    du musst nicht für jede Funktion eine eigene PHP-Datei erstellen.
    In der Action gibst du deine PHP-Datei an. Da du deine Eingaben sicher via POST übergeben möchtest, vergiss dabei nicht das method-Attribut.
    Am einfachsten wäre es wohl deinem Submit das name-Attribut zuzuweisen und das in deiner PHP-Datei abzufragen und somit die jeweilige Funktion aufzurufen.
    Natürlich gibt es noch andere Möglichkeiten.
    ------
    Grüße Manü

    Kommentar


    • #3
      PHP-Code:
      <form action="??"
      <
      form action="??"
      ?? = post oder get? EDIT: Für Daten aus einem Textfeld würde man üblicherweise post verwenden.

      ... kann PHP Eingaben nur an Dateien übergeben.
      Heisst das ich muss für jede Funktion eine eigene Datei erstellen?
      Was meinst du damit? Das klingt echt schräg.
      http://www.php.de/php-einsteiger/489...nsammlung.html

      Die Eingabe soll an die folgenden Funktionen übergeben werden:
      Dann mach das doch, hol die Request-Werte ab und übergib diese als Parameter an die Methode (so nennt man eine Funktion in einer Klasse). Es sei denn du hast schon eine Requestverarbeitung an anderer Stelle, und Sicherheit nicht vergessen! http://php-de.github.io/jumpto/sicherheit/
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Zitat von Manu86 Beitrag anzeigen
        sicher via POST
        Trugschluss! post ist nicht viel sicherer als get, man kann es nur nicht an der URL sehen, das wars eigentlich aber auch schon bzgl. "Sicherheit".
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Zitat von hausl Beitrag anzeigen
          Trugschluss! post ist nicht viel sicherer als get, man kann es nur nicht an der URL sehen, das wars eigentlich aber auch schon bzgl. "Sicherheit".
          ich denke damit war gemeint: Da du deine Eingaben warscheinlich via post...

          Kommentar


          • #6
            Übergabe erfolgt über

            PHP-Code:
            method="post" 

            Kommentar


            • #7
              Zitat von Kado Beitrag anzeigen
              ich denke damit war gemeint: Da du deine Eingaben warscheinlich via post...
              Achso, ja das könnte sein Egal, schadet trotzdem nicht es zu erwähnen.

              @harrier:
              Was ist nun genau dein Problem? Ich kann es nicht ganz nachvollziehen. Du kannst dann mittels $_POST auf die Werte zugreifen und diese als Methodenparameter übergeben, wo du diese benötigst.
              The string "()()" is not palindrom but the String "())(" is.

              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                hab aktuell versucht wiefolgt zu realisieren:

                PHP-Code:
                <form action="value->new" method "post" >
                        <
                p><input name="new_value" /> new value </p>
                </
                form
                PHP-Code:
                class value {
                  function new(
                $_POST["new_value"])
                  { 
                     
                //code;
                     
                return $var;
                  }

                Kommentar


                • #9
                  Nicht falsch verstehen, aber an den Codezeilen ist so ziemlich alles falsch. Fängt schon beim HTML des Formulares an.

                  Warum eigenltich die Klasse? Ev. zuerst mal "normale" Grundlagen lernen - zB generell über die Formularverarbeitung - und dann mit Klassen weitermachen:

                  Schau dir mal das an, da gehts um Formularverarbeitung: http://php-de.github.io/#form

                  LG
                  The string "()()" is not palindrom but the String "())(" is.

                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    Zitat von harrier Beitrag anzeigen
                    PHP-Code:
                    class value {
                      function new(
                    $_POST["new_value"])
                      { 
                         
                    //code;
                         
                    return $var;
                      }

                    Was immer es sein soll, es ist kein PHP.

                    Lerne Grundlagen
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Der komplette code ist wie folgt:


                      PHP-Code:
                      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
                      <html>
                      <head>
                        <title> </title>
                        <meta http-equiv="content-type" content="text/html; charset=utf-8">
                      </head>

                      <body>
                      <?php

                      <form action="value->new" method "post" >
                              <
                      p><input name="new_value" /> new value </p>
                      </
                      form>

                      class 
                      value {
                        function new(
                      $_POST["new_value"])
                        { 
                           
                      //code;
                           
                      return $var;
                        }
                      }
                      ?>

                      </body>
                      </html>
                      Hab den Code aus nem Buchbeispiel übernommen und abgewandelt.

                      Kommentar


                      • #12
                        Das ist alles Blödsinn, deshalb auch dies:
                        Zitat von lstegelitz Beitrag anzeigen
                        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                        Kommentar


                        • #13
                          werde mir´s anschauen.

                          Kommentar


                          • #14
                            vielleicht mal so als Hinweis - das action-Attribut ist etwas, was der Browser direkt beim Webserver "aufruft" - das kann keine Funktion innerhalb eines Scriptes sein, weil der Webserver DIE gar nicht kennt - es muss also eine Script-Datei sein.
                            Du kannst aber zum Beispiel anhand der Post-Daten leicht feststellen, welches Formular gerade abgesendet wurde und dann in die richtige Funktion verzweigen - alles was du dafür brauchst, sind eindeutige Element-Namen, möglicherweise auch über versteckte Formular-Felder, die dir helfen, das jeweilige Formular zu identifizieren
                            "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                            Kommentar

                            Lädt...
                            X