SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.09.2007, 00:27:23
-=Sirius=- -=Sirius=- ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 68
-=Sirius=- eine Nachricht über ICQ schicken
Loginscript mit verschiedenen Datenquellen

Hallo,
hier schon mein 2ter Thread.

Also ich will ein Loginscript machen.
Allerdings soll das die Daten von dem woltlab burning board lite, kurz auch wbb lite, nehmen.
Sprich: username und password.

Das Loginscript hab ich von hier: Klick

die sessionhelpers.inc.php hab ich umgeschrieben, sowie das Formular (in send_termin.php)... das Poste ich aber unten noch.
Die Datenbanken heißen für das Forum und deren Daten (username,password) folgendermaßen:
DB: Klasse, bb1_users
einträge: username und password

Die session soll in users kommen.

hier poste ich jetzt einfach mal die beien dokumente.

Das Formular in send_termin.php:
Code:
<form method="post" action="login.php">
  <label>Benutzername:</label><input name="username" type="text">
  <br>
  <label>Passwort: </label><input name="password" type="password" id="password">
  <br>
  <input name="login" type="submit" id="login" value="Einloggen">
</form>
und hier mal die sessionhelpers.inc.php
Code:
<?php
function connect()
{
    $con= mysql_connect('localhost','root','pw') or die(mysql_error());
     mysql_select_db('klasse',$con) or die(mysql_error());
}

function check_user($username, $password)
{
    $sql="SELECT userid
    FROM bb1_users
    WHERE username='".$username."' AND password=MD5('".$password."')
    LIMIT 1";
    $result= mysql_query($sql) or die(mysql_error());
    if ( mysql_num_rows($result)==1)
    {
        $user=mysql_fetch_assoc($result);
        return $user['UserId'];
    }
    else
        return false;
}

function login($UserID)
{
    $sql="UPDATE users
    SET UserSession='".session_id()."'
    WHERE UserId=".$userid;
     mysql_query($sql);
}

function logged_in()
{
    $sql="SELECT UserId
    FROM users
    WHERE UserSession='".session_id()."'
    LIMIT 1";
    $result= mysql_query($sql);
      return ( mysql_num_rows($result)==1);
}

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

connect();
?>
Die restlichen Dokumente findet ihr ja auf der Seite, die ich oben gepostet hab, hier nochmal:
http://www.php-resource.de/tutorials/read/38/3/

Diese habe ich nicht verändert.

Hoffe ihr könnt mir nochmal sogut helfen wie bei meinem letzten Thread ;)

edit:

Vor lauter Schreiben hab ich ja mein Problem ganz vergessen zu schreiben:
Also wenn ich meinen namen und das passwort eingeb dann logt der nicht ein.
Es kommt immer das die Anmeldedaten falsch sind. Obwohl die 100% übereinstimmen!



mfg
Sirius
__________________
cu Sirius


Meine Projekte:
Maafischer-Viereth.de und noch einige in Bearbeitung :)

Geändert von -=Sirius=- (08.09.2007 um 00:33:22 Uhr)
Mit Zitat antworten
  #2  
Alt 08.09.2007, 05:16:45
Benutzerbild von conmunich
conmunich conmunich ist offline
Junior Member
 
Registriert seit: Mar 2006
Alter: 44
Beiträge: 285
AW: Loginscript mit verschiedenen Datenquellen

das fängt ja schon damit an, dass du UserId einmal groß und dann wieder klein schreibst.
Mit Zitat antworten
  #3  
Alt 08.09.2007, 14:32:15
-=Sirius=- -=Sirius=- ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 68
-=Sirius=- eine Nachricht über ICQ schicken
AW: Loginscript mit verschiedenen Datenquellen

sry... hab ich gestern Abend auch bemerkt.
Hab jetzt in der DB unter users "UserID" zu "userid" umbenannt.

Meine sessionhelpers.inc.php schaut nun so aus:
Code:
<?php 
error_reporting(E_ALL);

function connect() 
{ 
    $con= mysql_connect('localhost','sirius','test') or die(mysql_error()); 
     mysql_select_db('klasse',$con) or die(mysql_error()); 
} 
  
function check_user($username, $password) 
{ 
$sql="SELECT userid 
FROM bb1_users 
WHERE username='".$username."' AND `password`= '".md5($password)."' 
LIMIT 1"; 
$result= mysql_query($sql) or die(mysql_error()); 
if ( mysql_num_rows($result)==1) 
{ 
$user=mysql_fetch_assoc($result); 
return $user['userid']; 
} 
else 
return false; 
} 
function login($UserID) 
{ 
    $sql="UPDATE users 
    SET UserSession='".session_id()."' 
    WHERE userid=".$UserID; 
     mysql_query($sql); 
} 
  
function logged_in() 
{ 
    $sql="SELECT userid 
    FROM users 
    WHERE UserSession='".session_id()."' 
    LIMIT 1"; 
    $result= mysql_query($sql); 
      return ( mysql_num_rows($result)==1); 
} 
  
function logout() 
{ 
    $sql="UPDATE users 
    SET UserSession=NULL 
    WHERE UserSession='".session_id()."'"; 
     mysql_query($sql); 
} 
  
connect(); 

?>
Jetzt kommt auch irgendwie kein Fehler mehr.
Sondern der loggt einfach nicht mehr ein... der bringt immer: Anmeldedaten nicht korrekt.

Meine Seite will ich jetzt noch nicht onlinestellen. Die läuft bei mir auf xampp, wer sich das mal anschauen möchte kann sich ja mal melden... am besten per icq ;)
__________________
cu Sirius


