php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > Tutorials
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Tutorials In diesem Forum könnt Ihr euere Fragen zu unseren Tutorials stellen. Die Tutorials sind unter https://www.php-resource.de/tutorials/ zu finden. Tutorialgesuche bitte im Forum Off-Topic stellen!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-02-2013, 14:40
GR_BuLL3T
 Registrierter Benutzer
Links : Onlinestatus : GR_BuLL3T ist offline
Registriert seit: Feb 2013
Beiträge: 3
GR_BuLL3T befindet sich auf einem aufstrebenden Ast
Standard Login Script - Session auslesen !

Hallo,

ich habe ein LoginScript in meine Homepage integriert (Script poste ich unten - ist glaube ich von hier) und das Funktioniert auch gut. Macht also was es soll - User ein- und ausloggen.

Ich möchte aber das der eingeloggte User auf der seite mit Namen begrüsst wird. Also mit "Hallo User".

Leider bekomme ich nicht raus wie ich welche Variable ansprechen muss um genau das zu erreichen. Ich würde mich über Eure Hilfe freuen.

Hier der Code :

sessionhelpers.inc.php

PHP-Code:
<?php


/**
 * @return void
 
$_access['host'] = 'hab ich'; 
$_access['user'] = 'ben'; //der benutzername
$_access['pass'] = 'pw'; //das passwort
$_access['name'] = 'jep'; //der name der datenbank
 
 */
function connect () { 
    
$con mysql_connect('hab ich''ben''pw') or exit(mysql_error());
    
mysql_select_db('jep'$con) or exit(mysql_error());
}


/**
 * @param string $name
 * @param string $pass
 * @return boolean
 */
function check_user $name$pass ) {
    
// magic quotes anpassen
    
if ( get_magic_quotes_gpc() ) {
        
$name stripslashes($name);
        
$pass stripslashes($pass);
    }
    
// escapen von \x00, \n, \r, \, ', " und \x1a
    
$name mysql_real_escape_string($name);
    
// escapen von % und _
    
$name str_replace('%''\%'$name);
    
$name str_replace('_''\_'$name);

    
$sql 'SELECT UserId FROM users WHERE UserName = \'' $name '\' AND UserPass=\'' md5($pass) . '\'';
    if ( !
$result mysql_query($sql) ) {
        exit(
mysql_error());
    }
    if ( 
mysql_num_rows($result) == ) {
        
$user mysql_fetch_assoc($result);
        return ( 
$user['UserId'] );
    } else {
        return ( 
false );
    }
}


/**
 * @param int $userid
 * @return void
 */
function login $userid ) {
    
$sql 'UPDATE users SET UserSession = \'' session_id() . '\' WHERE UserId = ' . ((int)$userid);
    if ( !
mysql_query($sql) ) {
        exit(
mysql_error());
    }
}


/**
 * @return boolean
 */
function logged_in () { 
    
$sql 'SELECT UserId FROM users WHERE UserSession = \'' session_id() . '\'';
    if ( !
$result mysql_query($sql) ) {
        exit(
mysql_error());
    }
    return (
mysql_num_rows($result) == 1);
}


/**
 * @return void
 */
function logout () { 
    
$sql 'UPDATE users SET UserSession = NULL WHERE UserSession = \'' session_id() . '\'';
    if ( 
mysql_query($sql) ) {
        exit(
mysql_error());
    }
}

connect();

?>
geschuetzter-bereich.php

PHP-Code:
<?php
session_start
();
         
include_once(
'sessionhelpers.inc.php');

echo 
'Sie sind ';
if ( !
logged_in() ) {
    echo 
'nicht ';
}
echo 
'eingeloggt.<p />';


if ( !
logged_in() ) {
    echo 
'<p><a href="index.php?site=login">Anmelden</a></p>';
}

if ( 
logged_in() ) {
    echo 
'<p>Gesch&uuml;tzter Bereich';
    

    echo 
'<p><a href="index.php?site=logout">Ausloggen</a></p>';
}

?>
MFG
GR_BuLL3T
Mit Zitat antworten
  #2 (permalink)  
Alt 01-02-2013, 14:55
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Sorry, aber was willst du mit der session_id in der DB?
$_varname ist kein guter Stil
SQL Injections werden auch nicht verhindert.


Mein Tipp:
In die Tonne mit dem Tutorial.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #3 (permalink)  
Alt 01-02-2013, 15:05
GR_BuLL3T
 Registrierter Benutzer
Links : Onlinestatus : GR_BuLL3T ist offline
Registriert seit: Feb 2013
Beiträge: 3
GR_BuLL3T befindet sich auf einem aufstrebenden Ast
Standard

Hallo combie,

danke für Deine Antwort. Leider hilft mir das nicht wirklich weiter.

Die session_id sollte eigentlich dazu dienen den User als solchen zu erkennen. Das funktioniert scheinbar auch da ich in der DB sehen kann wenn der User ein- oder ausgeloggt ist.

Jetzt brauch ich bitte "nur" noch Hilfe beim auslesen des Benutzernamens (User)

