/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Session ID variabel skrives ikke
Fra : Frank Dyring


Dato : 02-01-07 02:09

Jeg har et problem med en login side:

Når jeg første gang logger på, registreres SESSION ID korrekt
uden problemer. Hvis jeg efterfølgende forsøger at logge på igen,
skrives denne variabel ikke og jeg kan derfor ikke logge ind på
min side. Den godkender database opslaget og sender mig til den
rigtige side, men hvis jeg forsøger at udskrive eks. MMusername
får jeg fejlmeddelse om, at variablen ikke findes.

Kode på login.php følger her:

<?php require_once('../Connections/cms.php'); ?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['brugernavn'])) {
$loginUsername=$_POST['brugernavn'];
$password=$_POST['adgangskode'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "login_godkendt.php";
$MM_redirectLoginFailed = "login__ikke_godkendt.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_cms, $cms);

$LoginRS__query=sprintf("SELECT brugernavn, adgangskode FROM
brugere WHERE brugernavn='%s' AND adgangskode='%s'",
get_magic_quotes_gpc() ? $loginUsername :
addslashes($loginUsername), get_magic_quotes_gpc() ? $password :
addslashes($password));

$LoginRS = mysql_query($LoginRS__query, $cms) or
die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";

//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;   

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];   
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<!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>Log p&aring;</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css"
/>
<style type="text/css">
<!--
..style1 {
   color: #FFFFFF;
   font-weight: bold;
}
-->
</style>
</head>

<body>
<p>&nbsp;</p>
<p>&nbsp;</p>
<form id="login" name="login" method="POST" action="<?php echo
$loginFormAction; ?>">
<table width="400" border="0" align="center" cellpadding="1"
cellspacing="0" bgcolor="#CCCCCC">
<tr>
<td><table width="100%" border="0" cellspacing="0"
cellpadding="2">
<tr>
<td width="32%"><span class="style1">Log
p&aring;</span> </td>
<td width="68%">ORIGINAL</td>
</tr>
<tr>
<td bgcolor="#FFFFFF">Brugernavn:</td>
<td bgcolor="#FFFFFF"><label>
<input name="brugernavn" type="text" id="brugernavn"
size="40" />
</label></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">Adgangskode:</td>
<td bgcolor="#FFFFFF"><label>
<input name="adgangskode" type="password"
id="adgangskode" size="40" />
</label></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
<td bgcolor="#FFFFFF"><label>
<input type="submit" name="Submit" value="Log
p&aring;" />
</label></td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Martin (02-01-2007)
Kommentar
Fra : Martin


Dato : 02-01-07 14:11

Frank Dyring wrote:
> Jeg har et problem med en login side:
>
> Når jeg første gang logger på, registreres SESSION ID korrekt
> uden problemer. Hvis jeg efterfølgende forsøger at logge på igen,
> skrives denne variabel ikke og jeg kan derfor ikke logge ind på
> min side. Den godkender database opslaget og sender mig til den
> rigtige side, men hvis jeg forsøger at udskrive eks. MMusername
> får jeg fejlmeddelse om, at variablen ikke findes.
>

[SNIP]

>
> //declare two session variables and assign them
> $_SESSION['MM_Username'] = $loginUsername;
> $_SESSION['MM_UserGroup'] = $loginStrGroup;

Prøv at udskrive dine variabler lige før.
fx.

echo $loginUsername;
echo $loginStrGroup;
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
var_dump($_SESSION);
exit;

og se om du får de ønskede resultater

[SNIP]

Frank Dyring (04-01-2007)
Kommentar
Fra : Frank Dyring


Dato : 04-01-07 01:32

>
> Prøv at udskrive dine variabler lige før.
> fx.
>
> echo $loginUsername;
> echo $loginStrGroup;
> $_SESSION['MM_Username'] = $loginUsername;
> $_SESSION['MM_UserGroup'] = $loginStrGroup;
> var_dump($_SESSION);
> exit;
>
> og se om du får de ønskede resultater
>
> [SNIP]

Hej Martin

Det giver følgende resultat (som ikke siger mig så pokkers meget... -
er stadig ny i php...):

qarray(2) { ["MM_Username"]=> string(1) "q" ["MM_UserGroup"]=>
string(0) "" }

Det indtastede brugernavn var "q" og password "w"

Franke


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste