![]() |
[php] Kein eintrag
hallo, :hi:
ich hab folgendes problem:
Code:
Das steht bei mir in Gaestebuch.php
<html>
<head> <title> Seite </title> </head> <body> <table border="0" cellpadding="0" cellspacing="4" <tr> <td align="center"> <h2><u>Gästebuch</u></h2> </td> </tr> <tr> <td align="left"> [b]Name: [/b] <form action="gaestebuch.php" method0"post"> <input name="benutzername" method="post" type="text" size="15" maxlength="15"> </form> </td> </tr> <tr> <td> [b]<h4>Hier können sie einen Kommentar hinterlassen.[/b]</h4> <form action="gaestebuch.php" method0"post"> <textarea name="message" cols="50" rows="10"></textarea> </form> </td> </tr> <tr> <td> <form action="gaestebuch.php" method0"post"> <button name="Eintragen" type="button" onClick="self.location.href='http://localhost/Gaestebuch.php'"> [b]<u>Eintragen</u>[/b] </button> </form> </td> </tr> <tr> <td> <?php echo $benutzername; if ($benutzername=="") { echo "if"; # onClick="self.location.href='http://localhost/Gaestebuch.html'" } else { echo "else"; } ?> </td> </tr> </table> </div> </form> </body> </html> Wenn ich auf den Button clicke erwarte ich, dass benutzername auch ausgegeben wird. Wo liegt mein Fehler? PS: Ich lerne seit gestern php. thx und mfg freak |
Re: [php] Kein eintrag
Hm, also das erste, was mir auffällt, ist dass du für jedes Form-Element einen neuen Form-Tag öffnest. Ich glaube nicht, dass die Input-Box in dem Formular in dem sich der Button befindet vorhanden ist. Setze mal die Form-Tags (<form> und </form>) um alle Elemente. ALso ganz oben einen und ganz unten einen.
Dann schreibst im Form-Tag immer method0"post". Also anstelle der 0 ein =, denke ich mal. wenn du das hast, und $benutzername noch immer leer ist, dann schreibe mal folgendes vor das echo $benutzername:
Delphi-Quellcode:
Weisst du, was ich meine?
$benutzername=$_POST['benutzername'];
Gruß Christian |
Re: [php] Kein eintrag
Hi freak *gg*,
das hier:
Code:
sollte wohl eher
method0"post">
Code:
lauten, oder?
method="post">
Greetz alcaeus [add] Du musst außerdem die Formtags über alle Elemente des Formulars drüberlaufen lassen. [/add] |
Re: [php] Kein eintrag
hallo so gehts auch nicht :gruebel:
Code:
//edit : kann das damit zusammen hängen das ich die seite wieder aufrufe) :gruebel:
<html>
<head> <title> Seite </title> </head> <body> <form action="gaestebuch.php" method="post"> <table border="0" cellpadding="0" cellspacing="4" <tr> <td align="center"> <h2><u>Gästebuch</u></h2> </td> </tr> <tr> <td align="left"> [b]Name: [/b] <input name="benutzername" type="text" size="15" maxlength="15"> </td> </tr> <tr> <td> [b]<h4>Hier können sie einen Kommentar hinterlassen.[/b]</h4> <textarea name="message" cols="50" rows="10"></textarea> </td> </tr> <tr> <td> <button name="Eintragen" type="button" onClick="self.location.href='http://localhost/Gaestebuch.php'"> [b]<u>Eintragen</u>[/b] </button> </td> </tr> <tr> <td> <?php echo $benutzername; if ($benutzername=="") { echo "if"; # onClick="self.location.href='http://localhost/Gaestebuch.html'" } else { echo "else"; } $hallo = kuhl; if ($hallo == "kuhl") { echo "hallo"; } ?> </td> </tr> </table> </form> </body> </html> |
Re: [php] Kein eintrag
Hi freak,
du musst dem Button
Code:
zuweisen, sowie diesen Teil
type="submit"
Code:
rausschneiden. Beim Klick wird die Seite nochmal geladen. Wenn du hingegen submit setzt, so wird das Formular weggeschickt, sobald du drauf klickst.
onClick="self.location.href='http://localhost/Gaestebuch.php'"
Anschließend kannst du auch in der php-Datei prüfen, ob der Submit-Button geklickt wurde:
Code:
Greetz
if (isset($HTTP_POST_VARS['submit'])
{ //Eintrag erstellen } else { //Ausgabe } alcaeus |
Re: [php] Kein eintrag
hast du das mit $benutzername=$_POST['benutzername'] probiert?
Also so:
Delphi-Quellcode:
Und du solltest dem Button den type="submit" zuweisen, damit die Werte aus dem Form auch übertragen werden, ansonsten wird nur die Seite neu geladen.
<?php
$benutzername=$_POST['benutzername']; //<------------- Das hier echo $benutzername; if ($benutzername=="") { echo "if"; # onClick="self.location.href='http://localhost/Gaestebuch.html'" } else { echo "else"; } $hallo = kuhl; if ($hallo == "kuhl") { echo "hallo"; } ?> @all: kann es sonst evtl. sein, dass der Inhalt von $benutzername wieder gelöscht wird, da vorher immer ein entsprechendes Form-Element definiert wird? |
Re: [php] Kein eintrag
diese zeile versteht mein php net:
Code:
gibts denn keine editoren die einem sowas sagen ich teste des im browser wenn es angezeigt wird ist der quelltext richtig ansonsten irgendow nen fehler :gruebel:
if (isset($HTTP_POST_VARS['submit'])
mfg freak |
Re: [php] Kein eintrag
Zitat:
Zitat:
Greetz alcaeus |
Re: [php] Kein eintrag
hallo,
ich habs jetzt mal mit:
Code:
versucht. Das geht. :zwinker:
$benutzername=$_POST['benutzername'];
Aber warum? Kann es sein das weil die Seite ja eigentlich geschlossen wird und anschließend wieder geöffnet, dass die Variable gelöscht wurde? Wie wird so ein Code abgearbeitet, einfach von oben nach unten und fertig? PS: Finde es cool das ihr mir Delphi und PHP beibringt. ;) mfg freak |
Re: [php] Kein eintrag
Mit $_POST greifst du auf die Werte zu, welche du per POST-Method aus einem Form übergeben hast. Analog dazu kannst du $_GET benutzen, wenn du die Werte mit GET übergibst.
Warum das ohne diese Zugriffe nicht (mehr) geht, weiss ich auch nicht genau. Damals mit PHP3 ging es noch. Ich habe dann etwas Pause mit PHP gemacht, und bei PHP4 ging es nicht mehr. Ist aber nicht so wirklich schlimm, ich finde es so sogar etwas übersichtlicher. Kann aber auch mit den PHP-Einstellungen zusammenhängen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz