Variablen werden nicht korrekt ausgegeben

multimolti

Erfahrenes Mitglied
Moin.
Ich habe ein Problem mit einem einfachen Script:
Und zwar soll es einfach, je nach $_GET['msg'], was anderes ausgeben, das geht auch bei mir @home ganz gut, aber auf meinem Webspace (funpic) leider nicht.
Ich kann mir eigentlich nicht vorstellen, dass das was mit der PHP-Config zu tun hat, denn es ist doch nur eine einfache Variablenausgabe?
Naja, hier das Script:
PHP:
<?php
$msg[1] = "Erfolgreich ausgeloggt!";
$msg[2] = "Falsche Benutzerdaten!";
$msg[3] = "Nicht eingeloggt!";
  echo $msg[$_GET['msg']];
?>
Wenn jetzt datei.php?msg=2 angefragt wird, soll Falscher Benutzername ausgegeben werden, geht bei mir auch prima, nur auf dem Webspace wird immer nur der 1. Buchstabe (also hier dann ein F) ausgegeben.
Ich kann mir das nicht erklären!
 
nein, in dem Script steht nicht mehr und nicht weniger drin, als ich gepostet habe.
Und es wird ja der richtige Anfangsbuchstabe ausgegeben, aber nicht der ganze Text!
Und vor allem geht es ja bei mir zu Hause mit XAMPP!
 
Ich denke nicht, dass es daran liegen könnte, aber versuch mal mit 0 zu adressieren.
PHP:
$msg[0] = "text";
$msg[1] = "text";
$msg[2] = "text";

ist nur ein Gedanke
 
Hi,
ich habe ja nun nicht unbedingt Mega viel Ahnung.

PHP:
<?php
$msg[1] = "Erfolgreich ausgeloggt!";
$msg[2] = "Falsche Benutzerdaten!";
$msg[3] = "Nicht eingeloggt!";

echo $msg[$_GET['bla']];
?>

Aber ich würde mal den übergabe namen ändern.
Dann geht es bestimmt.

LG Lars
 
also, ich habe jetzt mal beides gemacht, die Variablen umbenannt in $err und von [0] an addressiert, jetzt geht es wunderbar, Danke!!
 
Hi,
also normalerweise müsste dein Skript einwandfrei funktionieren. Speziell bei der Arbeit mit Array bietet sich immer ein Blick in das Array mit print_r:

Aufruf über Browser:
http://localhost/testserver/test/arraytest.php?msg=1

PHP:
$msg[1] = "Erfolgreich ausgeloggt!";
$msg[2] = "Falsche Benutzerdaten!";
$msg[3] = "Nicht eingeloggt!";

echo "<pre>";
print_r($msg);
echo "</pre>";

echo $msg[$_GET['msg']];

Ausgabe bei mir am Rechner:
--------------------------------------------------------------------
Array
(
[1] => Erfolgreich ausgeloggt!
[2] => Falsche Benutzerdaten!
[3] => Nicht eingeloggt!
)
Erfolgreich ausgeloggt!
----------------------------------------------------------------------

In PHP ist das Arbeiten mit Array relative Locker d.h. man kann relativ Frei welche anlegen ohne diese erzeugen zu müssen. Also in meinen Augen stimmt dein Code.

gruss
 
Zurück