Was ist hier falsch??

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Was ist hier falsch??

    PHP-Code:
    <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Formular</title>
    </head>

    <body>
    <h1>Formular mit PHP an die Datenbank schicken</h1>
    <?php
    //$flag==1, wenn das Formular abgeschickt wurde
    if( $flag=="1" )
    {
    //testen, ob Felder ausgefüllt sind
    if( !$_POST['anrede']){$fehler="Bitte geben Sie eine Anrede ein. <br>";}
    if( !
    $_POST['name']){$fehler.="Bitte geben Sie einen Namen ein. <br>";}

    //Wenn Fehler vorhanden, die Textausgabe formatieren und $flag zurücksetzen, damit das Formular erneut angezeigt wird
    if( $fehler )
    {
    $meldung="<h2><font color=red>" $fehler "</font></h2>";
    //$flag zurücksetzen
    unset( $flag );
    }
    else
    {
    $table="wuensche";
    $verbindung mysql_connect $hostname $username $password ) or die( "Connect-Fehler");
    mysql_select_db ($database$verbindung);
    $result mysql_query ("insert into $table set Anrede='".$_POST["anrede"]."', Name='".$_POST["name"]."'");

        if( 
    $result == true )
            echo 
    "Datensatz wurde eingefügt..<br><br>";
        else
            echo 
    "Failed";

    mysql_close();
    }
    echo 
    $meldung;
    }
    //Ende $flag==1

    if( !$flag )
    {
    ?>
    <form action='<?php echo $PHP_SELF?>' method="POST" name="form1">
    <table width="80%" border="1">
        <tr>
        <td><input  name="flag" type="hidden" value="1"></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>Anrede</td>
        <td><input name="anrede" type="text" value='<?php echo $_POST['anrede']; ?>'/></td>
      </tr>
      <tr>
        <td>Name</td>
        <td><input name="name" type="text" value='<?php echo $_POST['name']; ?>'/></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type="submit" name="Submit" value="Abschicken" /></td>
      </tr>
    </table>
    </form>
    <?php
    }
    ?>

    </body>
    </html>
    EDIT:
    php.tags powered by Abraxax

  • #2
    Was ist hier falsch??
    was funktioniert denn nicht?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Es erscheint weder eine Fehler- noch eine Erfolgsmeldung und das Formular ruft sich immer wieder selbst auf.

      Kommentar


      • #4
        hi

        bei mir funktioniert dein Script...

        cya CrazyPip

        Kommentar


        • #5
          Ok, ich habe den Fehler gefunden.
          Wenn register_globals auf Off steht, dann muss man statt: if( $flag=="1" ) folgendes schreiben:
          if( $_POST['flag']=="1")


          @CrazyPip,
          bei dir steht register_globals bestimmt auf ON.

          Danke für eure Antworten.

          Kommentar


          • #6
            egal ob reg-global ON oder OFF ist, man sollte immer mit $_POST $_GET usw arbeiten.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X