remember me? inlog
Ik zoek een stukje script waarbij ik via een checkbox mensen kan laten kiezen dat ze ingelogt blijven of dat ze elke keer na het bezoek uitgelogd moeten worden. Kan iemand mij helpen hierbij?
Gewoon bij het inloggen kijken of er een koekje geset moet worden, of dat er alleen maar een sessie moet worden aangemaakt (wat zowiezo moet)
Checkbox in je formulier, deze bij het inloggen (controleren van gegevens) meenemen in de overweging of er een koekje nodig is of niet.
Je script moet natuurlijk wel al de mogelijkheid van koekjes hebben.
Alvast bedankt!!!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
// *** Start the session
session_start();
// *** Validate request to log in to this site.
$FF_LoginAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING']) && $HTTP_SERVER_VARS['QUERY_STRING']!="") $FF_LoginAction .= "?".$HTTP_SERVER_VARS['QUERY_STRING'];
if (isset($HTTP_POST_VARS['gebruikersnaam'])) {
$FF_valUsername=$HTTP_POST_VARS['gebruikersnaam'];
$FF_valPassword=$HTTP_POST_VARS['wachtwoord'];
$FF_fldUserAuthorization="level";
$FF_redirectLoginSuccess="ingelogt.php";
$FF_redirectLoginFailed="inloggen.php";
$FF_rsUser_Source="SELECT gebruikersnaam, wachtwoord ";
if ($FF_fldUserAuthorization != "") $FF_rsUser_Source .= "," . $FF_fldUserAuthorization;
$FF_rsUser_Source .= " FROM leden WHERE gebruikersnaam='" . $FF_valUsername . "' AND wachtwoord='" . $FF_valPassword . "' AND actief = '1'";
mysql_select_db($database_db_conn, $db_conn);
$FF_rsUser=mysql_query($FF_rsUser_Source, $db_conn) or die(mysql_error());
$row_FF_rsUser = mysql_fetch_assoc($FF_rsUser);
if(mysql_num_rows($FF_rsUser) > 0) {
// username and password match - this is a valid user
$MM_Username=$FF_valUsername;
session_register("MM_Username");
$wachtwoord = "$_POST[wachtwoord]";
session_register("wachtwoord");
if ($FF_fldUserAuthorization != "") {
$MM_UserAuthorization=$row_FF_rsUser[$FF_fldUserAuthorization];
} else {
$MM_UserAuthorization="";
}
session_register("MM_UserAuthorization");
if (isset($accessdenied) && true) {
$FF_redirectLoginSuccess = $accessdenied;
}
mysql_free_result($FF_rsUser);
session_register("FF_login_failed");
$FF_login_failed = false;
header ("Location: $FF_redirectLoginSuccess");
exit;
}
mysql_free_result($FF_rsUser);
session_register("FF_login_failed");
$FF_login_failed = true;
header ("Location: $FF_redirectLoginFailed");
exit;
}
?>
// *** Start the session
session_start();
// *** Validate request to log in to this site.
$FF_LoginAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING']) && $HTTP_SERVER_VARS['QUERY_STRING']!="") $FF_LoginAction .= "?".$HTTP_SERVER_VARS['QUERY_STRING'];
if (isset($HTTP_POST_VARS['gebruikersnaam'])) {
$FF_valUsername=$HTTP_POST_VARS['gebruikersnaam'];
$FF_valPassword=$HTTP_POST_VARS['wachtwoord'];
$FF_fldUserAuthorization="level";
$FF_redirectLoginSuccess="ingelogt.php";
$FF_redirectLoginFailed="inloggen.php";
$FF_rsUser_Source="SELECT gebruikersnaam, wachtwoord ";
if ($FF_fldUserAuthorization != "") $FF_rsUser_Source .= "," . $FF_fldUserAuthorization;
$FF_rsUser_Source .= " FROM leden WHERE gebruikersnaam='" . $FF_valUsername . "' AND wachtwoord='" . $FF_valPassword . "' AND actief = '1'";
mysql_select_db($database_db_conn, $db_conn);
$FF_rsUser=mysql_query($FF_rsUser_Source, $db_conn) or die(mysql_error());
$row_FF_rsUser = mysql_fetch_assoc($FF_rsUser);
if(mysql_num_rows($FF_rsUser) > 0) {
// username and password match - this is a valid user
$MM_Username=$FF_valUsername;
session_register("MM_Username");
$wachtwoord = "$_POST[wachtwoord]";
session_register("wachtwoord");
if ($FF_fldUserAuthorization != "") {
$MM_UserAuthorization=$row_FF_rsUser[$FF_fldUserAuthorization];
} else {
$MM_UserAuthorization="";
}
session_register("MM_UserAuthorization");
if (isset($accessdenied) && true) {
$FF_redirectLoginSuccess = $accessdenied;
}
mysql_free_result($FF_rsUser);
session_register("FF_login_failed");
$FF_login_failed = false;
header ("Location: $FF_redirectLoginSuccess");
exit;
}
mysql_free_result($FF_rsUser);
session_register("FF_login_failed");
$FF_login_failed = true;
header ("Location: $FF_redirectLoginFailed");
exit;
}
?>
<html><!-- InstanceBegin template="/Templates/standaard.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<title>TVW Profielen script versie </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="themes//stijl.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="148" height="100%" valign="top"></td>
<td align="center" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="10"> </td>
<td width="625"> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="left" valign="top"><!-- InstanceBeginEditable name="inhoud" -->
<p class="tekst">Op deze pagina kunt u inloggen om uw profiel te kunnen
aanpassen.<br>
Als u nog niet bent aangemeld dan kunt u dat gratis doen door op de knop
"Aanmelden" te klikken in het menu aan de linkerkant.</p>
<form name="form1" method="POST" action="">
<table width="380" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="125" class="tekst"><strong>Gebruikersnaam</strong></td>
<td width="255"> <input name="gebruikersnaam" type="text" class="formulier" id="gebruikersnaam">
</td>
</tr>
<tr>
<td class="tekst"><strong>Wachtwoord</strong></td>
<td> <input name="wachtwoord" type="password" class="formulier" id="wachtwoord"></td>
</tr>
<tr>
<td> </td>
<td> <input name="Submit" type="submit" class="formulier" value="Inloggen"></td>
</tr>
</table>
</form>
<p> </p>
<!-- InstanceEndEditable --></td>
<td> </td>
</tr>
</table></td>
</tr>
</table>
</body>
<!-- InstanceEnd --></html>
Je zou in een koekje de logingegevens kunnen zetten, en iedere keer dat er geen sessie is (en iemand dus zou moeten inloggen) eerst even kijkt of die informatie niet al in een koekje staat, en hem daarmee inloggen. Je moet natuurlijk wel even weten dat dit echt zo ontzettend onveilig is, iedereen achter diegene zijn computer kan zijn wachtwoord achterhalen.
Je zou in een koekje een random gegenereerd hash-ding achtig iets kunnen zetten, wat in je database staat verbonden met een veld in de regel van de gebruiker. Iedere keer dat hij inlogt verander je deze hash naar iets anders, en update je, indien gewilt, het koekje. Dus waneer de sessie niet bestaat, even kijken of het koekje bestaat. Bevat deze de hash die in de regel van de gebruiker in de database staat, dan sessie aanmaken, hash veranderen en in koekje dumpen, en iedereen heeft weer plezier.
Ja ik had al gehoort dat het meestal ga via koekies gaat maar goed via sessions alleen kan het nie gedaan worden ik ben namelijk een beginnende php'er en mss kunt u voorbeeld geven waar ik het uit ken halen of een iet waar ik het kant en klare script vind mss alvast bedankt.
Ik moet nog wel even zeggen dat dat script hierboven wel erg veroudert is. session_register() is al 3 jaar niet meer in de mode.
Ik merk het wel hoop het wel dat iemand nog wil helpe mij
tog bedankt!
Code (php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
Code (php)
</body>
</html>
(Heel slordig in elkaar gezet) Je moet echt vanaf het begin beginnen en niet meteen een script pakken en dan gaan vragen of iemand het voor je kan veranderen. Ga eerst maar eens wat lezen over cookies en sessions ;) (sessions verdwijnen als je de browser afsluit, cookies niet als je ze insteld, dus tip: gebruik cookies)
ja ach ik heb dit script gedownload en het bevalt me wel het is een mooi script dus laat dan maar zitten.... ik ga dan wel verder zonder een checkbox