bumblebee: Warning: reset() expects parameter 1 to be array, null given in

Liebe Leute,

ich bin ein ZIEMLICHER Anfänger, was das Programmieren angeht. Trotzdem habe ich mit Hilfe eines Buches mit HTML, ein bisschen Java-Script und etwas PHP eine Website zustande gekriegt, mit der ich bis auf Folgendes auch zufrieden bin:

Warning: reset() expects parameter 1 to be array, null given in /www/htdocs/(...)/(...).php on line 39

Diese Warnung erscheint für die Besucher meiner Website sichtbar am oberen Fensterrand, nachdem mein Kontaktformular genutzt wurde. Das PHP ist mein Formular-Feedback. Im Grunde funktioniert sonst alles, wie es soll, aber das mit der sichtbaren Warnung, die dann den Websiten-Inhalt nach unten verschiebt, kann so irgendwie nicht bleiben... :-)

Der dazugehörige Quelltext lautet:

$mailhead = "From: $email\n";
reset ($HTTP_POST_VARS);

Leider konnte ich in PHP bisher nicht so tief einsteigen, dass mir die Warnung irgendetwas sagt.

Würde mich super freuen, wenn da vielleicht jemand einen Tipp für mich hat, wie ich die Warnung wegbekomme !!!

Danke schonmal,
die Hummel

  1. Meine Herren,

    Diese Warnung erscheint für die Besucher meiner Website sichtbar am oberen Fensterrand

    Das anzeigen von Fehlermeldungen lässt sich über die ini-Eigenschaft "display_errors" steuern. Dein erster Ansatz sollte aber sein, den Fehler zu beheben und nicht einfach auszublenden. Wenn dein Auto seltsame Geräusche macht, hilft es schließlich auch nicht, das Radio lauter zu drehen.

    Leider konnte ich in PHP bisher nicht so tief einsteigen, dass mir die Warnung irgendetwas sagt.

    Oft hilft schon die reine Übersetzung den Fehler zu verstehen:

    Warning: reset() expects parameter 1 to be array, null given in /www/htdocs/(...)/(...).php on line 39

    Sinngemäß:
    Warnung: reset() erwartet ein Array als ersten Parameter, stattdessen wurde "null" übergeben.
    Scheint also, dass $HTTP_POST_VARS kein Array ist. In der Dokumentation steht zu $HTTP_POST_VARS, dass es veraltet ist und nicht mehr benutzt werden soll. Warum benutzt du nicht einfach $_POST?

    Würde mich super freuen, wenn da vielleicht jemand einen Tipp für mich hat, wie ich die Warnung wegbekomme !!!

    Den Fehler beseitigen nicht die Fehlermeldung.

  2. Om nah hoo pez nyeetz, bumblebee!

    $mailhead = "From: $email\n";
    reset ($HTTP_POST_VARS);

    Dies tut reset().

    $HTTP_POST_VARS ist veraltet. Es [kann gut|sollte so] sein, dass deine PHP-Version dies nicht mehr unterstützt. Die Lösung heißt also:

    Verwende $_POST. Das reset() ist mMn auch nicht nötig. Ich habe den Verdacht, dass du ein Uralt-Skript verwendest, das du irgendwo im Internet gefunden hast. Schau dir stattdessen diesen PHP-Form-Mailer an.

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Par und Parasit.

  3. Tach!

    Warning: reset() expects parameter 1 to be array, null given in /www/htdocs/(...)/(...).php on line 39
    Der dazugehörige Quelltext lautet:
    reset ($HTTP_POST_VARS);

    Dieses Array existiert schon seit einer Weile nicht mehr in aktuellen PHP-Versionen. Wirf das Kontaktformular-Script weg, es ist veraltet. Alternativ such dir ein aktuelles Tutorial. Aktuell stehen die POST-Daten in $_POST.

    Leider konnte ich in PHP bisher nicht so tief einsteigen, dass mir die Warnung irgendetwas sagt.

    Wenn in PHP etwas nicht existiert, ist beim Lesezugriff das Ergebnis null, zuzüglich einer Notice-Meldung (die angezeigt wird, wenn man das error_reporting auf E_ALL stellt). reset() will aber ein Array und beschwert sich über das null.

    dedlfix.

    1. Vielen Dank für Eure Antworten !

      Das Einsteiger-Buch, aus dem ich das PHP-Skript hatte, ist aus 2011. Das schien mir erstmal nicht so sonderlich alt - ist es, was diese Thematik angeht, dann aber wohl doch.

      Ich habe jetzt das reset und HTTP weggelassen. Das hat geholfen ! Vielen Dank !

      ich weiß ja, dass ich da gerad wissenmäßig nur an der Oberfläche kratze und viel an Symptomen herumdoktore. Aber momentan steht das berufliche im Vordergrund, sodass ich meine Kenntnisse in PHP und anderem erst wann anders erweitern kann und die Website fürs erste einfach laufen muss. Das klappt ja jetzt !

      Also ganz vielen Dank für die prompte Hilfe !!! :-)

      1. Hallo!

        Das Einsteiger-Buch, aus dem ich das PHP-Skript hatte, ist aus 2011. Das schien mir erstmal nicht so sonderlich alt - ist es, was diese Thematik angeht, dann aber wohl doch.

        Erfahrungsgemäß ist fast jedes Buch zum Thema Programmieren schon mit der Veröffentlichung veraltet.
        Die Entwicklung schreitet einfach schneller voran als man es mit der Veröffentlichung von Büchern schafft. Stattdessen solltest du die Online-Dokumentation benutzen.

        ich weiß ja, dass ich da gerad wissenmäßig nur an der Oberfläche kratze und viel an Symptomen herumdoktore. Aber momentan steht das berufliche im Vordergrund, sodass ich meine Kenntnisse in PHP und anderem erst wann anders erweitern kann und die Website fürs erste einfach laufen muss. Das klappt ja jetzt !

        Sicher? Im schlimmsten Fall hast du ein Kontaktformular das prima als Spamschleuder zu gebrauchen ist. Warum nutzt du nicht einfach eins der zahlreichen Content Management Systeme?
        Wordpress oder Contao als Beispiele sind auch keine Hexerei aber du brauchst dir dafür keine Gedanken um Sachen machen von denen du selbst sagst, dass du davon keine Ahnung hast.

        Grüße, Matze

  4. Hallo,

    ich bin ein ZIEMLICHER Anfänger, was das Programmieren angeht.

    darf man das so verstehen, dass du das PHP-Script, das du verwendest, "irgendwo gefunden" und eingebaut hast, ohne es wirklich zu verstehen? Denn wenn man das tut, sollte man sich zumindest über die Hintergründe schlau machen - etwa welche Voraussetzungen das Script zum Funktionieren braucht, welche Schwachstellen es hat, für welche PHP-Version es geschrieben ist.

    Warning: reset() expects parameter 1 to be array, null given in /www/htdocs/(...)/(...).php on line 39

    $mailhead = "From: $email\n";
    reset ($HTTP_POST_VARS);

    Wie alt ist denn das Script, das du da benutzt? Denn $HTTP_POST_VARS gilt schon seit Ewigkeiten als überholt und ist in vielen PHP-Installationen schon gar nicht mehr verfügbar. Vermutlich ist das bei dir auch so, daher ergibt der Zugriff darauf nur null.

    Würde mich super freuen, wenn da vielleicht jemand einen Tipp für mich hat, wie ich die Warnung wegbekomme !!!

    Am einfachsten, indem du den Aufruf von reset() weglässt. Ich kann mir nicht vorstellen, wozu der da gut sein soll. Allerdings ist das, ohne das Script wirklich zu kennen, auch nur ein Schuss ins Blaue.

    Und damit kurierst du natürlich nur Symptome; wahrscheinlich hat das Script aufgrund seines biblischen Alters noch zahlreiche andere Rostlöcher. Sinnvoller wäre also vielleicht sogar, es von Grund auf neu aufzubauen.

    Ciao,
     Martin

    --
    Dieser Satz wurde in mühsamer Kleinstarbeit aus einzelnen Wörtern zusammengesetzt.
      (Hopsel)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(