Meinste Du kannst mir trotzdem helfen ?
Mit Zitat antworten
  #4 (permalink)  
Alt 01-02-2013, 15:12
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Ich versuchs mal....

Speichere nur die UserID in $_SESSION
Den zugehörigen Namen kannst du dir jederzeit aus der DB holen.
Fange besser gar nicht mit doppelter Datenhaltung an, zu viele Fußangeln.

Ignoriere die Sessionid.
Tust du das nicht, machst du dir ganz fix die Anwendung von regenerate_session_id() kaputt.
Alternativ: Handel es besser ab, dann kannst du u.U. auch Angriffe erkennen.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #5 (permalink)  
Alt 01-02-2013, 15:27
GR_BuLL3T
 Registrierter Benutzer
Links : Onlinestatus : GR_BuLL3T ist offline
Registriert seit: Feb 2013
Beiträge: 3
GR_BuLL3T befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Antwort.

Da dieses Script wie schon geschrieben nicht von mir ist (weil ich es auch überhaupt nicht Schreiben könnte), weis ich leider auch nicht wie ich was ändern könnte um nur die UserID in die $_SESSION zu speichern.

Aber wenn Du mir schon mal helfen kannst den Namen aus der DB zu holen wäre ich nen schritt weiter.

Ich würde gerne erstmal alle Bedenken zur Sicherheit beiseite legen wollen. Auch wenn Dir gerade die Nackenhaare hochstehen ;-)
Mit Zitat antworten
  #6 (permalink)  
Alt 01-02-2013, 18:07
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Auch wenn Dir gerade die Nackenhaare hochstehen ;-)
Ja, du machst mir Angst!


Hmm...
Du solltest deine Erkenntnisse aus mehreren Quellen beziehen.
Tipp: Google("PHP MySQL Login Tutorial")

PS:
Ich lege keinen sonderlichen Wert darauf, dass du mir glaubst!
(auch wenn ich weiß, dass ich recht habe)
__________________
Wir werden alle sterben
Mit Zitat antworten
  #7 (permalink)  
Alt 01-02-2013, 18:41
Paul0000
 Registrierter Benutzer
Links : Onlinestatus : Paul0000 ist offline
Registriert seit: Jan 2013
Beiträge: 11
Paul0000 befindet sich auf einem aufstrebenden Ast
Standard

guck dir mal das hier an: http://www.php-einfach.de/tuts_mysql_login.php
ist total einfach und wenn du einen User begrüßen willst musst du nur echo $_SESSION["username"] schreiben. Funktioniert super.
Mit Zitat antworten
  #8 (permalink)  
Alt 01-02-2013, 19:06
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Wie gesagt: Ich mag keine doppelte Datenhaltung!
Race Conditions lauern allen Ecken.
__________________
Wir werden alle sterben
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
Login Script: Session - Cookie oder Datenbank? Didito PHP Developer Forum 4 17-10-2007 00:06
Login Script mit Session Buschpilot Tutorials 1 30-05-2007 15:06
Login script mit Session PROBLEM/FRAGE Party PHP Developer Forum 1 02-08-2006 10:02
Login Script Daten Auslesen bl4d36666 PHP Developer Forum 6 09-03-2005 23:04
[Script] memberscript + login (session) + rang ernstaugust Apps und PHP Script Gesuche 15 30-10-2004 23:00

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

Computer oder Gehirn? Macht uns das Internet immer dümmer? 
Computer oder Gehirn? Macht uns das Internet immer dümmer? Die ständig zur Verfügung stehenden Informationen über das Internet haben den Vorteil, dass man sich im Vergleich zu früheren Jahren deutlich weniger merken muss.

18.01.2018 | PhilippEgger

PHP oder Spanisch lernen? Oder doch beides?
PHP oder Spanisch lernen? Oder doch beides?Fremdsprachen sind für Entwickler enorm wichtig. Ohne Englisch geht fast nichts.

28.11.2017 | Berni


 

Aktuelle PHP Scripte

jefex CMS 2.1

Die Einsteiger-Version ist für einfache Webseiten vorgesehen, wie z.B. Visitenkarten oder Informations-Webseiten. jefex CMS 2 Starter beinhaltet folgende Features.CMS für jedermann in drei Versionen erhältlich

14.05.2018 jefex-media | Kategorie: PHP/ CMS
jefex CMS 2 Extended

jefex CMS 2 Extended Die erweiterte Version ist für Webseiten, wie z.B. private Homepages oder Präsentations-Webseiten. jefex CMS 2 Extended beinhaltet folgende Features.

14.05.2018 jefex-media | Kategorie: PHP/ CMS
Top-Side.de Php Guest Book v1.2

Gästebuch mit: Smilies, Selbst einstellbarer IP Sperre, Spamschutz (ein- und ausschaltbar), Einträge löschen und editieren, Kommentarfunktion, Seiten- bzw. Blätterfunktion, BB-Code, Vorschaufunktion, Gesamtzahl der Einträge, Hitcounter, E-Mail Adressen vo

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

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