- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-02-2010, 22:17
speedy3112
 Registrierter Benutzer
Links : Onlinestatus : speedy3112 ist offline
Registriert seit: Feb 2010
Beiträge: 23
speedy3112 befindet sich auf einem aufstrebenden Ast
Standard Session problem

Hallo,
ich habe folgendes Problem:
über ein login formular kann man sich einloggen und natürlich auch wieder ausloggen, nur möchte ich verhindern das man beim zurück buttons des browsers wieder im loginbereich ist.
ich verwende sessions mit datenbankanbindung,wo eine id nach login gesetzt wird und automatisch wieder gelöscht wird wenn man sich ausgeloggt hat.
session_destroy() hilft auch nicht.
wer kann mir dabei helfen?
Mit Zitat antworten
  #2 (permalink)  
Alt 17-02-2010, 22:26
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist gerade online
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von speedy3112 Beitrag anzeigen
über ein login formular kann man sich einloggen und natürlich auch wieder ausloggen, nur möchte ich verhindern das man beim zurück buttons des browsers wieder im loginbereich ist.
Dann unterbinde, dass die betreffenden Ressourcen vom Client gecached werden.

(Informiere dich bitte, bevor du gleich reflexartig „und wie mach' ich das?“ fragst ...)

Zitat:
session_destroy() hilft auch nicht.
Natürlich nicht, es wird ja auch gar nicht aufgerufen, wenn der Client ein Dokument aus seinem Cache holt.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 17-02-2010, 22:31
speedy3112
 Registrierter Benutzer
Links : Onlinestatus : speedy3112 ist offline
Registriert seit: Feb 2010
Beiträge: 23
speedy3112 befindet sich auf einem aufstrebenden Ast
Standard

is ja ok, ich wollte ja auch keinen fertigen script haben, nur suche ich wirklich schon seit tagen nach ner lösung und finde keine richtige:-(
und "Ressourcen vom Client gecached" soweit reicht mein wissen leider noch nicht aus. was genau ist damit gemeint?
Mit Zitat antworten
  #4 (permalink)  
Alt 17-02-2010, 22:33
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist gerade online
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Was ein Browsercache ist, weisst du aber?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 17-02-2010, 22:36
speedy3112
 Registrierter Benutzer
Links : Onlinestatus : speedy3112 ist offline
Registriert seit: Feb 2010
Beiträge: 23
speedy3112 befindet sich auf einem aufstrebenden Ast
Standard

ja das weis ich schon,aber mir fällt da nix ein wie ich meinen script damit verändern kann,das es nicht mehr so funktioniert wie oben beschrieben.
ich möchte hier auch nicht als bissl blöd hingestellt werden nur weil ich ne frage habe. ich weis selbst das ich noch nicht soviel wissen besitze wie manch andere-hatte aber gehofft hier paar sachliche antworten zu bekommen. mehr wollte ich nicht
Mit Zitat antworten
  #6 (permalink)  
Alt 17-02-2010, 22:41
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist gerade online
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von speedy3112 Beitrag anzeigen
aber mir fällt da nix ein
Nicht mal, ein bisschen im Handbuch nachzuschauen, fällt dir ein?

Dass es gleich zwei Session-Funktionen gibt, die „cache“ im Namen haben, sollte doch wohl Grund genug sein, sich deren Beschreibung mal ein bisschen genauer anzuschauen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 17-02-2010, 22:43
speedy3112
 Registrierter Benutzer
Links : Onlinestatus : speedy3112 ist offline
Registriert seit: Feb 2010
Beiträge: 23
speedy3112 befindet sich auf einem aufstrebenden Ast
Standard

ok,laß mal deine guten tips-so schlau war ich schon,jedoch hat nix funktioniert.
ich warte mal auf ne antwort von jemanden der sich nicht hier hinstellt,als wären alle anderen bissl doof.
man bräuchte kein forum,wenn alles im buch steht;-)
Mit Zitat antworten
  #8 (permalink)  
Alt 17-02-2010, 22:48
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist gerade online
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

„Nix hat funktioniert“ ist als Problembeschreibung absolut unbrauchbar.
Wenn du Hilfe bekommen willst, musst du schon ein bisschen mehr liefern.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 17-02-2010, 22:54
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

du kannst doch am Anfang jedes Skripts die Session auslesen und im Falle der Login-Seite dann einen Redirect veranlassen, statt das Login-Fomular anzuzeigen, wenn die Session noch aktiv ist.

Ein anderer Ansatz ist es, ein Skript für mehrere Seiten zu verwenden und je nach Session-Status ein bestimmtes PHP-Skript einzubinden. Dann hätte die Login-Seite dieselbe Adresse wie die Seite XY und würde sich nur durch den Session-Status unterscheiden. Der Zurück-Button würde dann also auch nicht auf einen andere, sondern dieselbe Adresse leiten.

Prinzipiell hat wahsaga aber recht, nur formuliert er es immer .... sehr direkt

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #10 (permalink)  
Alt 17-02-2010, 22:58
speedy3112
 Registrierter Benutzer
Links : Onlinestatus : speedy3112 ist offline
Registriert seit: Feb 2010
Beiträge: 23
speedy3112 befindet sich auf einem aufstrebenden Ast
Standard

das hatte ich doch am anfang gemacht. also ich probier es nochmal.
mit session habe ich ein log-formular. der dmin kommt auf ne extra interne seite und alle anderen auch auf eine extra seite. die prüfung bevor man auf die seiten kommt habe ich auf einer 3. seite gemacht-siehe unten
das problem ist nur das man halt nach dem logout wieder mit dem zurückbutton in den geschützen bereich kommt.
PHP-Code:

<?php
   
if(isset($_POST["bename"])){
        
$benutzer=$_POST["bename"];
        }
    if(isset(
$_POST["pwd"])){
        
$pwd=$_POST["pwd"];
        }
    
$admin=false;
    
$nutzer=false;
     
$connectionid  mysql_connect ("localhost",  "xxx","xxx" );
                                            if (!
mysql_select_db  ("xxx"$connectionid))

                                            {

                                                die (
"Keine Verbindung  zur Datenbank");

                                            }
    
$sql ="SELECT * FROM benutzerdaten WHERE Nickname='" $benutzer .  "' AND pass='" $pwd "'";
     
$result mysql_query($sql$connectionid);
    if(
mysql_num_rows($result)>0) {
$sessid session_id();
        
$zeile=mysql_fetch_array($result);
    if(
$zeile["status"] == 1) {
        
$admintrue;
        
$_SESSION["admin"]=true;
        
$_SESSION["user_id"]=$zeile["id"];    
        
$insert_session "Insert INTO session  VALUES(".$zeile["id"].",'".$sessid."')";    
        
$ergebnis mysql_query($insert_session$connectionid);
        }    
        elseif(
$zeile["status"] == 2) {
                
$nutzer=true;    
                
$admin=false;
                
$_SESSION["user_id"]=$zeile["id"];
        
$insert_session "Insert INTO session  VALUES(".$zeile["id"].",'".$sessid."')";        
        
$ergebnis mysql_query($insert_session$connectionid);
        }
        else{

            echo 
"Bitte den Aktivierungslink aus Ihrer E-Mail  best&auml;tigen!<br>
                  <a  href=\"index.php?page=formular\">Zur&uuml;ck</a>"
;
        }
        }
else
    {
        echo 
"Bitte erst Registrieren!<br>
        <a  href=\"index.php?page=formular\">Zur&uuml;ck</a>"
;
    }
    if(
$admin){
        include(
"intern.php");
    }
    else if(
$nutzer){
        include(
"intern1.php");
    }
?>
Mit Zitat antworten
  #11 (permalink)  
Alt 17-02-2010, 23:00
speedy3112
 Registrierter Benutzer
Links : Onlinestatus : speedy3112 ist offline
Registriert seit: Feb 2010
Beiträge: 23
speedy3112 befindet sich auf einem aufstrebenden Ast
Standard

session_start();
steht natürlich ganz oben-hab es vergessen zu kopieren
Mit Zitat antworten
  #12 (permalink)  
Alt 17-02-2010, 23:02
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Dann hast du vermutlich den Session-Cookie beim Logout nicht gelöscht.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (17-02-2010 um 23:26 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 17-02-2010, 23:03
speedy3112
 Registrierter Benutzer
Links : Onlinestatus : speedy3112 ist offline
Registriert seit: Feb 2010
Beiträge: 23
speedy3112 befindet sich auf einem aufstrebenden Ast
Standard

habe drüber gelesen das das nix bringt sobald man auf zurückbutton klickt:-(
Mit Zitat antworten
  #14 (permalink)  
Alt 17-02-2010, 23:30
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zeig mal den Code für den Logout.
Mit Zitat antworten
  #15 (permalink)  
Alt 17-02-2010, 23:37
speedy3112
 Registrierter Benutzer
Links : Onlinestatus : speedy3112 ist offline
Registriert seit: Feb 2010
Beiträge: 23
speedy3112 befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
 <?php   
session_start
();

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " gmdate("D, d M Y H:i:s") ." GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
header("Cache-Control: post-check=0, pre-check=0"FALSE);

?> 

<html>

<head>

<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">

</head>
    <script type="text/javascript">

    <!--

        function open_druck()

        {

            druckfenster=window.open("","Druckfenster","height=400,width=680,resizable=yes");

            text=document.getElementById("ausgabe").innerHTML;

            druckfenster.document.write(text);

            druckfenster.focus();
            druckfenster.print();

            return false;

        }

    //-->

    </script>

    <body bgcolor="#C0C0C0">
<?php
if(isset($_SESSION["admin"])) {
if(
$_SESSION["admin"]=="true") {
    
$admin=true;
        }
        }
        echo 
$admin;
if(
$admin) {

//dann kommen paar formulare

        
</form><br><br>
        <
form action="index.php" method="post">
        <
input type="submit" name="raushier" value="Ausloggen">
        </
form>

        </
div>

        <
div id="seite" style="position:relative;width:98%; top:35px;left:1%;visibility:'.$zeige.';">'.$ausgabe.'</div>;
}
else {

echo 
"<p style=\"position:relative;left:30%;top:300px;color:red;font-size:34px;\">ZUTRITT VERWEIGERT!!!</p>";
}

echo 
"</body>";

echo 
"</html>";

?>
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Session Problem Kisi PHP Developer Forum 5 28-07-2006 02:18
Problem mit session bmaas PHP Developer Forum 7 28-07-2004 21:05
Session Problem Churchill27 PHP Developer Forum 1 26-07-2004 11:54
session problem jone PHP Developer Forum 3 19-07-2004 19:53
session problem reetosh PHP Developer Forum 1 30-03-2002 18:27

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:34 Uhr.