Allen Variablen automatisch einen "Standardwert" zuweisen

Chocobanana

Erfahrenes Mitglied
Hallo Leute!

Diese Frage juckt mich echt, nur find ich dazu nichts im Forum.

Kann man allen Variablen einen Standardwert zuweisen? Bei mir ist das Problem dass ich beim Login Skript mit den Variablen $User, $Passwort, $_SESSION['User'] und $_SESSION['Passwort'] arbeite, und diese natürlich überprüft werden müssen:

PHP:
If ($_SESSION['Username']<>"User" and $_SESSION['Passwort']<>"Passwort")
//Der User war noch nicht eingeloggt und deshalb hat die $_SESSION... noch keinen Wert
{
$Username=$_REQUEST['Username'];
$Passwort=$_REQUEST['Passwort'];//Eingabe vom vorherigen HTML Formular
                    //wird eingelesen und nun in die Session geschrieben
If ($Username="User" and $Passwort="Passwort")
  {
  $_SESSION['Username']="User";
  $_SESSION['Passwort']="Passwort";
  Member(); //In der Function Member() wird die Administration gemacht
  }
else
  {
  echo("Sie haben nicht die Berechtigung für diesen Bereich");
  header("loaction: index.html");
  }
}
else
{
Member();//Wenn die Session schon existiert dann gleich weiteleiten
}

Sodala, wenn sich ein User neu anmeldet funktioniert das zwar, jedoch bekomme ich klarerweise die Fehlermeldung "undefnierte Variable in Line1" -->Die $_SESSION, weil die ja noch nicht existier sondern erst geschrieben wird beim ersten Anmelden.

Also möchte ich dieser Varible sofern sie noch nicht existiert einen Standardwert geben. Oder habt ihr da ne andere Idee?

Greetz,....
 
Ich halts für sinnvoller, mit
PHP:
if(isset($variable))
zu prüfen, ob diese existiert, bevor du drauf zugreifst.... dann hast du das Problem nicht.
 
Darf ich fragen, bei welchem Hoster deine Seiten stationiert sind? Bzw. welche PHP-Version dieser verwendet? Bei mir ist das Problem nach dem Download des neuen OmniHTTPd-Servers auch aufgetreten, online passiert das aber nicht. Muss also irgendwas mit einer neuen PHP-Version zu tun haben.
 
SilentWarrior: das liegt daran, dass die php.ini so eingestellt ist, dass auch Notices angezeigt werden.
 
Aha! Vielen Dank für die Info, Fabian.

chibisuke: Soviel ich weiss kann man beides verwenden - mir persönlich ist != aber auch sympathischer. ;)
 
Zurück