PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script an PHP 5 anpassen


Scream
2007-02-19, 16:04:28
Ich habe hier ein Script, welches geschrieben wurde als es noch PHP 4 gab. Auf PHP 5 gibt es leider ein paar Fehlermeldungen:

Warning: array_merge() [function.array-merge]: Argument #3 is not an array in C:\xampplite\htdocs\News\install.php on line 19
Warning: extract() [function.extract]: First argument should be an array in C:\xampplite\htdocs\News\install.php on line 20

Die Zeilen 19 und 20 in dem Script lauten folgendermaßen:
<?
$GET_POST = array_merge($_GET, $_POST, $_SESSION);
extract($GET_POST);


Nun habe ich zudem noch das hier gefunden:
http://www.php-homepage.de/manual/function.array-merge.php

Leider bin ich kein PHP Fan und bekomme den Fehler nicht behoben. Ich hoffe ihr könnt mir helfen!

Matrix316
2007-02-19, 16:43:57
Anscheinend liegt der Fehler bei $_SESSION.

The_Invisible
2007-02-19, 18:32:10
das array $_SESSION gibt es nur wenn du zuvor session_start() aufgerufen hast

mfg

Kinman
2007-02-19, 19:25:25
Eventuell (aber unsauber)..

if (!isset($_SESSION)) $_SESSION = array();


mfg Kinman

Scream
2007-02-20, 08:13:54
Eventuell (aber unsauber)..

if (!isset($_SESSION)) $_SESSION = array();


mfg Kinman


Danke so funktioniert es :D

creave
2007-02-20, 12:09:09
Warum is diese Lösung unsauber?

//e: (keine rhethorische Besserwisserfrage, interessiert mich wirklich :) )

Kinman
2007-02-20, 12:49:24
Warum is diese Lösung unsauber?

//e: (keine rhethorische Besserwisserfrage, interessiert mich wirklich :) )

Weil man die Funktion gar nicht erst aufrufen sollte, wenn die $_SESSION nicht gesetzt ist.
Aber für das genannte Problem sicher die einfachste Lösung.

mfg Kinman

MadMan2k
2007-02-20, 14:09:28
die Zeile 19+20 sind übrigens ne fette Sicherheitslücke. (register_globals)