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

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 12:51 Uhr.