Meine Projekte:
Maafischer-Viereth.de und noch einige in Bearbeitung :)

Geändert von -=Sirius=- (08.09.2007 um 14:33:42 Uhr)
Mit Zitat antworten
  #4  
Alt 11.09.2007, 14:12:23
Eskayp Eskayp ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 18
AW: Loginscript mit verschiedenen Datenquellen

Da ich das WoltLab-Board noch nie installiert hatte: Sind denn die Passwörter überhaupt als MD5 abgespeichert?

Außerdem solltest Du nochmal den Code-Schnippsel posten, in dem Du die Funktion check_user aufrufst.

Am Leichtesten ist die Fehlersuche immer, indem man ein paar ECHOs einbaut und den Zustand von Variablen prüft. Kommt überhaupt das Passwort aus Deinem Formularfeld in der Funktion an? Klappt der Login vielleicht, aber das Ergebnis der Login-Funktion wird falsch ausgewertet? etc...

Grüße
Kai
Mit Zitat antworten
  #5  
Alt 11.09.2007, 14:57:44
-=Sirius=- -=Sirius=- ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 68
-=Sirius=- eine Nachricht über ICQ schicken
AW: Loginscript mit verschiedenen Datenquellen

Zitat:
Zitat von Eskayp Beitrag anzeigen
Da ich das WoltLab-Board noch nie installiert hatte: Sind denn die Passwörter überhaupt als MD5 abgespeichert?

Außerdem solltest Du nochmal den Code-Schnippsel posten, in dem Du die Funktion check_user aufrufst.

Am Leichtesten ist die Fehlersuche immer, indem man ein paar ECHOs einbaut und den Zustand von Variablen prüft. Kommt überhaupt das Passwort aus Deinem Formularfeld in der Funktion an? Klappt der Login vielleicht, aber das Ergebnis der Login-Funktion wird falsch ausgewertet? etc...

Grüße
Kai
Hm,
ich poste einfach mal alles hier ;)

send_termin.php
HTML-Code:
<center><font size="+3">Hier kannst du Termine einschicken</font><br />
<br />
<br />
Vorher musst du dich allerdings aus Sicherheitsgründen anmelden<br />
<br />
<form method="post" action="login.php">
  <label>Benutzername:</label><input name="username" type="text">
  <br>
  <label>Passwort: </label><input name="password" type="password" id="password">
  <br>
  <input name="login" type="submit" id="login" value="Einloggen">
</form>
<br />
<br />
<br />
login.php
PHP-Code:
<?
session_start();
include 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
    $userid=check_user($_POST['username'], $_POST['password']);
    if ($userid!=false)
        login($userid);
    else
        echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
if (!logged_in())
    echo '<form method="post" action="login.php">
  <label>Benutzername:</label><input name="username" type="text">
  <br>
  <label>Passwort: </label><input name="password" type="password" id="password">
  <br>
  <input name="login" type="submit" id="login" value="Einloggen">
</form>';
else
    echo '<a href="logout.php">Ausloggen</a>';
echo '<p /><a href="logged_in.php">Check</a>';
?>
logged_in.php
PHP-Code:
<?
session_start();
include 'sessionhelpers.inc.php';
echo 'Sie sind ';
if (!logged_in())
    echo 'nicht ';
echo 'eingeloggt.<p />';
echo '<a href="login.php">Start</a>';
?>
sessionshelper.inc.php
PHP-Code:
<?php 
error_reporting
(E_ALL);

function 
connect() 

    
$conmysql_connect('localhost','sirius','test') or die(mysql_error()); 
     
mysql_select_db('klasse',$con) or die(mysql_error()); 

  
function 
check_user($username$password

$sql="SELECT userid 
FROM bb1_users 
WHERE username='"
.$username."' AND `password`= '".md5($password)."' 
LIMIT 1"

$resultmysql_query($sql) or die(mysql_error()); 
if ( 
mysql_num_rows($result)==1

$user=mysql_fetch_assoc($result); 
return 
$user['userid']; 

else 
return 
false

function 
login($UserID

    
$sql="UPDATE users 
    SET UserSession='"
.session_id()."' 
    WHERE userid="
.$UserID
     
mysql_query($sql); 

  
function 
logged_in() 

    
$sql="SELECT userid 
    FROM users 
    WHERE UserSession='"
.session_id()."' 
    LIMIT 1"

    
$resultmysql_query($sql); 
      return ( 
mysql_num_rows($result)==1); 

  
function 
logout() 

    
$sql="UPDATE users 
    SET UserSession=NULL 
    WHERE UserSession='"
.session_id()."'"
     
mysql_query($sql); 

  
connect(); 

?>
Das ist alles.
__________________
cu Sirius


Meine Projekte:
Maafischer-Viereth.de und noch einige in Bearbeitung :)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abfrage aus verschiedenen Tabelle mit mehreren Bedingungen tigi MySQLi/PDO/(MySQL) 2 31.08.2007 12:39:11
verschiedenen benutzer mit verschiedenen auflösungen? Domi Off Topic Area 5 26.06.2006 10:27:39
Foren mit verschiedenen Level HansPeter PHP Grundlagen 3 28.12.2005 14:48:24
meine homepage in 2 verschiedenen designs dipsi PHP für Fortgeschrittene und Experten 8 16.10.2005 18:31:37
Suche ein Loginscript Spike15 PHP Grundlagen 5 07.10.2004 15:16:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:46:11 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt