Logincheck ??
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfragen
ahnung
array
benutzername
berechtigung
code
dank
display
einloggen
forum
index
krieg
legen
login
routine
schutz
session
verzeichnis
zugreifen
zugriff
-
Hab auf meiner Seite ein Loginscript erfolgreich eingerichtet. Mit meiner ersteigerten mySQL Datenbank "verbunden" und funktioniert auch alles einwandfrei. Man kann sich einloggen, vorrausgesetzt man hat vorher nen Account eingerichtet, und auch wieder ausloggen
Jetzt das Problem:
Das Loginscript macht man ja nicht ohne Grund. Um genau zu sein: Die Seite soll nur angemeldeten USern zug?nglich gemacht werden. Doch wie krieg ich jetzt gebacken, dass man auf die z.B. index.php nur kommt, in dem man sich vorher auf der login.php erfolgreich eingeloggt hat? Zur Zeit kann man auf meine index.php noch zugreifen, ohne sich vorher einzuloggen, und langsam dr?ngt die Zeit. Bis zum 20.April will ich das fertig haben. Ich hab in nem anderen Forum gelesen, dass man hiermit anfangen muss:
<?
mysql_connect("localhost","xxxxxx","xxxxxx");
mysql_select_db("xxxxxx");
session_start();
if(empty($_SESSION["UserName"])) { // user ist nicht eingeloggt
// Beide n?tigen Felder des Loginformulars ausgef?llt
if(!empty($_POST["UserName"]) && !empty($_POST["UserPass"])) {
// Username und Passwort an DB zum Vergleich
$result = @mysql_db_query("DB2848","SELECT * FROM schmalzmann WHERE nick = '".$_POST["UserName"]."' AND pw='".$_POST["UserPass"]."'");
// ein ?bereinstimmender Datensatz wurde gefunden => User einloggen
if(mysql_num_rows($result) == 1) { $_SESSION["UserName"] = $_POST["UserName"]; }
else {
// Benutzername oder Passwort wurden falsch eingegeben !
}
}
}
if(!empty($_SESSION["UserName"])) {
// nochmal pr?fen ob user eingeloggt
// wenn ja hier die Seite f?r eingeloggte User
}
else {
// user ist nicht eingeloggt
//seite f?r nicht eingeloggte user zeigen
}
?>
[btw: darf man Scriptschnipsel in das Forum schreiben? ODer verst??t das gegen Regel 1d ? sry]
Den Code habe ich an den Anfang gestellt der index.php, abgespeichert und auf den Server geschossen.
Jetzt erstellt der mir aber immer nur ne Session ID auf der index.php, die aber nicht direkt was mit den Daten der login.php zu tun hat.
[Das ist nie die Gleiche Session ID]
Ich hab von php kaum Ahnung. Den Rest hab ich mir mit Hilfe von Tutorials eingerichtet, die funktionieren auch, ich kann halt nur nirgends
einen Logincheck finden... abgesehen davon hab ich auch keine Ahnung, wie man das richtig nennt, deswegen find ich wahrscheinlich auch nichts davon in den Suchmaschinen... Wenn mir jemand helfen kann, f?nd ich das schon genial!!! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
mysql_connect("localhost","USR2848","189d326");
mysql_select_db("DB2848");
Das ist nicht sinnvoll zu posten!
Ich weis nicht genau aber meiner Meinung nach darfst du eine Session nur einmal starten und sie danach ?ber die Variable $_SESSIONS[''] abfragen aber ka! -
dann klick mal in deinem Beitrag unten auf ?ndern und xxx das mal bitte weg
ne, das Passwort is eh falsch, von daher gehts auch so
Also das ich nur eine Session brauch, is schon klar, is ja auch irgendwie logisch..aber wie funktionierts? -
mach doch die login zur index ....
-
du kannst den schutz entweder auf das Verzeichnis legen das nur angemeldete rein kommen das ginge mit .htaccess ( das geht hier aber nicht 100% ) soweit ich wei?, oder du nimmst ein anderes script wo du in jeder seite wie zb die index.php eine pr?f routine einbindest ob der zugriff von einem eingeloggten user stammt.....
eine leichter einzubauende alternative w?re zb mit
[code]
<?php
if($_COOKIE['loged'] == 'yes') {
if($_COOKIE['user_level'] =='0') {
?>
Hier der HTML code deiner index.
<?php
} else {
include($login_real_path . 'includes/page_header.php');
$display = "<font class=\"text\">Sie haben nicht die Berechtigung diese Seite zu Betreten.</font>";
$template->getFile(array(
'error' => 'error.tpl')
);
$template->addVar("error", array(
'DISPLAY' => $display)
);
$template->parse("error");
include($login_real_path . 'includes/page_footer.php');
exit();
}
} else {
include($login_real_path . 'includes/page_header.php');
$display = "<font class=\"text\">Sie sind nicht Eingeloggt. Bitte Loggen Sie sich ein!<a href=\"../login.php\">Here</a>.</font>";
$template->getFile(array(
'error' => 'error.tpl')
);
$template->addVar("error", array(
'DISPLAY' => $display)
);
$template->parse("error");
include($login_real_path . 'includes/page_footer.php');
exit();
}
?>
[code] -
du kannst den schutz entweder auf das Verzeichnis legen das nur angemeldete rein kommen das ginge mit .htaccess ( das geht hier aber nicht 100% ) soweit ich wei?, oder du nimmst ein anderes script wo du in jeder seite wie zb die index.php eine pr?f routine einbindest ob der zugriff von einem eingeloggten user stammt.....
eine leichter einzubauende alternative w?re zb mit
<?php if($_COOKIE['loged'] == 'yes') { if($_COOKIE['user_level'] =='0') { ?> Hier der HTML code deiner index. <?php } else { include($login_real_path . 'includes/page_header.php'); $display = "<font class=\"text\">Sie haben nicht die Berechtigung diese Seite zu Betreten.</font>"; $template->getFile(array( 'error' => 'error.tpl') ); $template->addVar("error", array( 'DISPLAY' => $display) ); $template->parse("error"); include($login_real_path . 'includes/page_footer.php'); exit(); } } else { include($login_real_path . 'includes/page_header.php'); $display = "<font class=\"text\">Sie sind nicht Eingeloggt. Bitte Loggen Sie sich ein!<a href=\"../login.php\">Here</a>.</font>"; $template->getFile(array( 'error' => 'error.tpl') ); $template->addVar("error", array( 'DISPLAY' => $display) ); $template->parse("error"); include($login_real_path . 'includes/page_footer.php'); exit(); } ?>
-
und in welche php Dateien muss ich das einbauen:
Das untere kommt auf die index.php und auch in die anderen?
Die ersten 4 Zeilen, kommen wohin?...
[In dem unteren Batzen Code steht was von page_header.php und page_footer.php.. sowas hab i goarnit,kann ich doch weglassen? -
dazu brauchst das ganze login script, ich hab das hier irgendwo liegen ich suchs dir raus und schicks dir denn per mail oder so
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage