2016-09-28 2 views
-2

Ich habe ein Login-Formular erstellt, das Benutzername und Passwort enthält, die für den Zugriff auf index.php eingegeben werden müssen. Ich habe auch die authenticate.php, die von index.php benötigt wird, damit die Datei ohne Login nicht erreichbar ist. aber ich kann nicht die Form bekommen loggt mich tatsächlich in es nur Wallungen und nimmt mich zurück zu login.phpSecure form login

mein Code:

login.php

<form name="login-form" id="login-form" method="post" action="<?php echo $PHP_SELF; ?>"> 
<fieldset> 
<legend>Please login:</legend> 
<dl> 
<dt> 
    <label title="Username">Username: 
    <input tabindex="1" accesskey="u" name="username" type="text" maxlength="50" id="username" /> 
    </label> 
</dt> 
</dl> 
<dl> 
<dt> 
    <label title="Password">Password: 
    <input tabindex="2" accesskey="p" name="password" type="password" maxlength="15" id="password" /> 
    </label> 
</dt> 
</dl> 
<dl> 
<dt> 
    <label title="Submit"> 
    <input tabindex="3" accesskey="l" type="submit" name="cmdlogin" value="Login" /> 
    </label> 
</dt> 
</dl> 
</fieldset> 
</form> 

Authenticate.php

<?php 
session_start(); 
if(empty($_SESSION["loginid"]) || $_SESSION["loginid"] != 'true') { 
header("Location: login.php"); 
} 
?> 

aber ich logge mich nicht ein. (Bitte beachten Sie, ich bin ziemlich neu in PHP und lerne immer noch) Ich lese irgendwo ein Login_exec.php Skript, das es Login macht aber alles, was ich versuchte, stürzte die Website mit einem Fehler.

+0

Sie haben keinen Code, der auf die eingereichten Formulardaten schaut. – Quentin

Antwort

0

Sie müssen Wert auf $ _SESSION zuweisen Variable bei erfolgreicher Authentifizierung

Gefällt Ihnen dieses

$_SESSION["loginid"] = $user_id; 
+0

http://forums.devshed.com/php-faqs-stickies-167/program-basic-secure-login-system-using-php-mysql-891201.html – baliman

+0

ich sehe. Wo würde ich diese Informationen hinstellen? – RedZ

0

Ihr Code ist ein wenig schmuddelig, aber das Hauptproblem ist, dass Sie nicht die action geändert haben Attribut im Formular auf der Seite.

Sie möchten action="<?php echo $PHP_SELF; ?>" zu action="Authenticate.php" ändern. Dies wird das Formular an diese Seite "senden".

Denken Sie daran, dass Sie uns keine Informationen zu Datenbanken gegeben haben und dass Sie sich auch mit der Benutzervalidierung befassen möchten. Ganz zu schweigen davon, dass Sie innerhalb von Authenticate.php keine Sessions erstellt haben, wie der Benutzer Shital vorgeschlagen hat.