Keine Ahnung

Lektor21

Erfahrenes Mitglied
Hi!

Komme irgendwie nicht weiter! Habe das folgende Loginscript gebastelt. Es funktioniert aber nicht! Also er registriert den user nicht!

PHP:
<h3><b>Interner Bereich</b></h3>

<?php

if (!session_is_registered('user'))

{

if (isset($login))
{

################################
$user_login = "Admin";
$password_login = "admin";
################################

if (($user == $user_login) && ($password == $password_login))
{
session_start();
session_register("user");
}
}

?>

   <form method="POST" action="index.php?action=intern">
      <table border="0" style="border-width: 2px; border-style: dotted; border-color: #ff7b10;">
         <tr>
            <td rowspan="4"><img src="http://www.tutorials.de/forum/images/login.png" galleryimg="no"></img></td>
            <td><table border="0"><tr><td><img src="http://www.tutorials.de/forum/images/key.gif" galleryimg="no"></img></td><td valign="middle"><font color="#FF0000"><b>Bitte authentifizieren Sie sich!</b></font></td></tr></table></td>
         </tr>
         <tr>
            <td><table border="0"><tr><td valign="middle" width="5"><img src="http://www.tutorials.de/forum/images/icon.gif" galleryimg="no"></img></td><td><font color="#ff7b10"><b>Benutzername</b></font></td></tr><tr><td colspan="2"><input type="text" name="user" class="login" style="width: 200px; border-style: solid; border-width: 1px; border-color: #ff7b10; font-weight: bold; color: #FF0000;"></td></tr></table></td>
         </tr>
         <tr>
            <td><table border="0"><tr><td valign="middle" width="5"><img src="http://www.tutorials.de/forum/images/icon.gif" galleryimg="no"></img></td><td><font color="#ff7b10"><b>Passwort</b></font></td></tr><tr><td colspan="2"><input type="password" name="password" class="login" style="width: 200px; border-style: solid; border-width: 1px; border-color: #ff7b10; font-weight: bold; color: #FF0000;">&nbsp;<input type="submit" name="login" class="button" style="width: 100px;" value="Login"></td></tr></table></td>
         </tr>
      </table>
   </form>

<?php

}

elseif ((session_is_registered('user')) && ($user == "Administrator"))

{


echo "INTERNER BEREICH";


}

?>
 
Zuletzt bearbeitet:
Aber überall wo man hingoogelt wird das benutzt;

session_is_registered()

Was benutzt man denn stattdessen?

Also meinst du $variable ist veraltet?
 
Die VAriable $login rührt von dem Submit - Button!

Also ich habs jetzt so;

PHP:
<h3><b>Interner Bereich</b></h3>

<?php

if ($_SESSION['user'] != "Administrator")

{

if (isset($login))
{

################################
$user_login = "Admin";
$password_login = "admin";
################################

if (($user == $user_login) && ($password == $password_login))
{
session_start();
$_SESSION['user'] = $user;
}
}

?>

   <form method="POST" action="index.php?action=intern">
      <table border="0" style="border-width: 2px; border-style: dotted; border-color: #ff7b10;">
         <tr>
            <td rowspan="4"><img src="http://www.tutorials.de/forum/images/login.png" galleryimg="no"></img></td>
            <td><table border="0"><tr><td><img src="http://www.tutorials.de/forum/images/key.gif" galleryimg="no"></img></td><td valign="middle"><font color="#FF0000"><b>Bitte authentifizieren Sie sich!</b></font></td></tr></table></td>
         </tr>
         <tr>
            <td><table border="0"><tr><td valign="middle" width="5"><img src="http://www.tutorials.de/forum/images/icon.gif" galleryimg="no"></img></td><td><font color="#ff7b10"><b>Benutzername</b></font></td></tr><tr><td colspan="2"><input type="text" name="user" class="login" style="width: 200px; border-style: solid; border-width: 1px; border-color: #ff7b10; font-weight: bold; color: #FF0000;"></td></tr></table></td>
         </tr>
         <tr>
            <td><table border="0"><tr><td valign="middle" width="5"><img src="http://www.tutorials.de/forum/images/icon.gif" galleryimg="no"></img></td><td><font color="#ff7b10"><b>Passwort</b></font></td></tr><tr><td colspan="2"><input type="password" name="password" class="login" style="width: 200px; border-style: solid; border-width: 1px; border-color: #ff7b10; font-weight: bold; color: #FF0000;">&nbsp;<input type="submit" name="login" class="button" style="width: 100px;" value="Login"></td></tr></table></td>
         </tr>
      </table>
   </form>

<?php

}

