Array? explode()?

Guten Tag,

ich habe ein Script von Milliscripts installiert.
Nun möchte ich einen Nutzer Registrieren.

Sowie ich allerdings bei URL Weiterleitung etwas eingebe bekomme ich immer die Meldung
url not valid

und als Fehler dazu noch:

[code]Warning: explode() expects parameter 2 to be string, array given in /users/deusex/www/sub/myred/include/functions.php on line 16

Warning: in_array() expects parameter 2 to be array, null given in /users/deusex/www/sub/myred/include/functions.php on line 17[/code]

Wenn ich in diese PHP datei nun reinlinse steht an dieser stelle:

// Check, if domain name is reserved by admin $reserved = explode("--",$reserved); if (in_array("$dname", $reserved)) { $errormsg .= "$text_17<br>"; }

Irgendwas wird also wohl mit diesem Explode nicht stimmen oder?

Jain, das ist anscheinend nur die Stelle wo der Fehler für php als Fehler erkennbar wird (dank schwacher dynamischer Typisierung).

Du müsstest die Stelle suchen, wo der Variable $reserved der Wert zugewiesen wird.

(Link zum Skript und zu deiner Installation des Skripts würden eventuell auch helfen.)

Danke für die Hilfestellung
Installiert ist es im moment leider garnicht mehr da ich noch Webspace dafür suche

milliscripts.at/downloads/my … ysql_5.zip

Hier ist der Download davon. Es ist ein Subdomain Registrierungscript

Was die Stelle reserved betrifft so ist alles was ich gefunden habe:

function check_domain($dname) { global $errormsg, $text_17, $text_18, $text_19, $minlength, $maxlength, $reserved; // Check if special chars are in there if(ereg("[^a-zA-Z0-9\-]",$dname)) { $errormsg = "$text_19<br>"; } // Check, if length is right if (strlen($dname) < $minlength || strlen($dname) > $maxlength) { $errormsg .= "$text_18<br>"; } // Check, if domain name is reserved by admin $reserved = explode("--",$reserved); if (in_array("$dname", $reserved)) { $errormsg .= "$text_17<br>"; } return $errormsg; }

Kann es sein das du $reserved irgendwo in der Konfiguration festlegen musst?

[quote=“DeusEx”]Guten Tag,
und als Fehler dazu noch:

[code]Warning: explode() expects parameter 2 to be string, array given in /users/deusex/www/sub/myred/include/functions.php on line 16

Warning: in_array() expects parameter 2 to be array, null given in /users/deusex/www/sub/myred/include/functions.php on line 17[/code]

Wenn ich in diese PHP datei nun reinlinse steht an dieser stelle:

// Check, if domain name is reserved by admin $reserved = explode("--",$reserved); if (in_array("$dname", $reserved)) { $errormsg .= "$text_17<br>"; }
[/quote]
Anscheindend wurde ist $reserved kein String sondern ein Array. Ich würde abklären wieso explode() dort einen Array bekommt.

Die Zweite Fehlermeldung kommt weil die Erste kommt ^^.

Da das steht in der configuaration und zwar so

–badwort–liebemachen-- usw.

@Mogira

Ich kann damit nichts anfangen PHP und diese codes sind eine Fremdsprache für mich die ich nicht verstehe. :frowning:

Ich würde dir echt empfehlen PHP zu lernen ^^
Du musst nicht mal umbedingt Geld investieren, denn es gibt viele Verschiedene Tutorials.
Und es ist nicht so das es langweilig ist, ich fands noch ganz interessant. Der Anfang ist zwar schwer weil man’s nicht grad checkt, aber sonst ist es ganz leicht :slight_smile:

Ich hab PHP hier gelernt: http://www.php-kurs.com

Die Funktion Explode erwartet einen String zB “Hallo” , aber es wurde ein Array gegeben.
Ein Array ist sozusagen eine Menge Variabeln auf einem Haufen ^^.

So jetzt auf deinen Code bezogen:

irgendwo wird der Variable $reserved einen Wert zugewiesen.

in deinem Fall: Wort–nocheinWort–wörter–anderesWort
Danach kommt dieser String durch explode(), und der String wird an den – aufgeteilt.
ergibt:

Array(
0 => Wort
1 => nocheinWort
2 => wörter
3 => anderesWort
)

Das Problem hier ist das Explode eben schon so etwas bekommt, wie es rauskommen sollte.

Ich hoffe du verstehst es jetzt ein bisschen.