Formular in PHP-Code

  • Themenstarter Themenstarter moritz115
  • Beginndatum Beginndatum
M

moritz115

Hallo,

ich programmiere gerade eine Webseite, bin PHP Anfänger und stehe jetzt vor einem Problem. Ich denke, mit eurer Hilfe ist es zu lösen und nächstes Mal kann ich es selber.
Und zwar folgendes Problem:


Ich möchte in diesen PHP-Code ein Formular einbauen.


PHP:
 echo '<a href="an_admin.php?seite='.$ausgabe['ID'].'"> Page an Admin zur Prüfung weiterleiten.</a>';


Es soll dann so aussehen, dass neben dem Link "Page an Admin zur Prüfung weiterleiten" ein Textfeld ist. Nur eine Reihe. Also type="text".

So soll es funktionieren: Wenn auf den Link "Page an Admin zur Prüfung weiterleiten geklickt wird, soll der vorher in das Textfeld eingetragene Inhalt zu "an_admin.php" weitergeleitet werden. Per "$_POST". Gleichzeitig soll wie beim Link noch .php?seite='xyz' stehen bleiben.



Wie baue ich dort jetzt passend ein Formular ein?
Vielen Dank im Vorraus!
moritz115
 
Zuletzt bearbeitet von einem Moderator:
Erst einmal musst du ein Formular drum herum bauen. Anschließend kannst du das Input-Field einbauen. Dann müsstest du deinen Link mit Java-Script also Submit-Button missbrauchen:

PHP:
echo '<form action="' . $PHP_SELF . '" method="post">' . 
'<a href="an_admin.php?seite='.$ausgabe['ID'].'" onclick="submit();"> Page an Admin zur Prüfung weiterleiten.</a>' .
'<input type="text" name="somename"/>'
'</form>';

Man achte auf das onclick-Attribute innerhalb des Links.

Sollte eigentlich so funktionieren.
 
Vielen Dank! Hat super geklappt ;) In der 3. Zeile fehlte nur ein Simikolon (;)

Danke
moritz115
 
Dies kannte ich noch gar nicht. Vielen Dank für die Info. Werds mir notieren. Nicht das ich damit in Kontakt kommen würde...
 
Cross-Site-Scripting ist wie MySQL Injections... Man kann indem man den php datei namen ändert:
datei.php
zu
datei.php?'; exit();

wenn ich nun PHP_SELF ausgebe steht hier dann:
PHP:
echo 'datei.php?'; exit();
Das wäre nicht so gut ;)
So wurde zum Beispiel auch die seite meines freundes gehackt....
Mfg
Daniel
 
@Daniel: Soweit ich das sehe, kann man so keinen PHP-Code einschleusen, nur Js oder andere Clientsided Scripts. Php müsst nochmal geparst werden, dass der auch ausgeführt wird.
Bei einem einfachen echo von PHP_SELF wird er aber nicht ausgeführt. Dafür müsste man dann schon eval() bringen. Wie wir alle wissen ist eval aber evil, außer man kann damit umgehen.
Somit bezweifel ich, dass die Seite deines Freundes durch ein ungeschicktes echo gehackt wurde, ich lasse mich aber gerne belehren.
 
Zuletzt bearbeitet:
Zurück