Probleme mit "while"-Funktion

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

  • 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?

    Kommentar


    • #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); 

      Kommentar


      • #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?

        Kommentar


        • #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 

          Kommentar


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

            Kommentar


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

              Kommentar


              • #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.

                Kommentar

                Lädt...
                X