ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
549
549
EMPFEHLEN
-
11.02.04 17:05 #1
- Registriert seit
- Nov 2002
- Beiträge
- 383
hey leute

hab ein "kleines" problem mit meinem loginscript, welches zwar die sessions mit richtigem inhalt setzt, aber sie nicht auslesen kann
hier die codestücke
die loginfunktion
indexPHP-Code:function login($member_nick, $member_password, $tbl_member)
{
if(isset($member_nick) == true)
{
//Verbinde zu Datenbank
$db_handle = db_connect();
$result_login = mysql_query("SELECT member_nick,member_password FROM $tbl_member WHERE member_nick = '$member_nick'") or die(mysql_error());
if($login_name_vorhanden=mysql_num_rows($result_login)!=0)
{
$member_password = md5($member_password);
while($row_login = mysql_fetch_object($result_login))
{
if($row_login->member_nick == $member_nick && $row_login->member_password ==$member_password)
{
session_register($member_nick);
$meldung="";
}
else
$meldung="incorect pass";
}
}
else
{
$meldung="user not found";
}
db_close($db_handle);
}
return $meldung;
}
die session wird mit richtige inhalt (benutzernamen) gesetzt, jedoch wird immer das formular zur benutzerdaten eingabe ausgegebenPHP-Code:if(isset($_POST['login']) || !empty($_POST['login']))
{
$loginmeldung=login($_POST['username'], $_POST['password'], $tbl_member);
}
//anderer quellcode ...
if(session_is_registered("user_s"))
{
echo "Hallo $user_s, wie gehts?";
}
elseif(!session_is_registered("user_s"))
{
echo"
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td background=images/single.gif width=12 rowspan=2 > </td>
<td>$loginmeldung</td>
</tr>
</table>
<form name=form method=post action=index.php>
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td background=images/single.gif width=12 rowspan=2 > </td>
<td><input class=username type=text name=username></td>
</tr>
<tr>
<td><input class=password type=password name=password size=9><img src=images/images/single.gif width=1 height=1><input type=submit name=Submit value=login><input type=hidden name=login value=login></td>
</tr>
</tr><td background=images/single.gif height=10></td></tr>
</table>
</form>
";
}
hoffe, dass ihr mir weiterhelfen könnt && wollt
danke gruß kon
-
Nur als Tipp: du solltest $_SESSION verwenden (PHP > 4.1.0).
Dann hast du die session_register Probleme auch nicht.
Diese Zeile sieht mir komisch aus. Weil du nirgends eine session_register ("user_s") Anweisung hast.PHP-Code:if(session_is_registered("user_s"))
~WonGak~
"And if there is a god, I know he likes to rock."
-
11.02.04 18:50 #3
- Registriert seit
- Nov 2002
- Beiträge
- 383
so habs jetzt ein wenig abgeändert, jedoch funktionier ist leider trozdem noch nicht
die session wird gesetzt, jedoch kann sie nicht ausgelesen werden.
die funktion login
der indexPHP-Code:function login($user_s, $member_password, $tbl_member)
{
if(isset($user_s) == true)
{
//Verbinde zu Datenbank
$db_handle = db_connect();
$result_login = mysql_query("SELECT member_nick,member_password FROM $tbl_member WHERE member_nick = '$user_s'") or die(mysql_error());
if($login_name_vorhanden=mysql_num_rows($result_login)!=0)
{
$member_password = md5($member_password);
while($row_login = mysql_fetch_object($result_login))
{
if($row_login->member_nick == $user_s && $row_login->member_password ==$member_password)
{
session_register("user_s");
$meldung="";
}
else
$meldung="incorect pass";
}
}
else
{
$meldung="user not found";
}
db_close($db_handle);
}
return $meldung;
}
PHP-Code:if(!session_is_registered("user_s") && (isset($_POST['login']) || !empty($_POST['login'])))
{
$loginmeldung=login($_POST['user_s'], $_POST['password'], $tbl_member);
}
// weiterer code ...
if(session_is_registered("user_s"))
{
echo "Hallo" . $_SESSION["user_s"] . ", wie gehts?";
}
else
{
echo"
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td background=images/single.gif width=12 rowspan=2 > </td>
<td>$loginmeldung</td>
</tr>
</table>
<form name=form method=post action=index.php>
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td background=images/single.gif width=12 rowspan=2 > </td>
<td><input class=username type=text name=user_s></td>
</tr>
<tr>
<td><input class=password type=password name=password size=9><img src=images/images/single.gif width=1 height=1><input type=submit name=Submit value=login><input type=hidden name=login value=login></td>
</tr>
</tr><td background=images/single.gif height=10></td></tr>
</table>
</form>
";
}
-
11.02.04 23:45 #4
Was won_gak andeuten wollte:
- session_register("variable"); sollte ab jetzt $_SESSION["variable"] = $variable
- session_is_registered("variable"); sollte nun heißen: isset ($_SESSION["variable"]);
Probier das mal auf diese Weise umzubauen.
-
@Karl Förster: Danke. Genau das wollte ich andeuten
und hier:
http://de3.php.net/manual/de/ref.session.php
Zitat PHP-Handbuch:
Aus Gründen der Verbesserung der Sicherheit und der Lesbarkeit des Codes wird die Verwendung von $_SESSION (oder $HTTP_SESSION_VARS bei PHP 4.0.6 oder niedriger) empfohlen. Mit $_SESSION werden die Funktionen session_register(), session_unregister() und session_is_registered() nicht benötigt. Auf die Session-Variablen kann wie auf jede normale Variable zugegriffen werden.Geändert von won_gak (12.02.04 um 01:07 Uhr)
~WonGak~
"And if there is a god, I know he likes to rock."
-
12.02.04 19:08 #6
- Registriert seit
- Nov 2002
- Beiträge
- 383
danke euch
jetzt funktionier es 
gruß kon
Ähnliche Themen
-
LoginScript
Von Geordi im Forum PHPAntworten: 9Letzter Beitrag: 20.08.04, 01:41 -
Loginscript
Von Geordi im Forum PHPAntworten: 2Letzter Beitrag: 17.08.04, 17:25 -
Loginscript
Von wentinator im Forum PHPAntworten: 1Letzter Beitrag: 11.08.04, 12:25 -
Loginscript
Von server im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 02.03.04, 12:41 -
Loginscript
Von mX|steven im Forum PHPAntworten: 9Letzter Beitrag: 01.02.02, 18:18





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren