php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.01.2005, 19:22  
Gast
 
Beiträge: n/a
Standard Loginsystem mit mehreren Usern gleichzeitig

hi,
ich benutze schon längere Zeit ein Loginsystem, das auf die Beispiele eines Tutorials basiert.

Ich habe es soweit angepasst, dass es nun so aussieht:
PHP-Code:
<?
ob_start 
(); 
// Session starten
session_start ();
// Datenbankverbindung aufbauen
include ("db2.php");
$sql "SELECT ".
    
"Id, Nickname ".
  
"FROM ".
    
"benutzerdaten ".
  
"WHERE ".
    
"(Nickname like '".$_REQUEST["name"]."') AND ".
    
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result mysql_query ($sql);
if (
mysql_num_rows ($result) > 0)
{
  
// Benutzerdaten in ein Array auslesen.
  
$data mysql_fetch_array ($result);

    
// Sessionvariablen erstellen und registrieren
  
$_SESSION["user_id"] = $data["Id"];

  
header ("Location: index.php"); 

else 

  
header ("Location: formular.php?fehler=1"); 

ob_end_flush (); 
?>

Leider hat dieses System die Beschränkung, das sich nur ein Benutzer gleichzeitig anmelden kann. Wenn man also in seinem Account ist und jemand anders meldet sich an oder loggt sich aus, wechselt man in diesen bzw. wird ausgeloggt.

Dieses Problem habe ich erst jetzt erkannt. Was macht man dagegen?

mfg dejus
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.01.2005, 19:27  
TRW
Erfahrener Benutzer
 
Registriert seit: 20.10.2004
Beiträge: 759
TRW
Standard

Als ich das LogIn script früher benutzt habe, hatte ich das Problem nicht...
Meinst du mit anmelden das Einloggen oder das Registrieren?
mfG
TRW ist offline  
Alt 02.01.2005, 19:34  
Gast
 
Beiträge: n/a
Standard

einloggen
ich habe das Problem früher auch nicht gehabt
die zusätze ob_start und ob_end_flush habe ich wegen des header();-Problem hinzugefügt, das Problem war schon früher da
 
Alt 02.01.2005, 19:45  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dejus
einloggen
ich habe das Problem früher auch nicht gehabt
Das Script funktioniert nur dann, wenn der Client den "Session-Keks" haben will.

Guck Dir das mal an und versuch es zu verstehen:
http://test.php-help.info/auth-4/ (Quelltext wird angezeigt)
 
Alt 02.01.2005, 19:56  
Gast
 
Beiträge: n/a
Standard

ist das jetzt auf PHP4 oder auf PHP5?
 
Alt 02.01.2005, 20:00  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dejus
ist das jetzt auf PHP4 oder auf PHP5?
http://test.php-help.info/auth-4/index.php <- PHP4
http://test.php-help.info/auth-3/ <- PHP5
 
Alt 02.01.2005, 21:02  
Gast
 
Beiträge: n/a
Standard

nein, ehrlich gesagt blicke ich dort nicht durch.
Wofür die ganzen Funktionen?
Ich war mit dem alten System ganz zufrieden
Geht es nicht einfacher?
Und was meinst du mit
Zitat:
Das Script funktioniert nur dann, wenn der Client den "Session-Keks" haben will.
 
Alt 02.01.2005, 21:13  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dejus
nein, ehrlich gesagt blicke ich dort nicht durch.
Wofür die ganzen Funktionen?
Das ist eine PHP Klasse, welche die Authentifizierung regelt.

Ich dachte eigentlich, ich hätte den Kram hinreichend kommentiert...

Zitat:
Ich war mit dem alten System ganz zufrieden
Geht es nicht einfacher?
Wie Du gerade festgestellt hattest, 'funktioniert' das 'alte System' unzuverlässig.

Zitat:
Und was meinst du mit
Zitat:
Das Script funktioniert nur dann, wenn der Client den "Session-Keks" haben will.
Weil sowas Unfug ist:
Zitat:
header ("Location: index.php");
Zitat:
Zitat von Handbuch
Anmerkung: HTTP/1.1 verlangt einen absoluten URI inkl. dem Schema, Hostnamen und absoluten Pfad als Argument von Location:, aber manche Clients akzeptieren auch relative URIs. Gewöhnlich können Sie mittels $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] und dirname() aus einem relativen Link einen absoluten URI selbst erstellen:
PHP-Code:
<?php
header
("Location: http://".$_SERVER['HTTP_HOST']
                      .
dirname($_SERVER['PHP_SELF'])
                      .
"/".$relative_url);
?>
Zusätzlich noch:
Wenn Du nicht berücksichtigst, ob der Client nach session_start() den Session-Cookie angenommen hat, sind nur die User 'drin', die ihn haben wollten, und alle anderen stehen im Regen, weil der Client beim Location-Request die session_id nicht mitschickt.
 
Alt 02.01.2005, 21:26  
Gast
 
Beiträge: n/a
Standard

Zitat:
dejus hat folgendes geschrieben:
nein, ehrlich gesagt blicke ich dort nicht durch.
Wofür die ganzen Funktionen?

Das ist eine PHP Klasse, welche die Authentifizierung regelt.


nein, aber ich verstehe nicht, warum man die Funktionen benötigt. Das alte System ging doch auch, ist es denn so schwer das mehrere User gleichzeitig online sein können?
Zitat:
Weil sowas Unfug ist:
Zitat:
header ("Location: index.php");

Handbuch hat folgendes geschrieben:
Anmerkung: HTTP/1.1 verlangt einen absoluten URI inkl. dem Schema, Hostnamen und absoluten Pfad als Argument von Location:, aber manche Clients akzeptieren auch relative URIs. Gewöhnlich können Sie mittels $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] und dirname() aus einem relativen Link einen absoluten URI selbst erstellen:
PHP:

<?php
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$relative_url);
?>

Zusätzlich noch:
Wenn Du nicht berücksichtigst, ob der Client nach session_start() den Session-Cookie angenommen hat, sind nur die User 'drin', die ihn haben wollten, und alle anderen stehen im Regen, weil der Client beim Location-Request die session_id nicht mitschickt.
nun, das mit der header-Funktion habe ich noch nie richtig kapiert.
Ich habe längere Zeit diese Syntax benutzt:
PHP-Code:
(...)
  <meta http-equiv="Refresh" content="0; url=index.php?<?=session_name()?>=<?=session_id()?>">
    Weiterleitung funktioniert nicht? [url="index.php?<?=session_name()?>=<?=session_id()?>"] HIER [/url] gehts weiter...   
<?
}
else
{
    
?>
  <meta http-equiv="Refresh" content="0; url=formular2.php?fehler=1">
  <?
(...)
 
Alt 02.01.2005, 22:14  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dejus

nein, aber ich verstehe nicht, warum man die Funktionen benötigt.
Ich schrieb "Guck Dir das mal an und versuch es zu verstehen"

Jut, der Versuch ging offenbar schief...
 
 


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
Gleichzeitig mehrere Bilder m. mehreren Checkboxen freakymiky PHP Tipps 2008 9 31.07.2008 08:32
Verständnisfrage: Aufruf von mehreren Usern vegeta PHP Tipps 2006 2 02.06.2006 15:39
Arbeiten mit mehreren Fenstern gleichzeitig. GELight PHP Tipps 2005-2 2 03.07.2005 00:13
[Erledigt] MySQL Abfrage aus mehreren Tabellen Datenbanken 1 12.04.2005 17:53
In mehreren columns gleichzeitig suchen Paulo Datenbanken 6 15.03.2005 10:37
[Erledigt] Löschen in mehreren Tabellen gleichzeitig Datenbanken 2 05.12.2004 00:43
Eintragen von mehreren Einträgen gleichzeitig PHP Tipps 2004 3 15.07.2004 08:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php loginsystem mehreren benutzern, website zeitgesteuert

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:06 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.