Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [php] Kein eintrag (https://www.delphipraxis.net/33352-%5Bphp%5D-kein-eintrag.html)

freak4fun 5. Nov 2004 14:55


[php] Kein eintrag
 
hallo, :hi:

ich hab folgendes problem:

Code:
<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>
Das steht bei mir in Gaestebuch.php

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

Bowler 5. Nov 2004 15:00

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:
$benutzername=$_POST['benutzername'];
Weisst du, was ich meine?

Gruß
Christian

alcaeus 5. Nov 2004 15:01

Re: [php] Kein eintrag
 
Hi freak *gg*,

das hier:
Code:
method0"post">
sollte wohl eher
Code:
method="post">
lauten, oder?

Greetz
alcaeus

[add]
Du musst außerdem die Formtags über alle Elemente des Formulars drüberlaufen lassen.
[/add]

freak4fun 5. Nov 2004 15:14

Re: [php] Kein eintrag
 
hallo so gehts auch nicht :gruebel:

Code:
<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>
//edit : kann das damit zusammen hängen das ich die seite wieder aufrufe) :gruebel:

alcaeus 5. Nov 2004 15:19

Re: [php] Kein eintrag
 
Hi freak,

du musst dem Button
Code:
type="submit"
zuweisen, sowie diesen Teil
Code:
onClick="self.location.href='http://localhost/Gaestebuch.php'"
rausschneiden. Beim Klick wird die Seite nochmal geladen. Wenn du hingegen submit setzt, so wird das Formular weggeschickt, sobald du drauf klickst.
Anschließend kannst du auch in der php-Datei prüfen, ob der Submit-Button geklickt wurde:
Code:
if (isset($HTTP_POST_VARS['submit'])
{
//Eintrag erstellen
}
else
{
//Ausgabe
}
Greetz
alcaeus

Bowler 5. Nov 2004 15:20

Re: [php] Kein eintrag
 
hast du das mit $benutzername=$_POST['benutzername'] probiert?

Also so:

Delphi-Quellcode:
<?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";
    } 
?>
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.

@all: kann es sonst evtl. sein, dass der Inhalt von $benutzername wieder gelöscht wird, da vorher immer ein entsprechendes Form-Element definiert wird?

freak4fun 5. Nov 2004 15:27

Re: [php] Kein eintrag
 
diese zeile versteht mein php net:

Code:
if (isset($HTTP_POST_VARS['submit'])
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:

mfg
freak

alcaeus 5. Nov 2004 15:30

Re: [php] Kein eintrag
 
Zitat:

Zitat von freak4fun
diese zeile versteht mein php net:

Code:
if (isset($HTTP_POST_VARS['submit'])

Ist klar, ich habe auch eine Klammer vergessen :wall:

Zitat:

Zitat von freak4fun
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:

kA, anscheinend gibts bei SourceForge irgendeine php-IDE, ich hab aber nie sowas probiert.

Greetz
alcaeus

freak4fun 5. Nov 2004 15:54

Re: [php] Kein eintrag
 
hallo,

ich habs jetzt mal mit:

Code:
$benutzername=$_POST['benutzername'];
versucht. Das geht. :zwinker:

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

Bowler 5. Nov 2004 15:58

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 01:18 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz