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, 23: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, 23: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, 23: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, 23: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, 23: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, 23: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, 23: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, 23: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, 23: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, 23: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 18-02-2010, 00: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 18-02-2010, 00: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 (18-02-2010 um 00:26 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 18-02-2010, 00: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 18-02-2010, 00: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 18-02-2010, 00: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 03:18
Problem mit session bmaas PHP Developer Forum 7 28-07-2004 22:05
Session Problem Churchill27 PHP Developer Forum 1 26-07-2004 12:54
session problem jone PHP Developer Forum 3 19-07-2004 20:53
session problem reetosh PHP Developer Forum 1 30-03-2002 19: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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:00 Uhr.