Formular Variablen in PHP laden

BFreakout

Erfahrenes Mitglied
Hi Leutz,

ich bin ganz erlich erst PHP-Newbie und Checke das mit den Formular Variablen noch nicht so ganz...

Die html datei...

<form action="create.php">
Von: <br>
<input name="name" type="text">
<br>
<br>
Update-Details:<br>
<textarea name="bericht" cols="40" rows="5"></textarea>
<br>
<br>
<input type="submit" value="weiter">
<br>
</form>

da wo doch NAME steht werden doch die dazugehörigen Variablen für PHP hergenommen?! z.B. Die Variablen: name und bericht...

das soll dann in die PHP datei geladen werden, wo dann diese Variablen benutzt werden sollen.

Die php-datei:

$eingabe = ("<center><table width='75%' border='1' align='center' bordercolor='#000000'>
<tr>
<td bgcolor='#CCCCCC' class='teaserText'><font color='#333333'>v.1.0
erstellt am $datum </font></td>
</tr>
<tr>
<td class='teaserText'> $bericht </td>
</tr>
<tr>
<td bgcolor='#CCCCCC' class='teaserText'>
<div align='right'><font color='#FF0000'>Von $name </font></div></td>
</tr>
</table></center><br><br>");

ich hatte das selbe schonmal gemacht, dann ging es eigentlich so, aber jetzt kommen von 2 verschiedenen Servern mit php, die folgende Fehlermeldung..

Notice: Undefined variable: bericht in create.php on line 8

Notice: Undefined variable: vom in create.php on line 21

also ungültige Variable :,-/
den rest der PHP-Datei fürht er sauber aus...

Würde mich um Hilfe von euch Freuen...
 
Wahrscheinlich ist bei dir register_globals = off!
D.h. du musst deine Variablen mit $_POST['bericht'] und $_POST['name'] ansprechen (füge bitte noch in deinem <form>-Tag das Attribut method="post" hinzu).
 
Das nächste mal bitte die Suchfunktion benutzen, das Thema hatten wir hier schon öfters (Thema Register Globals)!

Zunächst muss der <form>-Tag um die method-Angabe (die Art, in der das Forumular übermittelt wird, POST -> intern über den Browser, GET -> über die URL) erweitert werden:

Code:
<form action="create.php" method="post">
Und in dem PHP-Script, was das Formular verarbeitet, greifst Du auf das superglobale Post-Array zu.

PHP:
$_POST['name']
$_POST['bericht']
 
hab wirklich gesucht gehabt...

Danke, es geht jetzt.... aber echt komisch, wie kann es sein, das es
jetzt nur mit $_POST[$bericht] geht Ich war mich sicher das es auch ohne den Post befehl ging :rolleyes:
 
Original geschrieben von BFreakout
hab wirklich gesucht gehabt...

Danke, es geht jetzt.... aber echt komisch, wie kann es sein, das es
jetzt nur mit $_POST[$bericht] geht Ich war mich sicher das es auch ohne den Post befehl ging :rolleyes:
Das liegt daran, dass seit der PHP Version 4.2 register_globals standardmäßig auf off steht. Wenn Du ordentlich gesucht hättest, hättest Du zwei nützliche Seiten gefunden:

http://www.tutorials.de/tutorials128581.html
http://de3.php.net/manual/de/security.registerglobals.php
 
Zurück