Formularauswertung

  • Hallo, ich bin gerade bei <!-- m --><a class="postlink" href="http://www.php-kurs.com/formularauswertung-mit-php.htm">http://www.php-kurs.com/formularauswertung-mit-php.htm</a><!-- m --> bei der Aufgabe:

    Zitat

    AUFGABE: Erstellen eines Formulars mit hidden-Feld


    Über das HTML-Element input type="hidden" können für den Benutzer nicht sichtbare Informationen übertragen werden <input type="hidden" name="werteins" id="werteins" value="x" />


    Aufgabe ist, über ein Formular mit hidden-Feld einen Wert im Hintergrund zu übertragen. Der Wert des hidden-Feldes soll über eine Variable mit dem Namen "$aktion" übertragen werden. In dieser Variable soll als Wert 3 übertragen werden.


    Nun folgendes Problem habe die Aufgabe gemacht und mit der Lösung verglichen, sie stimmt 1:1 überein aber wenn ich dass letzte Semikolon setzte wird es grün, statt schwarz dass heißt dass da schon was nicht in Ordnung sein kann.


    Beim Aufrufen der PHP Datei bekomme ich folgende Fehlermeldung

    Code
    Parse error: syntax error, unexpected '<' in C:\xampplite\htdocs\hallowelt.php on line 5


    Hab dass Beispiel mehrmals mit dem meinem verglichen aber bin bis jetzt noch nicht draufgekommen.


    PS: Bei dem Datum muss ich da nicht so vorgehen?

    PHP
    <?php
    date_default_timezone_set('Europe/Berlin');
    echo "<p>heutiges Datum: " . date("d.m.Y");
    ?>


    Mein Code:



    Edit: Hat sich erledigt habe was vergessen :?

  • Für alle die rätseln was er vergessen hat =D


    Code
    $aktion = date ("H.i:s");
    echo
    <form action="hallowelt.php" method="GET"


    Das " nach dem echo, und vor dem <form


    Wenn man code hilighting nutzt.. sieht man es gleich


    PHP
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br />echo </span><span class="syntaxstring">"eingetragener Vorname:"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $_GET </span><span class="syntaxkeyword">[</span><span class="syntaxstring">'vorname'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">$aktion </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> date </span><span class="syntaxkeyword">(</span><span class="syntaxstring">"H.i:s"</span><span class="syntaxkeyword">);<br />echo<br /><</span><span class="syntaxdefault">form action</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"hallowelt.php"</span><span class="syntaxdefault"> method</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"GET"<br /></span><span class="syntaxdefault">name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Formular1"</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Formular1"<br /><br /></span><span class="syntaxkeyword"><</span><span class="syntaxdefault">p</span><span class="syntaxkeyword">></span><span class="syntaxdefault"> Ihr Vorname</span><span class="syntaxkeyword">:<br /><</span><span class="syntaxdefault">input type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Text"</span><span class="syntaxdefault"> name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"vorname"</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"vorname"<br /></span><span class="syntaxdefault">value</span><span class="syntaxkeyword">=</span><span class="syntaxstring">""</span><span class="syntaxdefault"> size</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"50"</span><span class="syntaxdefault"> maxlength</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"150"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/></span><span class="syntaxdefault"> </span><span class="syntaxkeyword"></</span><span class="syntaxdefault">p</span><span class="syntaxkeyword">><br /><br /></span><span class="syntaxdefault">input type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"hidden"</span><span class="syntaxdefault"> name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"aktion"</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"aktion"<br /></span><span class="syntaxdefault">value</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"' . $aktion  .' "</span><span class="syntaxkeyword">></span><span class="syntaxdefault"> </span><span class="syntaxkeyword"></</span><span class="syntaxdefault">p</span><span class="syntaxkeyword">><br /><br /><</span><span class="syntaxdefault">p</span><span class="syntaxkeyword">></span><span class="syntaxdefault"> Absenderbutton</span><span class="syntaxkeyword">:<br /><</span><span class="syntaxdefault">input type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Submit"</span><span class="syntaxdefault"> name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Button"</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Button"<br /></span><span class="syntaxdefault">value</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"absenden"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/></span><span class="syntaxdefault"> </span><span class="syntaxkeyword"></</span><span class="syntaxdefault">p</span><span class="syntaxkeyword">><br /></</span><span class="syntaxdefault">form</span><span class="syntaxkeyword">>'</span><span class="syntaxdefault">;<br />?><br /></span></span>


    Korrekt:

    PHP
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /></span><span class="syntaxkeyword">echo </span><span class="syntaxstring">"eingetragener Vorname:"</span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$_GET </span><span class="syntaxkeyword">[</span><span class="syntaxstring">'vorname'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">$aktion </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">date </span><span class="syntaxkeyword">(</span><span class="syntaxstring">"H.i:s"</span><span class="syntaxkeyword">);<br />echo<br /></span><span class="syntaxstring">"<form action=\"hallowelt.php\" method=\"GET\"<br />name=\"Formular1\" id=\"Formular1\"<br /><br /><p> Ihr Vorname:<br /><input type=\"Text\" name=\"vorname\" id=\"vorname\"<br />value=\"\" size=\"50\" maxlength=\"150\" /> </p><br /><br />input type=\"hidden\" name=\"aktion\" id=\"aktion\"<br />value=\"' . $aktion  .' \"> </p><br /><br /><p> Absenderbutton:<br /><input type=\"Submit\" name=\"Button\" id=\"Button\"<br />value=\"absenden\" /> </p><br /></form>"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">?><br /></span></span>
  • Und bevor der Validator wieder ganz seltsame Sachen schreibt, du hast vergessen das form zu schließen
    (<form action="hallowelt.php" method="GET" name="Formular1" id="Formular1">).


    Zudem empfehle ich eher bei echo ' (also einfache Anführungszeichen) zu verwenden.
    So muss man nicht bei HTML Code immer \" machen [:

  • Ich empfehle einen einen Editor, der das automatisch ersetzt, spätestens wenn mal noch js dazu kommt, musst es wieder escapen =).


    Ist alles ne gewohnheitssache, und wie der nuter es besser hinbekommt, besser und schlechter gibbet da net wirklich =)


    Greetz

  • andere Frage:


    warum kommt im hidden feld eine Variable($aktion) rein?
    und wenn eine Variable warum nicht gleich $_GET['aktion']


    sollte es nicht ein fixer wert sein zum abfragen sein
    wenn ich die variable als wert angeben kann da doch nichts drinnen sein ?


    oder wurde die an einem anderen ort definiert?



    lg


  • Die Variabel ist doch so gesehen ein fixer wert.
    Sie hat den Wert, der momentanen Uhrzeit. würden wir GET_['action'] nehmen.. welcher Wert hätte diese den dann?
    NULL - undefined - 0 - leere Variabel
    Der Besucher kann an ihr nichts ändern.. und das Formular kann da auch keinen Wert für einsetzen.
    (Ok.. außer er kennt sich ein wenig mit PHP aus und verändert die Adresszeile, was aber die wenigstens Besucher einfach so machen xD
    Ausgehend von Get)


    Und ja, sie wurde definiert..

    PHP
    <?php
    echo "eingetragener Vorname:". $_GET ['vorname'];
    $aktion = date ("H.i:s");
    [...]
  • Wir gehen jetzt einfach mal von ganz normalen Besuchern aus.. die wenigsten haben Ahnung von PHP, beziehungsweise wie sie Formulare "manipulieren".
    Natürlich gibt es Leute, die Werte ändern.. aber im Normalfalle macht so etwas niemand =/


    Ansonsten müssen wir mal bei dem Formular noch ein wenig weiter denken.. :P
    Es ist in überhaupt nicht Spam sicher! Das Teil hat man dir binnen eines Tages komplett zu gehauen!
    Beziehungsweise deine Seite gelöscht/zum einstürzten gebracht, da es deine Seite Angreifbar macht.
    Da ist ja wirklich überhaupt keine Sicherheiten eingebaut,.. :P
    Und das du noch am lernen bist, gilt nicht :P


    *Ironie off*

Jetzt mitmachen!

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