At fjerne NOTICE: Undefined variable/index
Nogen der kan hjælpe mig med at finde ud af hvordan jeg fjerner fejl meddelelserne der giver:Notice: Undefined variable: action in d:\server\root\sessions\test.php on line 19
Notice: Undefined variable: action in d:\server\root\sessions\test.php on line 24
Notice: Undefined index: username in d:\server\root\sessions\test.php on line 38
Jeg har siddet og rodet med problemmet i lang tid, og er ret ny i PHP programmeringen.
Kloge folk siger jeg kan fjerne problemmet ved at sætte register_globals = ON, men endnu klogere folk siger sikkerhed og at denne bør stå til OFF.
Jeg kan ikke finde ud af hvordan jeg får erklæret disse variabler. Det ville være rart hvis nogen ville kigge lidt på min kode, og tilføje hvad jeg mangler.
Jeg har forleden læst artiklen omkring problemmet med at konvertere fra register_global = ON til =OFF.
Koden jeg baserer min fejlkoder på:
****************************************************************
<? session_start(); ?>
<html>
<head></head>
<body>
<?
mysql_connect ("host","bruger","kode");
mysql_select_db ("db");
// logout
if($action == "logout"){
SESSION_UNREGISTER('username');
SESSION_UNREGISTER('password');
}
// logon
if($action == "logon"){
if ($username && $password){
$_SESSION['username'] = $username;
$_SESSION['password'] = md5($password);
} else {
print('Du har glemt at skrive et brugernavn eller koden');
}
}
if($_SESSION['username']){
print('Velkommen '.$_SESSION['username'].'');
print('<br><br>');
print('<a href="'.$_SERVER['PHP_SELF'].'?action=logout">log af</a>');
print('<br><br>');
} else {
?>
<form name="Login" method="POST" action="<?=$_SERVER['PHP_SELF']?>?action=logon">
Brugernavn: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" name="submit" value="Login">
</form>
<? } ?>
<pre>
<?php print_r($_SESSION); ?>
</pre>
</body>
</html>
****************************************************************
