Ergebnis 1 bis 6 von 6
  1. #1
    Stiller Leser
    Registriert seit
    10.07.2008
    Beiträge
    3

    Standard MYSQL / PHP Problem - Daten werden nicht eingetragen

    Also ich habe zZ folgendes Problem:
    Wenn ich bei meinem ersten PHP Script (Post.php) ne Nachricht eintrage und dann mittels form auf mein andres Script verweise, dann wird kein Eintrag erstellt. Dabei müsste ich eigentlich alles angegeben haben, was nötig ist.

    Hier die 2 Scripts:
    Post.php
    Code:
    <html>
    <head>
        <title> Neue Nachricht </title>
    </head>
    <body>
    <form action = "valid.php" method="post">
        Autor:
     <input name = "Autor">
        
    
    
        Titel:
     <input name = "Titel">
        
    
    
        Nachricht:
     <textarea cols = "50" rows = "10" name="Inhalt">
               </textarea>
        
    
    
        <input type = "submit" value = "Nachricht erstellen">
        <input type = "reset" value = "Zurücksetzen!">
    </form>
    </body>
    </html>
    und hier mein 2. Script, Valid.php:

    Code:
    <html>
    <head>
        <title> Neue Nachricht </title>
    </head>
    <body>
    <?php
        error_reporting(E_ALL);
        include 'inc/config.php';
        
        @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("<font color=red>Es konnte keine Verbindung zur Datenbank hergestellt werden!
    Bitte versuchen sie es zu einem späteren Zeitpunkt erneut!
     Fehlermeldung: ".mysql_error()."</font>");
       //
        mysql_select_db(MYSQL_DATABASE) OR die("<font color=red>Datenbank konnte nicht ge&ouml;ffnet werden. 
    Fehlermeldung:".mysql_error()."</font>");
       //
       echo "\n
    <font color=green>Datenbank ge&ouml;ffnet!</font>
    ";
       //
        mysql_query("
          INSERT INTO News
            (Titel, Inhalt, Datum, Autor)
          VALUES
            ($Titel,
            $Inhalt,
            NOW(),
            $Autor
            );
        ");
        echo "Nachricht erstellt.";
        
        $sql = "SELECT
                Titel,
                Inhalt,
                Datum,
                Autor
            FROM
                News
            ORDER BY
                Datum DESC;";
      //
      $result = mysql_query($sql) OR die(mysql_error());
      echo "huhu!";
        
    ?>
    </body>
    </html>
    Wenn ich bei meinem ersten Script auf Nachricht absenden drücke, werde ich auf meine valid.php umgeleitet.

    Irgendwie hab ich das Gefühl, dass ich auf m Schlauch stehe :roll: , weil ich einfach keine Ahnung hab wo der Fehler noch sein könnte. Wenn er irgendwo noch ist, dann am Anfang vom zweiten Script oder im ersten Script.

    MFG Glookie1

  2. #2
    Stanley Jobson Avatar von Lidloses_Auge
    Registriert seit
    05.01.2007
    Beiträge
    750

    Standard

    WIe wärs damit, erstmal den POST Parameter rauszuziehen?
    Seh ich bei dir nirgends.

  3. #3
    Kuschel-Wuschel enco Avatar von enco
    Registriert seit
    26.01.2006
    Beiträge
    1.075

    Standard

    Richtig, du benutz zwar die Variablen $Titel, $Inhalt und $Autor, weist denen aber nirgends einen Wert zu ;-)
    Schreibe am Anfang einfach folgendes:
    $Titel = $_POST['Titel'];
    etc ...
    Dann klappt es auch.

  4. #4
    Stiller Leser
    Registriert seit
    10.07.2008
    Beiträge
    3

    Standard

    thx werds sofort mal ausprobieren und schreib dann obs funktioniert hat

    mfg glookie1

    €dit:

    Daran liegts nicht. Ich übergebe den Text ja über Post, sodass er nicht über die Url übergeben wird. Außerdem habe ich festgestellt, dass wenn ich die echo "$Inhalt"; eingebe der Inhalt auch ohne $Inhalt = $_POST['Inhalt']; ausgegeben wird (der richtige ).
    Ich vermute, dass es an einem der mysql_querys liegt, bin mir jedoch nicht sicher, die Datenbank ist auch erstellt, er erstellt jedoch einfach keine neuen Beiträge -.-*

    Na ja werd mir den Code noch mal genau angucken und den Fehler suchen.
    Wäre trotzdem froh, wenn mir jemand mal sagen könnte wo der Fehler liegt.

    €dit2:

    Der Fehler war, das man $Inhalt in Anführungszeichen setzten musste \"$Inhalt\", dann gehts.

    Noch mal THX an alle die mitgeholfen haben.

    mfg glookie1

  5. #5
    Stanley Jobson
    Registriert seit
    03.10.2007
    Beiträge
    655

    Standard

    kanst du mir das Projekt mal per PM zukommen lassen? Lerne Gerade php Und ich würd mir das jetzt mal ankuken. Danke

    Hier mein BM Link
    [6/0]

  6. #6
    Stanley Jobson
    Registriert seit
    09.12.2006
    Beiträge
    671

    Standard

    Code:
    $time=time();
    
    
    
    mysql_connect($dbhost,$dbuser,$dbpass);
    
    @mysql_select_db($db) or die( "Unable to select database");
    
    $query = "INSERT INTO `users` (aktiv,rechte,username,password,email,anmeldung,besonderheiten,newsletter,layer) VALUES ('1','1','$user','$pass','$email','$time','no limit','no','1')";
    
    mysql_query($query);
    
    mysql_close();

    das sollte dir helfen. musste nur anpassen. so muss die syntax aussehen.

    natürlich noch per $x=$_POST['x'];

    die variable "füllen"

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •