php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.07.2005, 17:25  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard Fehler bei User Online

Hi! Ich arbeite gerade an einem Useronline-Script. Auf dem server meines rechners geht es, aber nicht auf dem internet-server. Woran liegt das?
PHP-Code:
<?php
    $sql 
"SELECT
                *
            FROM
                `online`"
;
    
$result mysql_query($sql) OR die(mysql_error());
  while(
$row mysql_fetch_object($result))
    {
if(
$row->Nickname != "") {
echo 
"[b]$row->Nickname[/b]
"
; }
    }
?>
Mein Server gibt Freeaak aus, der im internet nichts.
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.07.2005, 18:37  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 606
Connar befindet sich auf einem aufstrebenden Ast
Standard

Hm, wie werden denn die user in die online-Tabelle geschrieben, bzw. haste mal geschaut, ob du da in dem moment überhaupt drinstehst?


MFG Connar
Connar ist offline  
Alt 10.07.2005, 18:43  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Müsste ich mit phpmyadmin machen, aber ich weiß nicht wo das liegt, der server ist von meinem Freund. Die User werden so in die Tabelle geschrieben:
PHP-Code:
<?php
$ip 
$_SERVER['REMOTE_ADDR'];
include 
"mysqlconnect.inc";
    
$sql "SELECT
                COUNT(*) as Anzahl
            FROM
                online
            WHERE
                IP = '$ip'"
;
    
$result mysql_query($sql) OR die(mysql_error());
    
$row mysql_fetch_assoc($result);
    if(
$row['Anzahl']) {
        
$sql "UPDATE
                    online
                SET
                    Datum = NOW()
                WHERE
                    IP = '$ip'"
;
        
mysql_query($sql) OR die(mysql_error());
    } else {
        
$sql "INSERT INTO online
                    (IP, Datum)
                VALUES
                    ('$ip', NOW())"
;
        
mysql_query($sql) OR die(mysql_error());
    }
    
$sql "DELETE FROM
                online
            WHERE
                DATE_SUB(NOW(), INTERVAL 5 MINUTE) > Datum"
;
    
mysql_query($sql) OR die(mysql_error());
?>
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 10.07.2005, 18:59  
Gast
 
Beiträge: n/a
Standard

Zitat:
Müsste ich mit phpmyadmin machen
Kopfschüttel
PHP-Code:
<?php 
    $sql 
"SELECT Nickname FROM `online`"
    
$result mysql_query($sql) OR die(mysql_error()); 
  
    if (
mysql_num_rows($result))
    {
       while(
$row mysql_fetch_object($result)) 
       { 
          if(
$row->Nickname != "")
            echo 
"[b]$row->Nickname[/b]
"
;
          else 
            echo 
"[b]Kein Nickname[/b]
"
;
       }
    }
    else
     echo 
"Keine Einträge gefunden";    
?>
Gruß
phpfan
 
Alt 10.07.2005, 19:11  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmm......
Kein Nickname
Kein Nickname

Es sind ich und ein Besucher online. Wenigstens ICH müsste angezeigt werden.
Zum ausprobieren: http://teamkillaz.de/Freeaak
User: Testuser
Passwort: Testpw
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 10.07.2005, 19:15  
Gast
 
Beiträge: n/a
Standard

Zitat:
Kein Nickname
Kein Nickname
Dann liegt das Problem wohl eher beim Eintragen als beim Auslesen. Ich kann auch nicht erkennen, wo der Nickname gespeichert wird.

Gruß
phpfan
 
Alt 10.07.2005, 19:33  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Stimmt. habe ich vergessen, klappt aber immer noch nicht.
PHP-Code:
<?php
$NN 
$_COOKIE['Nickname'];
        
$sql "INSERT INTO `online`
                    (IP, Datum, Nickname)
                VALUES
                    ('$ip', NOW(), '$NN')"
;
        
mysql_query($sql) OR die(mysql_error());
?>
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 10.07.2005, 19:40  
Gast
 
Beiträge: n/a
Standard

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.

Gruß
phpfan
 
Alt 10.07.2005, 20:40  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was ist zb ein vernünftiger debugger?
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
Alt 10.07.2005, 22:21  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Habs geschafft! Habe bei Update auch den Nickname beigefügt.
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
User erkennen (ohne session + ohne cookies + prob mit IP) PHP Tipps 2007 8 30.12.2007 23:35
php4 Script User Einloggen Fehler Asiafighter PHP Tipps 2006 4 30.04.2006 17:33
FTP-Funktionen: Können 2 Leute mit selben User online sein? ggfan PHP Tipps 2005-2 1 11.08.2005 13:13
Session: Untersch. Seiten f. eingeloggte User und norm. User PHP Tipps 2005-2 2 20.07.2005 12:46
user online counter $$$ ThiKool $$$ PHP Tipps 2005-2 3 01.07.2005 22:24
Online User PHP Tipps 2005-2 9 15.06.2005 23:46
[Erledigt] MySQL user rausfinden Datenbanken 4 26.05.2005 12:15
Alle user die online sind anzeigen - wann und wie löschen? PHP Tipps 2005 11 24.05.2005 16:01
User Online Script Mano PHP Tipps 2005 3 21.03.2005 03:22
dummer zufall oder fehler im phpbb robo47 Off-Topic Diskussionen 4 04.03.2005 09:33
Counter für registrierte user PHP Tipps 2004-2 3 26.12.2004 11:32
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
Counter zeigt nach ca. 2-3 Stunden fehler an PHP Tipps 2004 2 26.08.2004 20:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.