MySQL Formular will net

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Mutator, 27. Juli 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 27. Juli 2006
    huhu leutz,

    Ich bin grade ein bissl dabei mir MySQL in PHP bei zu bringen und hab so aus testzwecken ein Formular gebastelt was den inhalt in die Datenbank reinschreiben soll aber des ding will net so wirklich. -.-
    Ich hab schon alles versucht aber ich bekomme des net gebacken bzw. kann den fehler nicht ausmärzen.
    Deswegen hoffe ich das ihr mir einen gedankensprung geben könnt

    hier der Code:
    PHP:
    <? php
    if(isset( $_POST [ 'action' ]))  $action = $_POST [ 'action' ];
    include(
    "mysql.php" ); 
    ?>
    <head>
    <title>MySQL-Lernpage</title>
    </head>
    <body>
    <div align="center">
    <?php
    if( $action ){
    echo 
    '<form method="post" action="' . $_SERVER [ 'PHP_SELF' ]. '">
           Überschrift:<input name="kopf" type="text"><br>
           <textarea name="inhalt" cols="30" rows="10">der Inhalt</textarea><br>
           Autor: <input name="verfasser" type="text"><br>
           <input name="action" type="submit" value="senden">
           <input name="back" type="reset" value="zurücksetzen">
           </form>'
    ;}
           else {
    $kopf  $_POST [ 'kopf' ];
    $inhalt  $_POST [ 'inhalt' ];
    $verfasser  $_POST [ 'verfasser' ];
    $eintrag  "INSERT INTO News (headline, content, autor) VALUES ( $kopf $inhalt $verfasser )" ;
    $eintragen  mysql_query ( $eintrag );
           }
    ?>
    <hr>
    <table border="0">
    <tr>
    <td>
    <?php
    $abfrage 
    "SELECT headline, content, autor FROM News ORDER BY id DESC LIMIT 10" ;
    $ergebnis  mysql_query ( $abfrage );
    while(
    $ausgabe  mysql_fetch_object ( $ergebnis )){
    echo 
    '<table border=\"1\">
          <tr>
           <td style=\"border:1px solid #000000;\">
            '
    . $ausgabe -> headline . '
           </td>
          </tr>
          <tr>
           <td style=\"border:1px solid #000000;\">
            '
    . $ausgabe -> content . '
           </td>
          </tr>
          <tr>
           <td align=\"right\" style=\"border:1px solid #000000;\">
           '
    . $ausgabe -> autor . '
           </td>
          </tr>
          </table>'
    ;
    }
    ?>
    </td>
    </tr>
    </table>
    </div>
    </body>
    </html>

    ich bin für jede Hilfe dankbar und verteile auch gerne 10er


    greetz
     
  2. 27. Juli 2006
    PHP:
    if( $action ){
    echo 
    '<form method="post" action="' . $_SERVER [ 'PHP_SELF' ]. '">
           Überschrift:<input name="kopf" type="text"><br>
           <textarea name="inhalt" cols="30" rows="10">der Inhalt</textarea><br>
           Autor: <input name="verfasser" type="text"><br>
           <input name="action" type="submit" value="senden">
           <input name="back" type="reset" value="zurücksetzen">
           </form>'
    ;}
           else {
    $kopf  $_POST [ 'kopf' ];
    $inhalt  $_POST [ 'inhalt' ];
    $verfasser  $_POST [ 'verfasser' ];
    $eintrag  "INSERT INTO News (headline, content, autor) VALUES ( $kopf $inhalt $verfasser )" ;
    $eintragen  mysql_query ( $eintrag );
           }
    Das peil ich net. Wenn $action, dann soll das Formular angezeigt werden, sonst der DB-Eintrag - das sollte doch genau andersrum sein.

    PHP:
    <? php
    // ganz oben:
    $action  $_POST [ 'action' ];

    if(!isset(
    $action )){

    ?>
    <form method="post" action="'.$_SERVER['PHP_SELF'].'">
       Überschrift:<input name="kopf" type="text"><br>
       <textarea name="inhalt" cols="30" rows="10">der Inhalt</textarea><br>
       Autor: <input name="verfasser" type="text"><br>
       <input type="hidden" name="action" value="insert">
       <input type="submit" value="senden"><input type="reset" value="zurücksetzen">
    </form>
    <?php

    } else if( $action == "insert" ) {
       
    $kopf  $_POST [ 'kopf' ];
       
    $inhalt  $_POST [ 'inhalt' ];
       
    $verfasser  $_POST [ 'verfasser' ];
       
    $eintrag  "INSERT INTO News (headline, content, autor) VALUES ('" $kopf  . "', '" $inhalt  . "', '" $verfasser  . "')" ;
       
    $eintragen  mysql_query ( $eintrag );

       if(
    $eintragen )
          echo 
    "eingetragen<br />" ;
       else
          echo 
    "Fehler beim Eintragen: " mysql_error ();
    }
    So sollt's gehen oder wenigstens 'ne Fehlermeldung ausspucken.
     
  3. 27. Juli 2006
    hmm ich habe deinen geposteten Script ausprobiert und da kommt die Fehlermeldung:
    Code:
    The requested URL /test/'.$_PHP_SELF.' was not found on this server.
    der gleiche fehler kahm auch bei $_SERVER['PHP_SELF'] oder wenn ich index.php gesetzt habe :baby:
     
  4. 27. Juli 2006
    Klar, hab was übersehen - hab ja den echo-Befehl rausgenommen und die PHP-Tags geschlossen. Muss so aussehen:

    PHP:
    <form method="post" action="<?php  echo  $_SERVER [ 'PHP_SELF' ];  ?>">
     
  5. 27. Juli 2006
    ich ... wieso habe ich das selber nicht gesehen xD

    es funzt jetzt einwandfrei juhuu *freu*
    dankeschön für deinen hilfe großer ... bekommst sofort von mir einen 10er

    ist geclosed
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.