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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

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 offline
Registriert seit: Sep 2001
Beiträge: 25.236
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 offline
Registriert seit: Sep 2001
Beiträge: 25.236
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 offline
Registriert seit: Sep 2001
Beiträge: 25.236
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 offline
Registriert seit: Sep 2001
Beiträge: 25.236
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.709
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.709
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.471
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:05 Uhr.