elseif ($_SESSION['user'] == "Administrator")

{


echo "INTERNER BEREICH";


}

?>
 
OK habs jetzt;

Wenn ich aber die Seite besuche müsste er mir doch gleich das untere anzeigen!? Aber er zeigt mir zuerst das Loginformular an!

PHP:
<h3><b>Interner Bereich</b></h3>

<?php

if (isset($login))
{

################################
$user_login = "Admin";
$password_login = "admin";
################################

if (($user == $user_login) && ($password == $password_login))
{
$_SESSION["user"] = $user; 
}
}

if (!isset ($_SESSION["user"])) 

{

?>

   <form method="POST" action="index.php?action=intern">
      <table border="0" style="border-width: 2px; border-style: dotted; border-color: #ff7b10;">
         <tr>
            <td rowspan="4"><img src="images/login.png" galleryimg="no"></img></td>
            <td><table border="0"><tr><td><img src="images/key.gif" galleryimg="no"></img></td><td valign="middle"><font color="#FF0000"><b>Bitte authentifizieren Sie sich!</b></font></td></tr></table></td>
         </tr>
         <tr>
            <td><table border="0"><tr><td valign="middle" width="5"><img src="images/icon.gif" galleryimg="no"></img></td><td><font color="#ff7b10"><b>Benutzername</b></font></td></tr><tr><td colspan="2"><input type="text" name="user" class="login" style="width: 200px; border-style: solid; border-width: 1px; border-color: #ff7b10; font-weight: bold; color: #FF0000;"></td></tr></table></td>
         </tr>
         <tr>
            <td><table border="0"><tr><td valign="middle" width="5"><img src="images/icon.gif" galleryimg="no"></img></td><td><font color="#ff7b10"><b>Passwort</b></font></td></tr><tr><td colspan="2"><input type="password" name="password" class="login" style="width: 200px; border-style: solid; border-width: 1px; border-color: #ff7b10; font-weight: bold; color: #FF0000;">&nbsp;<input type="submit" name="login" class="button" style="width: 100px;" value="Login"></td></tr></table></td>
         </tr>
      </table>
   </form>

<?php

}

elseif (isset ($_SESSION["user"])) 

{


echo "INTERNER BEREICH";


}

?>
 
Zuletzt bearbeitet:
Mit Verwendung der vordefinierten Variablen würde das Ganze wie folgt aussehen:
PHP:
if( isset($_POST['login']) ) {

	################################
	$user_login = "Admin";
	$password_login = "admin";
	################################

	if( isset($_POST['user'], $_POST['password']) && ($_POST['user'] == $user_login) && ($_POST['password'] == $password_login) ) {
		$_SESSION["user"] = $user;
	}
}

if( !isset($_SESSION["user"]) ) {

	// …

} else {

	echo "INTERNER BEREICH";

}
 
Aber das müsste doch dann gespeichert bleiben oder?

Also wenn ich die Seite aktualisiere, dann will er wieder, dass ich mich einlogge!? :confused:
 
Initialisiert du denn auch die Sitzung über session_start()? Denn andernfalls verfallen die Variablenwerte nach der Verarbeitung des Skriptes beziehungsweise der Zeitpunkt der letzten Nutzung Sitzung wird nicht aktualisiert.
 
Zurück