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 25-02-2008, 16:13
TheBlackAngel
 Registrierter Benutzer
Links : Onlinestatus : TheBlackAngel ist offline
Registriert seit: Jan 2003
Beiträge: 53
TheBlackAngel ist zur Zeit noch ein unbeschriebenes Blatt
Standard Anfänger Needs Help: User eingeloggt abfragen

Hi Leute,

ich habe folgendes Problem. Ich habe eine TAbelle in meiner Mysql datenbank wo die userdaten gespeichert werden.

Unteranderem session und expire (ablaufzeit des logins)

per
PHP-Code:
$expire time() + 60*30
setzte ich das limit der einloggdauer auf 30 Minuten.

Nun zu meinem eigentlichen Problem wie erstelle ich eine funktion die überprüft ab 1. der user eingeloggt ist und 2. der user noch in dem limit is. So das ich das ganze dann per if abfragen kann und je nahc dem ob der user noch online ist ode rnicht anderen Inhalt anzeigen kann.


PHP-Code:
if (isonline($sessionid)) {
 echo 
"Du bist Online";
}else{
 echo 
"Du bist nicht mehr Online";


Würde mich über hilfe von euch freuen.

gruß
TheBlackAngel
__________________

Mit Zitat antworten
  #2 (permalink)  
Alt 25-02-2008, 16:26
Flip7
 Registrierter Benutzer
Links : Onlinestatus : Flip7 ist offline
Registriert seit: May 2007
Ort: Munich
Beiträge: 126
Flip7 ist zur Zeit noch ein unbeschriebenes Blatt
Flip7 eine Nachricht über ICQ schicken
Standard

wie wäre es mit:

Code:
<?php

/*
Hier kommt eine SQL-Abfrage hin, die alte Sessions löscht
*/

$sess = mysql_real_escape_string($sess);
$sql = "SELECT goneOnline, lastMove FROM onlineTable where onlineSess = '$sess' LIMIT 1";

$result = mysql_query($sql);

//enterSite ist der Zeitstempel, wann der user online gekommen ist, 
lastMove ist der zeitstempel, wann der user das letzte mal etwas unternommen hat

$isOnline = @mysql_num_rows($result) == 1;
if($isOnline)
{
  $goneOnline = mysql_result($result,0,0);
  $lastMove = mysql_result($result,0,1);
  $totalOnline = $lastMove - $goneOnline;
}

?>
jetzt hast alle variablen die du brauchst!

greetz Flip

EDIT:

Code umgebrochen. Das nächste Mal machst du das selber!

__________________
Find Parties?
Partysuche

Geändert von jahlives (27-02-2008 um 09:51 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 25-02-2008, 16:39
TheBlackAngel
 Registrierter Benutzer
Links : Onlinestatus : TheBlackAngel ist offline
Registriert seit: Jan 2003
Beiträge: 53
TheBlackAngel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe mal die Tutorials durchsucht und bin da auf nen Tut für nen Loginscript gestoßen.

Habe mal folgende kleine PHP Funktion mit abfrage ob on oder off
erstellt.

Funktioniren tut sie nicht und das warscheinlich weils müll is was ich da gemacht habe



PHP-Code:
<?php
function logged_in()
{
    
$sql="SELECT UserID
    FROM users
    WHERE session='"
.session_id()."'
    LIMIT 1"
;
    
$resultmysql_query($sql);
          if ( 
mysql_num_rows($result)==1); {
              
$sql2="SELECT expire FROME users WHERE session'".session_id()."' LIMIT 1";
              
$result2mysql_fetch_row($sql2);
            if (
$result2 => $ablauf){
                return 
"1";    
            } else {
                return 
"0";
            }
        } else {
            return 
"0";
        }



echo 
'Sie sind ';
if (!
logged_in())
    echo 
'nicht ';
echo 
'eingeloggt.<p />';
echo 
'<a href="login.php">Start</a>'
?>
__________________

Mit Zitat antworten
  #4 (permalink)  
Alt 25-02-2008, 17:53
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$sql2="SELECT expire FROM[b]E[/b] users WHERE session'".session_id()."' LIMIT 1"
kann ja nicht funzen. Ein anständiges Error Reporting und ein Abfangen allfälliger Mysql-Fehler hätte diesen Missstand sofort angezeigt.
Wieso machst du überhaupt zwei Requests? Geht doch auch in einem
PHP-Code:
$sql="SELECT UserID,expire
    FROM users
    WHERE session='"
.session_id()."'
    LIMIT 1"

Gruss

tobi
@flip
Bitte noch den Code umbrechen...
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #5 (permalink)  
Alt 25-02-2008, 22:02
TheBlackAngel
 Registrierter Benutzer
Links : Onlinestatus : TheBlackAngel ist offline
Registriert seit: Jan 2003
Beiträge: 53
TheBlackAngel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm irgendwie klappt es nicht so wie ich mir das vorstelle
Habe nun folgende funtion

PHP-Code:
function logged_in()
{
    
$ablauf time() + 60*30;
    
    
$sql="SELECT ID,expire
    FROM user
    WHERE session='"
.session_id()."'
    LIMIT 1"
;
    
$resultmysql_query($sql);
          if ( 
mysql_num_rows($result['ID'])==1); {
            if (
$result['expire'] => $ablauf){
                return 
"1";    
            } else {
                return 
"0";
            }
        } else {
            return 
"0";
        }


und bekomme folgende fehlermeldung

Zitat:
Parse error: parse error, unexpected T_DOUBLE_ARROW in /var/www/web25/html/paidmail/funktion.php on line 17
__________________

Mit Zitat antworten
  #6 (permalink)  
Alt 25-02-2008, 22:24
BugBite
 Member
Links : Onlinestatus : BugBite ist offline
Registriert seit: May 2006
Beiträge: 299
BugBite ist zur Zeit noch ein unbeschriebenes Blatt
Standard

is das hier Line 17?
PHP-Code:
 if ($result['expire'] => $ablauf){ 
Mit Zitat antworten
  #7 (permalink)  
Alt 26-02-2008, 13:30
jonas01
 Registrierter Benutzer
Links : Onlinestatus : jonas01 ist offline
Registriert seit: Feb 2005
Beiträge: 114
jonas01 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und was hat hier

if ( mysql_num_rows($result['ID'])==1); {

das olle Semikolon verloren?

Was ist denn nun zeile 17?
Mit Zitat antworten
  #8 (permalink)  
Alt 26-02-2008, 23:51
BugBite
 Member
Links : Onlinestatus : BugBite ist offline
Registriert seit: May 2006
Beiträge: 299
BugBite ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vor allem ist das mysql_num_rows erstens unnötig, weil LIMIT 1 (session_id sind eh eindeutig) und zweitens
wendet man es eherauf ein resource, hier $result, an.

Weiterhin würde ich dem TO vorschlagen sich doch bitte durch einige
Tutorials zu fressen
Mit Zitat antworten
  #9 (permalink)  
Alt 27-02-2008, 09:15
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TheBlackAngel

PHP-Code:
...
            if (
$result['expire'] => $ablauf){
... 
Der Operator heisst ">=", nicht "=>". Ausserdem bezweifle ich, dass das Datum in der Datenbank als Unix-Timestamp gespeichert ist (sollte wenigstens nicht so sein), also sollte die Abfrage z.B. so heissen:
PHP-Code:
$sql "
    SELECT
        id,
        UNIX_TIMESTAMP(expire)
    FROM
        user
    WHERE 
        session = '" 
session_id() . "'"
Der Rest wurde ja schon gesagt.

@Flip7
Brich endlich deine Code um
__________________
Gruss
H2O
Mit Zitat antworten
Antwort

Lesezeichen


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

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 05:53 Uhr.