Variablen an URL anhängen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfang
anmeldung
benutzer
benutzername
code
einbinden
eingabe
fehlermeldung
funktion
glauben
http
index
login
problem
session
starten
status
update
url
vergeben
-
Hallo,
ich habe gerade auf meine Homepage ein Login-Script eingebaut.
Klickt man, nachdem man sich eingeloggt hat aber auf einen Link, ist man wieder ausgeloggt.
in der Browserzeile steht nach dem Login:
http://fp.lima-city.de/HP/index.php?login_div=hauptmenu
klickt man auf einen Link, steht dort:
http://fp.lima-city.de/HP/index.php?content_div=startseite
Mit
http://fp.lima-city.de/HP/index.php?login_div=hauptmenu&content_div=startseite
würde es aber gehen.
Ich müsste also glaube ich an den Menüpunkten was ändern, die sehn im Moment so aus:
<a href="index.php?content_div=startseite">Startseite</a>
Ich hoffe ihr versteht mein Problem.
Danke im Vorraus
LG Pami
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ohne das Script hier einmal zu zeigen und/oder einen Link und/oder mehr infos was für ein Script das ist wird Dir wahrscheinlich niemand helfen können
-
Also wenn du das meinst, was ich glaube, dann hast du dir doch deine Lösung schon selbst gegeben...
So sehen deine Menüpunkte aus:
<a href="index.php?content_div=startseite">Startseite</a>
Und so funktionierts:
http://fp.lima-city.de/HP/index.php?login_div=hauptmenu&content_div=startseite
Dann musst du doch nur deinen Menüpunkt umändern:
<a href="index.php?login_div=hauptmenu&content_div=startseite">Startseite</a>
-
fp08 schrieb:
Hallo,
ich habe gerade auf meine Homepage ein Login-Script eingebaut.
Klickt man, nachdem man sich eingeloggt hat aber auf einen Link, ist man wieder ausgeloggt.
Hoffe, ich habe dich richtig verstanden. Du möchtest also, daß angemeldete User nach dem Login auch beim Wechsel auf eine andere Seite der HP angemeldet bleiben und willst das über einen an die URL angehängten Parameter realisieren?
Wenn ja, ist das der falsche Weg!
Den Login-Status eines Users übergibst Du innerhalb deiner HP besser mit Hilfe von Sessions. Höchstens die Session-ID darf, wenn der User keine Cookies akzeptiert, an die URL gehängt werden.
FF -
simuliertes: Das Problem ist, ich weis nicht welche Scripts man dafür braucht. Wenn ich alle hier reinstell, bin ich morgen noch nicht fertig ..
loadi: ja aber man ist ja nciht immer eingeloggt. es geht da um die Menüpunkte die man sowohl eingeloggt als auch nicht eingeloggt sehen darf.
fatfreddy: Ja du hast mich richtig verstanden. Wie funktioniert das mit den Sessions? Vorallem dass man ein Teil des Menüs auch sehen darf, wenn man nicht eingeloggt ist... ?
Beitrag zuletzt geändert: 3.12.2010 15:43:54 von fp08 -
Der Umgang mit Sessions ist im PHP-Tutorial von Quakenet erklärt. *Lesestoff*
Schau dir das mal an. Wenn danach nochFragen offen sind, schauen wir hier weiter.
FF -
soo nach langer Zeit habe ich mir das ganze durchgelesen aber komme immernoch nicht weiter.
die session muss ja ganz am anfang gestartet werde. Das war bei mir nicht der Fall. Habe jetzt in der index.php (in die dann alles included wird) session_start(); ganz an den Anfang geschrieben. Leider funktioniert es immer noch nicht.
Ich habe in meinen Cookies geschaut und dort wird eine Session ID gespeichert. Also muss es am überprüfen liegen ob im Moment jemand angemeldet ist oder? Deshalb kopiere ich hier mal 2 Dateien rein, vllt liegt es an denen.
Wenn niemand eingeloggt ist wird die anmeldung.php includet:
<?php // Fehlermeldungen unterdrücken error_reporting( 0 ); // Erzwingen das Session-Cookies benutzt werden und die SID nicht per URL transportiert wird ini_set( 'session.use_only_cookies', '1' ); ini_set( 'session.use_trans_sid', '0' ); // Session starten session_start(); // Sicherstellen das die SID durch den Server vergeben wurde // um einen möglichen Session Fixation Angriff unwirksam zu machen if (!isset( $_SESSION['server_SID'] )) { // Möglichen Session Inhalt löschen session_unset(); // Ganz sicher gehen das alle Inhalte der Session gelöscht sind $_SESSION = array(); // Session zerstören session_destroy(); // Session neu starten session_start(); // Neue Server-generierte Session ID vergeben session_regenerate_id(); // Status festhalten $_SESSION['server_SID'] = true; } // Funktionen einbinden include( 'funktionen.inc.php' ); // Variablen deklarieren $_SESSION['angemeldet'] = false; $conid = ''; $eingabe = array(); $anmeldung = false; $update = false; $fehlermeldung = ''; // Datenbankverbindung öffnen $conid = db_connect(); // Wenn das Formular abgeschickt wurde if (isset( $_POST['login'] )) { // Benutzereingabe bereinigen $eingabe = cleanInput(); // Benutzer anmelden $anmeldung = loginUser( $eingabe['benutzername'], $eingabe['passwort'], $conid ); // Anmeldung war korrekt if ($anmeldung) { // Benutzer Identifikationsmerkmale in DB speichern $update = updateUser( $eingabe['benutzername'], $conid ); // Bei erfolgreicher Speicherung if ($update) { // Auf geheime Seite weiterleiten ?> <script type="text/javascript" language="javascript"> <!-- document.location.href="index.php?login_div=hauptmenu&menu_div=m_allgemein&content_div=startseite"; //--> </script> <?php exit; } else { $fehlermeldung = '<h3>Bei der Anmeldung ist ein Problem aufgetreten!</h3>'; } } else { $fehlermeldung = '<h3>Die Anmeldung war fehlerhaft!</h3>'; } } // Falls die Fehlermeldung gesetzt ist if ($fehlermeldung) echo $fehlermeldung; ?> <form id="loginform" name="loginform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <input name="benutzer" id="benutzer" value="Benutzername" class="textfelder" size="20" onfocus="changeValue('Benutzername', this);" onblur="changeValue('Benutzername', this);" /> <input type="password" id="passwort" name="passwort" value="Passwort" class="textfelder" size="20" onfocus="changeValue('Passwort', this);" onblur="changeValue('Passwort', this);" /> <br><br> <input type="submit" name="login" id="login" style="background-image: url( <?PHP echo "Skins/$skin/images/b_anmelden.png"; ?>); width: 87px; height: 17px; border: 0px; background-color:transparent;" value="" > </form>
und diese hier (hauptmenu.php) wird included wenn sich jemand eingeloggt hat:
<?php // Erzwingen das Session-Cookies benutzt werden und die SID nicht per URL transportiert wird ini_set( 'session.use_only_cookies', '1' ); ini_set( 'session.use_trans_sid', '0' ); // Session starten session_start(); // Funktionen einbinden include( 'funktionen.inc.php' ); include("Skins/$skin/tip.php"); // Datenbankverbindung öffnen $conid = db_connect(); // Benutzer prüfen if (!checkUser( $conid )) { resetUser(); } else { $login_div=hauptmenu; } // Benutzer abmelden if ($_GET['benutzer'] == 'abmelden') { resetUser(); } ?> <span style="color:#E5E5E5;">Eingeloggt als: <a href=index.php?login_div=hauptmenu&menu_div=m_buro&content_div=profil><?php echo "$benutzername" ?></a></span> <p><a href="<?php echo $_SERVER['PHP_SELF']. "?benutzer=abmelden"; ?>"> <img src="<?PHP echo "Skins/$skin/images/b_abmelden.png"; ?>" width="87px" height="17px" border="0px"/></a></p> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse"> <tr> <td background="<?PHP echo "Skins/$skin/images/hm_haupt.jpg"; ?>"> <a href="index.php?menu_div=m_allgemein2&content_div=startseite" onmouseover="JSFX.fadeIn('hmhaupt'); Tip('Allgemein', FONTCOLOR, '#<?PHP echo "$fontcolor"; ?>', BORDERCOLOR, '#<?PHP echo "$bordercolor"; ?>', BGCOLOR, '#<?PHP echo "$bgcolor"; ?>');" onmouseout="JSFX.fadeOut('hmhaupt');UnTip();"> <img name="hmhaupt" src="<?PHP echo "Skins/$skin/images/hm_haupt.jpg";?>" border="0" class="imgFader" height="63px" width="63px"></a> </td> <td background="<?PHP echo "Skins/$skin/images/hm_buro.jpg"; ?>"> <a href="index.php?menu_div=m_buro&content_div=profil" onmouseover="JSFX.fadeIn('hmburo'); Tip('Büro', FONTCOLOR, '#<?PHP echo "$fontcolor"; ?>', BORDERCOLOR, '#<?PHP echo "$bordercolor"; ?>', BGCOLOR, '#<?PHP echo "$bgcolor"; ?>');" onmouseout="JSFX.fadeOut('hmburo');UnTip();"> <img name="hmburo" src="<?PHP echo "Skins/$skin/images/hm_buro.jpg";?>" border="0" class="imgFader" height="63px" width="63px"></a> </td> <td background="<?PHP echo "Skins/$skin/images/hm_pferde.jpg"; ?>"> <a href="index.php?menu_div=m_allgemein2&content_div=startseite" onmouseover="JSFX.fadeIn('hmpferde'); Tip('Pferde', FONTCOLOR, '#<?PHP echo "$fontcolor"; ?>', BORDERCOLOR, '#<?PHP echo "$bordercolor"; ?>', BGCOLOR, '#<?PHP echo "$bgcolor"; ?>');" onmouseout="JSFX.fadeOut('hmpferde');UnTip();"> <img name="hmpferde" src="<?PHP echo "Skins/$skin/images/hm_pferde.jpg";?>" border="0" class="imgFader" height="63px" width="63px"></a> </td> <td background="<?PHP echo "Skins/$skin/images/hm_hof.jpg"; ?>"> <a href="index.php?menu_div=m_allgemein2&content_div=startseite" onmouseover="JSFX.fadeIn('hmhof'); Tip('Hof', FONTCOLOR, '#<?PHP echo "$fontcolor"; ?>', BORDERCOLOR, '#<?PHP echo "$bordercolor"; ?>', BGCOLOR, '#<?PHP echo "$bgcolor"; ?>');" onmouseout="JSFX.fadeOut('hmhof');UnTip();"> <img name="hmhof" src="<?PHP echo "Skins/$skin/images/hm_hof.jpg";?>" border="0" class="imgFader" height="63px" width="63px"></a> </td> <td background="<?PHP echo "Skins/$skin/images/hm_stadt.jpg"; ?>"> <a href="index.php?menu_div=m_allgemein2&content_div=startseite" onmouseover="JSFX.fadeIn('hmstadt'); Tip('Stadt', FONTCOLOR, '#<?PHP echo "$fontcolor"; ?>', BORDERCOLOR, '#<?PHP echo "$bordercolor"; ?>', BGCOLOR, '#<?PHP echo "$bgcolor"; ?>');" onmouseout="JSFX.fadeOut('hmstadt');UnTip();"> <img name="hmstadt" src="<?PHP echo "Skins/$skin/images/hm_stadt.jpg";?>" border="0" class="imgFader" height="63px" width="63px"></a> </td> <td background="<?PHP echo "Skins/$skin/images/hm_verzeichnis.jpg"; ?>"> <a href="index.php?menu_div=m_allgemein2&content_div=startseite" onmouseover="JSFX.fadeIn('hmverzeichnis'); Tip('Verzeichnis', FONTCOLOR, '#<?PHP echo "$fontcolor"; ?>', BORDERCOLOR, '#<?PHP echo "$bordercolor"; ?>', BGCOLOR, '#<?PHP echo "$bgcolor"; ?>');" onmouseout="JSFX.fadeOut('hmverzeichnis');UnTip();"> <img name="hmverzeichnis" src="<?PHP echo "Skins/$skin/images/hm_verzeichnis.jpg";?>" border="0" class="imgFader" height="63px" width="63px"></a> </td> </tr> </table> </center>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage