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 22-11-2006, 21:14
dakingno1
 Registrierter Benutzer
Links : Onlinestatus : dakingno1 ist offline
Registriert seit: Nov 2006
Beiträge: 149
dakingno1 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Login Script Session_id()

HAllo,

Ich habe ein Login Script von hier verwendet.

So sieht das ganze aus: login

Wenn ihr euch einloggt (Username:Admin Passwort:Admin), dann wird eine die UserSession_id() in die Spalte UserSession gespeichert, um rauszubekommen ,wer eingeloggt ist. Nun soll aber auf der mainpage nach dem login der nickname stehen. nur ledier steht dort das PAssswort, dass in der Session_id() id steht.

Hier Code meiner index.php.php
PHP-Code:
<html>
  <head>
    <title>King Aleks & Queen Zaras B-Day Vol. 2</title>
    <link rel="stylesheet" type="text/css" href="http://bday06.funpic.de/css/simpleblack.css">   
  </head>
  <body>

<?php
session_start
();
include 
'src/sessionhelpers.inc.php';

       
$heute=date('d.m.Y H:i:s');
       
$neu="22.12.2006 22:30:00";

       
$bla split("\.",$neu-$heute);
       
$erg=$bla[1]*30+$bla[0];
?>

<?php
      
echo '<table border="0" cellspacing="1" cellpadding="2" width="100%" class="content">';

if (
logged_in())
{
      
//$nickname = mysql_query ("SELECT nickname FROM tbl_user WHERE P_ID_user = '".$userid."');
      //$ergebnis = mysql_fetch_array($nickname);
      //echo $ergebnis["nickname"];
      
echo session_id();
     
      echo 
'Eingeloggt';
}
else
{
   echo 
'<tr><td><a href="login.php">Login</a></td></tr>';   
}

?>
Und nun der Code worin die USerSession gespeichert wird:
PHP-Code:
<?
function connect()
{
    
$conmysql_connect('localhost','bday06','sqlalexander') or die(mysql_error());
     
mysql_select_db('bday06',$con) or die(mysql_error());
}

function 
check_user($nickname$passwort)
{
    
$sql="SELECT P_ID_user
    FROM tbl_user
    WHERE nickname='"
.$nickname."' AND Passwort='".MD5($passwort)."'
    LIMIT 1"
;
    
$resultmysql_query($sql) or die(mysql_error());
    if ( 
mysql_num_rows($result)==1)
    {
        
$user=mysql_fetch_assoc($result);
        return 
$user['P_ID_user'];
    }
    else
        return 
false;
}

function 
login($userid)
{
    
$sql="UPDATE tbl_user
    SET UserSession='"
.session_ID()."'
    WHERE P_ID_user="
.$userid;
     
mysql_query($sql);
}

function 
logged_in()
{
    
$sql="SELECT P_ID_user
    FROM tbl_user
    WHERE UserSession='"
.session_id()."'
    LIMIT 1"
;
    
$resultmysql_query($sql);
      return ( 
mysql_num_rows($result)==1);
}


function 
logout()
{
    
$sql="UPDATE tbl_user
    SET UserSession=NULL
    WHERE UserSession='"
.session_id()."'";
     
mysql_query($sql);
}

connect();
?>

In meiner index.php soll der nickname zu sheen sein, mit dem man eingeloggt ist.

Ich hoffe ich konnte euch mei nProblem näher bringen udn ihr habt Tips zur Lösung.

Wenn es noc hfragen gibt, postet sie doch bitte!!!!

Geändert von dakingno1 (23-11-2006 um 08:59 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 22-11-2006, 22:15
Hirnhamster
 Registrierter Benutzer
Links : Onlinestatus : Hirnhamster ist offline
Registriert seit: Oct 2006
Beiträge: 160
Hirnhamster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP Tags benutzen.. bitte.. das geht sonst echt auf die augen
Mit Zitat antworten
  #3 (permalink)  
Alt 23-11-2006, 09:00
dakingno1
 Registrierter Benutzer
Links : Onlinestatus : dakingno1 ist offline
Registriert seit: Nov 2006
Beiträge: 149
dakingno1 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Hirnhamster
PHP Tags benutzen.. bitte.. das geht sonst echt auf die augen

Hab´s geändert. Sorry, bin ja neu hier!^^
Mit Zitat antworten
  #4 (permalink)  
Alt 23-11-2006, 09:17
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

Also zuerst mal solltest du selber wissen ob die Fkt nun session_id() oder session_ID() heisst. Auch wenn es für dich dasselbe sein mag, wird php das garantiert anders sehen.
Du machst doch den Login (check_user()) des Users und wenn der gut ist gibt dir die Fkt die ID des Userdatensatzes zurück, richtig ?
Dann speichere diesen Wert doch in eine Session Var
PHP-Code:
session_start();
$temp check_user('pw','user');
if(
$temp !== false){
    
$_SESSION['userID'] = $temp;
}

//index.php
$sql "SELECT nickname FROM tabl_user WHERE P_ID_user = ".$_SESSION['userID']; 
Gruss
tobi
__________________
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 23-11-2006, 10:01
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von jahlives
[Also zuerst mal solltest du selber wissen ob die Fkt nun session_id() oder session_ID() heisst. Auch wenn es für dich dasselbe sein mag, wird php das garantiert anders sehen.
ausnahmsweise ist die groß-/kleinschreibung bei funktionsnamen egal (im gegensatz zu variablen). wobei, unsauber ist es trotzdem.


Zitat:
Du machst doch den Login (check_user()) des Users und wenn der gut ist gibt dir die Fkt die ID des Userdatensatzes zurück, richtig ?
Dann speichere diesen Wert doch in eine Session Var
warum diesen umweg? er kann in der index.php gleich nach der sessionid selecten:
PHP-Code:
$sql="SELECT nickname FROM tbl_user WHERE UserSession='".session_id()."' LIMIT 1"
und da die funktion logged_in() sowieso jedesmal aufgerufen wird, würde ich sie gleich so umschreiben, dass sie mir den nickname oder false liefert. dann spart man sich eine db-abfrage.
Mit Zitat antworten
  #6 (permalink)  
Alt 23-11-2006, 10:05
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

Zitat:
ausnahmsweise ist die groß-/kleinschreibung bei funktionsnamen egal (im gegensatz zu variablen). wobei, unsauber ist es trotzdem.
Dann ist für php also session_ID() == session_id() ? Dat wusste ich nicht...

Gruss

tobi
__________________
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
  #7 (permalink)  
Alt 23-11-2006, 11:13
dakingno1
 Registrierter Benutzer
Links : Onlinestatus : dakingno1 ist offline
Registriert seit: Nov 2006
Beiträge: 149
dakingno1 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von 3DMax
ausnahmsweise ist die groß-/kleinschreibung bei funktionsnamen egal (im gegensatz zu variablen). wobei, unsauber ist es trotzdem.



warum diesen umweg? er kann in der index.php gleich nach der sessionid selecten:
PHP-Code:
$sql="SELECT nickname FROM tbl_user WHERE UserSession='".session_id()."' LIMIT 1"
und da die funktion logged_in() sowieso jedesmal aufgerufen wird, würde ich sie gleich so umschreiben, dass sie mir den nickname oder false liefert. dann spart man sich eine db-abfrage.

in der session_id steht fälschlicherweise das Passwort anstatt der Nickname. Das war mei nProblem und deshalb brauchte ich eineneanderen weg.

Nun habe ich den Nickname über $_SESSION ausgegeben und es funzt soweit. Der rest ist mir erstmal egal.

DANKE!!!!
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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

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

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