Probleme mit "while"-Funktion

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit "while"-Funktion

    Hallo,
    ich habe einen Script geschrieben und erst mit XAMPP getestet. Da funktioniert auch alles wunderbar, nur wenn ich das jetzt auf meinen Server setze kommt folgender Fehler:
    Warning: Variable passed to each() is not an array or object in /srv/www/web1/html/.../nachricht_schreiben.php on line 69
    Hier die Codestelle:
    PHP Code:
    $nachricht[0]["Nickname"] = $_POST['empfaenger'];
    $nachricht[0]["Titel"] = $_POST['betreff'];
    $nachricht[0]["Inhalt"] = $_POST['nachricht'];
    $nachricht[0]["Absender"] = $_SESSION["user_nickname"];
    $nachricht[0]["Empfaenger"] = $_POST['empfaenger'];

    # Datenbankverbindung

    while (list ($key$value) = each ($nachricht)) # Zeile 69
      
    {
      
    $sql "INSERT INTO Nachrichten (Nickname, Titel, Inhalt, Absender, Empfaenger) ".
      
    "VALUES ('".$value["Nickname"]."', '".
                           
    $value["Titel"]."', '".
                           
    $value["Inhalt"]."', '".
                           
    $value["Absender"]."', '".
                           
    $value["Empfaenger"]."')";
    mysql_query ($sql);


  • #2
    var_dump von $nachricht vor der while schleife (die übrigens vollständig durch foreach ersetzt werden kann) gemacht?

    Comment


    • #3
      Wenn ich var_dump davor schreibe, erscheint der selbe Fehler:
      PHP Code:
      $foo = while (list ($key$value) = each ($nachricht)) # Zeile 69
        
      {
        
      $sql "INSERT INTO Nachrichten (Nickname, Titel, Inhalt, Absender, Empfaenger) ".
        
      "VALUES ('".$value["Nickname"]."', '".
                             
      $value["Titel"]."', '".
                             
      $value["Inhalt"]."', '".
                             
      $value["Absender"]."', '".
                             
      $value["Empfaenger"]."')";
      mysql_query ($sql);
      };
      var_dump($foo); 

      Comment


      • #4
        deine lese-fähigkeit ist beeindruckend.

        "davor" heißt "nicht danach".
        und "$nachricht" bedeutet nicht "$foo".

        und dann zeigen.
        Wenn ich var_dump davor schreibe, erscheint der selbe Fehler
        warum sollte ein var_dump auch einen fehler beheben? weißt du, was die funktion tut?

        Comment


        • #5
          Ich weiß das der Befehl nicht behebt, hier nun die Ausgabe:

          PHP Code:
          string(241"Wir bedanken uns für deine Registrierung und wünschen dir viel Spaß :)"
          WarningVariable passed to each() is not an array or object in /srv/www/web1/html/..../nachricht_schreiben.php on line 70 

          Comment


          • #6
            alles klar. was schließt du nun daraus?

            Comment


            • #7
              Das es ein Problem mit
              PHP Code:
              $nachricht[0]["Inhalt"] = $_POST['nachricht']; 
              gibt?

              Comment


              • #8
                das weiß ich nicht, aber das erste wäre: $nachricht ist kein array, sondern ein string. warum das so ist, weiß ich nicht, weil ich die relevanten code stellen nicht kenne.

                Comment

                Working...
                X