[PHP] Formular Functions

Dieses Thema im Forum "Webentwicklung" wurde erstellt von June, 29. April 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 29. April 2010
    Formular Functions

    Hallo zusammen,

    Ich schreibe gerade sowas wie ne kleine Formular Funktion.. und ich würd gern wissen ob ich irgendwie die POST werte an die Funktion übergeben kann um mir ständiges ändern zu ersparen.

    Hier ein Beispiel:
    PHP:
    <? php

        
    function  form_start ( $var )
        {echo 
    '<form action="' . $var . '" method="post"' ;}
        
        function 
    form_name ( $var )
        {echo 
    $var . '<input type="text" name="' . $var . '"><br />' ;}
        
        function 
    form_name_ausgabe ( $var )
        {
    $var = $_POST [ 'Name' ]; echo  $var . '<br />' ;}
        
        function 
    form_submit ( $var )
        {echo 
    '<input type="submit" value="Absenden" name="' . $var . '">' ;}
        
        function 
    form_end ()
        {echo 
    '</form>' ;}

    if(isset(
    $_POST [ 'Absenden' ]))
    {
        echo 
    '<fieldset>' ;
        
    form_name_ausgabe ( $var );
        echo 
    '</fieldset>' ;
    }

    // echo '<form action="" method="post">';
    form_start ( "index.php" );
    form_name ( "Name" );
    form_submit ( "Absenden" );
    form_end ();

    ?>

    Bei der Funktion form_name_ausgabe() muss irgendwie die Variable über $_POST['Name'] übergeben werden. Aber ich find da irgendwie nix zu. Kennt jemand eine Lösung? 8o


    Peace, June
     
  2. 29. April 2010
    AW: Formular Functions

    übergib doch einfach nur "name" an die funktion und lies den wert dann aus $_POST
     
  3. 29. April 2010
    AW: Formular Functions

    Das will nicht

    Ich glaube das ist nur mit Klassen lösbar, allerdings ist das gar nicht mein Fachgebiet :lol:
     
  4. 29. April 2010
    AW: Formular Functions

    mit das will nicht kann ich nix anfangen. was will denn nicht?
     
  5. 29. April 2010
    AW: Formular Functions

    PHP:
    function  form_name_ausgabe ( $var )
        {
    $var = $_POST [ 'Name' ]; echo  $var . '<br />' ;} 
    probiers mal so

    PHP:
    function  form_name_ausgabe ( $var ) {
        ${
    $var }= $_POST [ 'Name' ];
        echo ${
    $var }. '<br />' ;
    }
    du überbist einen string daraus musst du eine variable machen.

    du willst aber sicher das machen
    PHP:
    function  form_name_ausgabe ( $var ) {
        echo 
    $_POST [ $var ]. '<br />' ;
    }
    und gewöhn dir eine übersichtliche schreibweise an!
     
  6. 29. April 2010
    AW: Formular Functions

    Hast du schon mal daran gedacht eine externe Klasse zu nehmen?

    Die vom Kohana PHP Framework ist zum Beispiel simple und passend.

    Dein Anliegen würde ich dann so umsetzen:

    PHP:
    // Wenn es die gleiche PHP Datei ist, reicht form::open();
    <?php  echo  form :: open ( 'send.php' );  ?>

    <p><?php  echo  form :: label ( $_POST [ 'name' ],  $_POST [ 'name' ]);  ?></p>
    <p><?php  echo  form :: input ( $_POST [ 'name' ]);  ?></p>

    <?php  echo  form :: close ();  ?>

    helpers:form [Kohana User Guide]


    Ich denke jedoch ich habe dein Problem nicht wirklich verstanden oder das was du vor hast ist irgendwie seltsam!

    EDIT: Achsoo, wenn dich onip richtig verstanden hat, willst du was ganz anderes!!! Aber das würde in meinen Augen keinen sinnvollen Einsatz finden
     
  7. 29. April 2010
    AW: Formular Functions

    Also insofern du immer nur ein Eingabefeld hast, kannst du das mit der Funktion key machen:
    http://de.php.net/key

    Die liest halt den Schlüsselnamen aus... in deinem Falle jetzt name...
    PHP:
    $key  key ( $_POST );
    in $key würde jetzt "name" stehen..

    Die Ausgabe sähe dann so aus:
    PHP:
    function  form_name_ausgabe ( $var ) {
    $key  key ( $_POST );
    $var = $_POST [ $key ];
    echo 
    $var . '<br />' ;} 
    Ist ungetestet..

    MfG
     
  8. 29. April 2010
    AW: Formular Functions

    ich check das nicht ^^

    erklär mal genau was du da machen willst

    soweit ich jetzt mitkomm willst du eine variable ausgeben die in $_POST[name] angegeben is?
    das würde so gehen:

    PHP:
    function  form_name_ausgabe () {
        
    $name  $_POST [ 'Name' ];
        global $
    $name ;
        print $
    $name ;
    }
    aber sowas hässliches macht man net ^^
     
  9. 29. April 2010
    AW: Formular Functions

    ich habe das so verstanden, dass er den namen des Feldes ändern will ohne dann den Wert, der ausgelesen werden soll ändern zu müssen..
    Das kann er halt mit key (nur wenn nur ein Feld da ist)...
     
  10. 29. April 2010
    AW: Formular Functions

    Nur kurze Info:

    Code:
    $_POST[<script>alert('LALALA')</script>] = 'Value wird nicht gebraucht????'
    Ich glaube er will das so zu Beispiel nutzen:
    PHP:
    <? php

    // index.php?date=1&username=1&password=1

    form_open ();
    foreach(
    $_GET  as  $key  =>  $val ) {
       
    form_name_ausgabe ( $key );
    }
    form_close ();
    ?>
    Aber der Nutzen ist seeeehr zweifelhaft!!
    Sollte der Threadersteller mal aufklähren
     
  11. 30. April 2010
    AW: Formular Functions

    Hallo zusammen,

    Und danke für die zahlreichen Antworten / Vorschläge. Ich bin jetzt nicht der totale PHP Nerd, aber ich denke mit der Funktion key() kann man sicher etwas anstellen. Ich habe auf der Referenz von °EraZoR° was von Arrays und Key gesehen, ich denke ich werd mal ein bisschen rumprobieren bei gelegenheit, aber ich denke darin liegt die Antwort

    Zu badloader seinem post kann ich sagen, es hat mir immer nur 1 und den selben wert ausgegeben, auch bei $_GET. Der Ansatz ist aber auf jedenfall der richtige, da bin ich mir sicher.

    Zu der Frage, wieso und weshalb?
    Ich wollt mir halt erleichtern jedes mal irgendwelche Forms zu erstellen (ohne Fremde Frameworks) Ich bastel gerade an einer Community seite, mit echt vielen Eingabemöglichkeiten und wollte das dann quasi als Baukastensystem nutzen. Ich habe jetzt schon viel zu viel Code und wollte die Seite nicht im Überfluss ersticken lassen. Zum Thema Klassen kann ich sagen, hab ich gar keine Erfahrung mit gemacht, irgendwie hat mein Hirn während des Unterrichts immer Ausgeschaltet, wenn der Pauker reingekommen ist

    Start
    Name
    Mail
    ...
    End

    und im Zielframework einfach nur die Ausgabe weiterverwenden. Wenn ich da keine Lösung finde muss ich wohl auf ein externes Framework zugreifen..

    Ich werde auf jedenfall an der sache dranbleiben und noch etwas herumprobieren, man lernt ja schließlich nie aus?

    PS: Bin erstmal bei der Übergabe mit 1 Textelement stehengeblieben.

    PHP:
    function  form_textfield_output ( $var ){
        
    $key  key ( $_POST );
        
    $var = $_POST [ $key ];
        echo 
    $var . '<br />' ;
    }     
    June
     
  12. 30. April 2010
    AW: Formular Functions

    und was genau bringt dir das? dir is klar das die sachen in $_POST sich nach deinen form-elementen richten?

    HTML:
    <input type="text" name="ein_element" />
    PHP:
    echo  $_POST [ 'ein_element' ];
    wenn man deinen gedankengang weiter geht, könnte man direkt auf die namen verzichten...
    sinn = -1%

    am besten du schaust dir mal ein paar tutorials für formulare und php::$_POST an, weil so wird das nix.

    versteh mich ned falsch - is schon ein wenig spät - aber dein vorhaben ist ein fall für die tonne
     
  13. 30. April 2010
    AW: Formular Functions

    3.000 Zeilen Code sind nicht viel Ich habe in meinem derzeitigen Projekt 43.000 Zeilen. Und das Projekt ist noch nicht mal ansatzweiße fertig.

    Also so variabel wie du das machen möchtest, macht es nicht nur keinen Sinn, sondern es scheint mir auch gefährlich. Gerade bei Benutzereingaben ($_POST,$_GET,$_REQUEST,$_COOKIE) sollte man möglichst genau definieren und dem Benutzer kaum freiheiten lassen.

    Bau dir eine Klasse für Forms und benutze diese. Ist eh ein recht einfacher Einstieg für Klassen wie ich finde. Manch einen Code kann man sich nunmal nicht sparen. Das ist einfach so.

    Man stelle sich folgendes vor:
    PHP:
    <? php

    // index.php?page=einstellungen&username=1&password=1&geburtstag=1&realname=1

    include( $_GET [ 'page' ]);
    unset(
    $_GET [ 'page' ]);

    form_open ();
    foreach (
    $_GET  as  $key  =>  $val ) {
       echo 
    $key . ': <input name="' . $key . '" />' ;
    }
    form_close ();

    // post abgesendet

    if (isset( $_POST )) {
       foreach(
    $_POST  as  $key  =>  $val ) {
          
    mysql_query ( "UPDATE " . $key . " SET " . $val . ".... " );
       }
    }

    ?>
    Das ist echt tötlich!!!! Alle Sicherheitslücken die es gibt in 20 Zeilen Code
     
  14. 30. April 2010
    AW: Formular Functions

    kann vielleicht sein, dass june sowas, wie ein html-formular-reader bauen will und daher nicht immer weiß, wie die felder/formular heißt.

    darum allgemein auf die ganzen sachen zugreifen will.

    aber sinn hinter demcode versteh ich auch nicht.

    wie mein vorposter schon geschrieben hat..
     
  15. 30. April 2010
    AW: Formular Functions

    Okay Freunde,

    dann werde ich wohl auf ein Fertigprodukt zurückgreifen.
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.