BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- PHP Zugriff HTML-Textfelder (http://www.black-board.net/thread.php?threadid=21067)


Geschrieben von black1654 am 07.09.2005 um 16:18:

  Zugriff HTML-Textfelder

Für eine Prüfung die ich bald schreibe müsste ich wissen, wie ein Php Script auf Textfelder zugreifen kann, die sich in einer anderen Htmldatei befinden.

Ich habe dazu mal als Beispiel ein kleines HTML Formular erstellt. Hierin gibt es nur ein Textfeld und den Sende Button, nach Betätigung des Buttons wird der Inhalt, aufgrund des Formulars, an die Datei "test.php geschickt.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
<html>
 <head>
  <title> Bla </title>
 </head>

 <body>
   <form action = test.php method = "post" >
     <input type = "label" name = textfeld 1 />
     <input type = submit Value = senden />
   </form>
 </body>
</html>


Jetzt habe ich in selben Ordner meine Datei "test.php". Diese soll einfach nur die eingabe im Textfeld ausgeben. Reicht dazu diese Code

code:
1:
2:
3:
4:
5:
<?
   echo "die Eingabe lautet" + textfeld1 +"";
?>

oder muss ich dafür noch Sachen wie

code:
1:
2:
3:
$eingabe = $_REQUEST ['etextfeld1'] einbauen?

einbauen? Oder gibt es doch einen ganz anderen Weg...?


Da ich selber leider keinen Php interpreter habe und mir auch die Zeit fehlt, dies ausführlicher zu testen, frage ich hier nach.

Mit freundlichen Grüßen

Micha



Geschrieben von Flobre am 07.09.2005 um 16:42:

 

php:
1:
2:
3:
4:
5:

<?php
   echo("die Eingabe lautet" $_POST['textfeld1']);
?>


so zum Beispiel



Geschrieben von LX am 07.09.2005 um 21:42:

Achtung RE: Php zugriff HTML Textfelder

Wenn du die Tags schon XML-konform schließt, dann mach den ganzen überflüssigen Whitespace raus, so dass das wenigstens einigermaßen wie echtes XHTML aussieht:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<html>
 <head>
  <title>Bla</title>
 </head>

 <body>
   <form action="test.php" method="post">
     <input type="text" name="textfeld1"/>
     <input type="submit" value="senden"/>
   </form>
 </body>
</html>


Und die Beantwortung deiner Frage richtet sich danach, ob in der PHP-Konfiguration der Parameter register_globals auf on oder off steht. In ersterem Fall würde ein einfaches

php:
1:
echo 'Deine Eingabe: ' $textfeld1;


reichen. Allerdings sollte man nie davon ausgehen, dass dies gesetzt ist, da man damit auch ein nicht unerhebliches Sicherheitsrisiko eingeht. Zu bevorzugen ist also in beiden Fällen die von Flobre vorgeschlagene Variante

php:
1:
echo 'Deine Eingabe: ' $_POST['textfeld1'];


Wenn du die Formulardaten mittels HTTP-GET übermittelst, dann natürlich entsprechend $_GET['textfeld1']. Wenn beides möglich ist, kriegst du's auch in $_REQUEST['textfeld1'].

Und wenn du was zu PHP sagen/schreiben willst, dann bietet es sich wirklich an, auch einen Interpreter zu installieren und seine Beispiele mal nachzuvollziehen. Augenzwinkern


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH