Login & Logoutscript ...

Login & Logoutscript ...| Datum: 04.10.2009 - 14:10 | Author: PCFreund

Halli Hallo Hallöchen ...
Ich bräuchte einen Loginscript der üperprüft ob die eingabe einer variable gleichist ... wenn ja dann soll sowie ein login eine session gestartet werden, damit man vollen zugriff hat ..
ist für das admin-panel ...
dann noch einen logoutscript ...
der dann die loginsession zerstört und so ungültig macht ...
das ganze soll so einfach wie möglich gehen wie's nur geht ...
kann mir das jemand machen !?
bitte seid so nett ... ich krieg das nie hin ... :(

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 14:10 | Author: Haruspex

Wo scheiterst du denn?
Mal ein Ansatz für den Login:

Code


$num=mysql_num_rows(mysql_query("SELECT * FROM `user` WHERE `name`='".$_POST[user]."' AND `pw`='".md5($_POST[pw])."'));

if ( $num == 1 ) session_start();
else die(Login fehlgeschlagen);




Logout ist i.d.R. noch einfacher:

Code


if ( $_GET[logout] ) session_destroy();



Re: Login & Logoutscript ...| Datum: 04.10.2009 - 14:10 | Author: PCFreund

äääh ja ich wollte dann noch erwähnen KEINE MYSQL datenbank ...
das passwort wird so geprüft:
$eingegebenerusername = $_POST['username'];
$eingegebenespasswort = $_POST['password'];
$passwort = "Das richtige password gehört hier rein";
$username = "Der richtige username gehört hier rein";

if($eingegebenerusername == $username && $eingegebenespasswort == $password)
{
dann muss da die session kommen weiß aber nicht wie
}
else
{
Benutzername oder Password ist falsch - meldung kommt hier rein
}


so das alles soll irgendwie in die index.php eingebunden werden
also:
index.php hat ein userpanel sowie da links
wenn man nich eingeloggt ist erscheint das gleiche wie hier
dann kann man da username und passwort eingeben
dann wird das passwort über ein include zu login.php weitergeleitet der gibt dann ein alertfenster aus ...
dann erscheint wieder sowie hier ein userpanel wo man dann eingeloggt ist
und da steht dann ausloggen wird dann wieder mit include die logout.php eingebunden die dann den user ausloggt und aus dem adminbereich rausschmeißt, aber der user kann noch immer drinnen sein, nur darf er nicht auf eine bestimmte seite die geschützt werden soll ...

verstehst du ?!

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 15:10 | Author: Haruspex

Äh ja, so grob... aber wo sind die Passwörter und User gespeichert, wenn nicht inner Datenbank? In einer Textdatei?

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 15:10 | Author: PCFreund

nein die sind hier gespeichert in der variable:

$user = "Der richtige Username";
$pass = "Das richtige Passwort";
beides wird dann mit dem if geprüft ob der eingegebene und die variable $pass übereinstimmt ...

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 15:10 | Author: Fazitas

Und wo liegt da das Problem?

wenn du wissen möchtest wie man nun überprüft ob der User eingeloggt ist ->

http://pamhelp.ath.cx/?php=session_id

einfach mal gucken was "session_id" macht
Dann würde ich dir Vorschlagen, präsentierst du uns hier mal deinen Lösungsansatz
und Fragst dann nocheinmal wenn du etwas nicht verstehst, aber ein "Ich will ein script macht mal, ich krieg das nicht hin"
ist, wie ich finde, unter aller sau.

Sry, aber das musste jetzt mal raus, wer sich nicht bemüht hat auch keine Hiilfe verdient.

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 15:10 | Author: PCFreund

ich hab mich bemüht
ich sitze wochenlang an diesen scheißverfickten login und du willst mir sagen dass ich mich nicht bemüh !? mann oh mann ... du ... wenn ich dich krieg ...

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 15:10 | Author: Fazitas

Ja ich will dir sagen das du dich nicht bemühst.

Erklär mir doch mal wo genau dein Problem grade liegt.

Fakten:
-Login/Logout Script
--Keine Datenbank -> Benutzername und Passwort befinden sich im Script
--Unterstüzt durch Sessions

Soweit so gut,
was muss getan werden:

-Login:
--Eingabe muss,imLogin-Script, verglichen werden
--TRUE -> Session erstellen
--FALSE -> Fehler ausgeben
--Wenn session erstellt:
---Überprüfen ob erstellte session der Benutzer-session gleicht (auf jeder geschützten seite oder in jedem geschützten Bereich)

-Logout:
--Session zerstören

Richtig so?

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 15:10 | Author: PCFreund

ja richtig so ... ich hab jetzt mal einen von einer anderen seite gedownlaodet ...
funktioniert bis jetzt super ... ich mariere mal als erledigt ...

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 16:10 | Author: Fazitas

Das es funktioniert ist super,
hast du es auch verstanden?
Ich finde soviel wie du mit sowas arbeitest,
solltest du das mal in Ruhe durchgehen und verstehen.

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 16:10 | Author: Haruspex

Vorallem sollte man auch schauen, obs sicher ist.

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 16:10 | Author: PCFreund

also ich hab ein kleines problem ...
ich hab eine php datei die läuft ohne dem

Code


<?php
if(session_is_registered("logedin") && $_SESSION['logedin'])
{
echo "Sie sind eingeloggt.<br><a href=\"logout.php\">Ausloggen</a>";
}
else
{
echo "Sie sind nicht eingeloggt.";
}
include('header.php');
?>



ordnungsgemäß
nur wenn ich denn dann irgendwo oben in den header unter dem

Code


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


einfüge dann kommt das:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\adm\index.php:2) in C:\xampp\htdocs\adm\index.php on line 3
Sie sind eingeloggt.
Ausloggen
wenn ich das oberhalb des

Code


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



einfüge dann wird das designe einfach ignoriert ..
warum !?
und wie bekomm ich das hin, beides zu mischen ohne dass da was schief geht !?

:: Bearbeitet am So 4. Okt 2009, 16:59 ::

ok das ist mal wieder sehr komisch 0.o
jetz funktionierts auf einmal ... naja dann lass ichs halt so ...

:: Bearbeitet am So 4. Okt 2009, 17:00 ::

ok und was hat das beim login schon wieder zu bedeuten !?

Code


Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0



und wie kann ich diesen fehler umgehen !? einfach ignorieren !?

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 17:10 | Author: Fazitas

Zeig mal bitte das Login-Script :)

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 17:10 | Author: PCFreund

hab ich jetz mit
error_reporting(0);
umgangen ...
nun zum eigentlichen problem:
wenn ich mich einlogge und zur startseite geh wird die schrift in einer total und komplett anderen größe angezeigt ... ich glaube das ist 1/4 mal größer als die schriftgröße in der usermenu-box da oben links under menü ...
wenn ich mich jedoch auslogge dann ist die schrift normal ... wie kann ich dieses problem behenem !?

:: Bearbeitet am So 4. Okt 2009, 17:07 ::

das ist der script wo es dann immer zum fehler gekommen war:

Code


<?php
error_reporting(0);
session_start();

$name = $_POST['name'];
$pass = $_POST['pass'];



if($name == "*entfernt*" && $pass == "*entfernt*")
{
$logedin = TRUE;
session_register("logedin");
echo "Login erfolgreich!<br>Bitte klicken Sie <a href=\"index.php\">hier</a> um zur Startseite zu gelangen.";
}
else
{
echo "Die Daten waren falsch.";
}

?>



Re: Login & Logoutscript ...| Datum: 04.10.2009 - 18:10 | Author: Fazitas

Nimm mal das

Code



$logedin = TRUE;
session_register("logedin");




raus und ersetzte es durch:

Code



$_SESSION['logedin'] = TRUE;




Dann kannste auch deine error_reporting wieder anmachen. :)

Zu deinem anderen Problem hab ich noch keine Lösung.

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 20:10 | Author: PCFreund

ich hab aber die lösung
ich habs einfach mal versucht
session_start();
ganz oben so einzufügen:

Code


<?php session_start() ?>



und das andere dann dort eingefügt wo dann das usermanü hinkommt ...

:: Bearbeitet am So 4. Okt 2009, 20:12 ::

so hab jetz ein kleines script zusammengebastelt das mit dem loginscript nicht ganz zurechtkommt ...
<table width="235px" border="0" cellpadding="0" cellspacing="0"><tr><td width="18" height="18"><img src="./images/tl.png" width="18" height="18" alt="" /></td><td height="18" style="background:url(./images/tm.png);"></td><td width="18" height="18"><img src="./images/tr.png" width="18" height="18" alt="" /></td></tr><tr><td width="18" style="background:url(./images/ml.png);"></td><td><table class="tablebg" cellspacing="0" width="100%"><tr><th><span style="float: left"><img src="./images/portal_login.png" width="" height="" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Admin-Login</span></th></tr></table><table class="tablebg" cellspacing="1" width="100%">
<tr class="row1">
<td>
<form action="./?loc=login" mehtod="post">
<span class="genmed">UserName:</span><br />
<input type="text" tabindex="1" name="username" id="username" size="28" value="UserName" class="inputbox autowidth" /><br /><br />
<span class="genmed">PassWord:</span><br />
<input type="password" tabindex="2" id="password" name="password" size="28" value="PassWord" class="inputbox autowidth" />
<br /><br /><br /><br /><br />
<input type="submit" name="login" tabindex="3" value="Anmelden" class="button1" /><input type="reset" tabindex="4" value="Zurücksetzen" class="button1" />
</form>
</td>
</tr>
</table>
</td><td width="18" style="background:url(./images/mr.png);"></td></tr><tr><td width="18" height="18" align="right"><img src="./images/bl.png" width="18" height="18" alt="" /></td><td height="18" style="background:url(./images/bm.png);"></td><td width="18" height="18"><img src="./images/br.png" width="18" height="18" alt="" /></td></tr></table>
wie du siehst ist bei <form> als action eine weiterleitung auf ?loc=login gemacht worden
jedoch bei method ist post eingetragen
nur:
wenn ich jetz eingib kommt bei der url flgendes format:
*link-zur-datei*/?username=*entfernt*&password=*entfernt*&loc=login ...
das mit dem loc=login stimmt ja aber das andere sollte normalerweiße mit post übertragen werden
kann mir da bitte jemand helfen ich bin voll am verzweifeln :(

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 20:10 | Author: Haruspex

Code


mehtod="post">



müsste heißen

Code


method="post">




session_start() muss übrigens immer am Dateinanfang stehen.
(Ausnahmen bestätigen die Regel, z.B. wenn man mehrfach in einer Datei session_start() benutzen will)

Re: Login & Logoutscript ...| Datum: 04.10.2009 - 20:10 | Author: PCFreund

danke
immer diese tippfehler :fubar: :tmi: xD