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 13-03-2007, 16:12
biohazard360ft
 Newbie
Links : Onlinestatus : biohazard360ft ist offline
Registriert seit: Mar 2007
Beiträge: 18
biohazard360ft ist zur Zeit noch ein unbeschriebenes Blatt
Standard LoginScript

Hallo also im folgenden findet ihr meinen PHP Login Script mit Datenbank ( MySql).

Nun zu meinem Problem:

Ich kann mich mit dem Registrierungsformular registrieren kein Problem.So mit Passwortvergleich (PW1=PW1) und Benutzernachfrage ob es diesen Namen schon in der Datenbank gibt!

Dieses geht alles wunderbar!

Nun kommt der Fehler!

Wenn ich zum Loginfenster komme, und ich mich Anmelde, zeigt er mir "BENUTZERDATEN NICHT VORHANDEN"!

Ich weis nicht weiter!

Habe den Script 3 mal neu geschrieben und immer geht es noch nicht!

Komisch!

Hoffe ihr schaut mal drüber und findet evt den Fehler!

login
PHP-Code:
<?php
session_start
();
?>

<?include("mysql.inc")?>
<?php


$benutzer 
$_POST["benutzer"];
$passwort md5($_POST["passwort"]);

$abfrage "SELECT benutzer, passwort FROM login WHERE benutzer LIKE '$benutzer' LIMIT 1";
$ergebnis mysql_query($abfrage);
$row mysql_fetch_object($ergebnis);

if(
$row->passwort == $passwort)
    {
    
$_SESSION["benutzer"] = $benutzer;
    echo 
"Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>";
    }
else
    {
    echo 
"Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>";
    }

?>
anmelden

PHP-Code:
<?include("mysql.inc")?>
<?php


$benutzer 
$_POST["benutzer"];
$passwort $_POST["passwort"];
$passwieder $_POST["passwieder"];

if(
$passwort != $passwieder OR $benutzer == "" OR $passwort == "")
    {
    echo 
"Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"eintragen.html\">Zurück</a>";
    exit;
    }
$passwort md5($passwort);

$result mysql_query("SELECT id FROM login2 WHERE benutzer LIKE '$benutzer'");
$menge mysql_num_rows($result);

if(
$menge == 0)
    {
    
$eintrag "INSERT INTO login2 (benutzer, passwort) VALUES ('$benutzer', '$passwort')";
    
$eintragen mysql_query($eintrag);

    if(
$eintragen == true)
        {
        echo 
"Benutzername <b>$benutzer</b> wurde erstellt. <a href=\"login.html\">Login</a>";
        }
    else
        {
        echo 
"Fehler beim Speichern des Benutzernames. <a href=\"eintragen.html\">Zurück</a>";
        }


    }

else
    {
    echo 
"Benutzername schon vorhanden. <a href=\"eintragen.html\">Zurück</a>";
    }
?>
geheim

PHP-Code:
<?php
session_start
();
?>

<?php
if(!isset($_SESSION["benutzer"]))
   {
   echo 
"Bitte erst <a href=\"login.html\">einloggen";
   exit;
   }
?>
Hier kommen sie zum angemeldeten bereich
Mit Zitat antworten
  #2 (permalink)  
Alt 13-03-2007, 16:18
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: LoginScript

Zitat:
Original geschrieben von biohazard360ft
Wenn ich zum Loginfenster komme, und ich mich Anmelde, zeigt er mir "BENUTZERDATEN NICHT VORHANDEN"!
Und wo in deinem Code sehen wir die Stelle, wo diese Meldung ausgegeben wird?


Btw: Du kannst ruhig normale Interpunktion benutzen, brauchst nicht jeden Satz mit einem Ausrufezeichen beenden.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 13-03-2007, 16:20
biohazard360ft
 Newbie
Links : Onlinestatus : biohazard360ft ist offline
Registriert seit: Mar 2007
Beiträge: 18
biohazard360ft ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Benutzername und/oder Passwort waren falsch


das ist die richtige Stelle. Entschuldige!
Mit Zitat antworten
  #4 (permalink)  
Alt 13-03-2007, 16:21
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Dann mach mal Kontrollausgaben der vom Script verwendeten Variablen - und schau nach, ob die stimmig sind.


Btw: Über SQL Injection solltest du dich auch mal dringend informieren.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 13-03-2007, 16:26
biohazard360ft
 Newbie
Links : Onlinestatus : biohazard360ft ist offline
Registriert seit: Mar 2007
Beiträge: 18
biohazard360ft ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie bitte wahsaga? SQL Injection?

Die Variablen stimmen alle!


Ich bitte euch helft mir... muss das zu meinem Abschlussprojekt hinzufügen aber das will nicht!

Geändert von biohazard360ft (13-03-2007 um 16:28 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 13-03-2007, 16:35
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von biohazard360ft
Wie bitte wahsaga? SQL Injection?
Was soll die blöde Nachfrage?
Zitat:
Die Variablen stimmen alle!
Vermutung deinerseits, oder wirklich kontrolliert?


Kontrollausgabe generierter Query-String, test über alternatives Frontend wie PMA?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 13-03-2007, 16:52
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

Schreib mal eine Ausgabe hier rein
PHP-Code:
if($row->passwort == $passwort)
    {
    
$_SESSION["benutzer"] = $benutzer;
    echo 
"Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>";
    }
else
    {
    echo 
$row->passwort.'<br />'.$passwort;
    exit;
    echo 
"Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>";
    } 
Sind diese beiden Ausgabe VOLLKOMMEN identisch ?

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
  #8 (permalink)  
Alt 13-03-2007, 17:44
biohazard360ft
 Newbie
Links : Onlinestatus : biohazard360ft ist offline
Registriert seit: Mar 2007
Beiträge: 18
biohazard360ft ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hey Tobi !

Ja die sind identisch ! Ich sehe zumindestens keinen fehler.
Mit Zitat antworten
  #9 (permalink)  
Alt 13-03-2007, 17:55
splasch
 Registrierter Benutzer
Links : Onlinestatus : splasch ist offline
Registriert seit: Feb 2007
Beiträge: 74
splasch ist zur Zeit noch ein unbeschriebenes Blatt
Wink

Der fehler ist im Sql Stament

Du schreibst und liest aus einer anderen Tabelle
Da kann das Nie übereinstimmen.


PHP-Code:
SELECT benutzerpasswort FROM login WHERE benutzer LIKE '$benutzer' LIMIT 1
SELECT id FROM login2 WHERE benutzer LIKE 
'$benutzer'
INSERT INTO login2 (benutzerpasswortVALUES ('$benutzer''$passwort')"; 
Und Fällt dir da was auf Schreiben tust in login2 und beim Login script liest dann aus der Tabelle login aus.

Geändert von splasch (13-03-2007 um 17:58 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 14-03-2007, 07:42
biohazard360ft
 Newbie
Links : Onlinestatus : biohazard360ft ist offline
Registriert seit: Mar 2007
Beiträge: 18
biohazard360ft ist zur Zeit noch ein unbeschriebenes Blatt
Standard

splash danke dir du warst meine Rettung danke!
Mit Zitat antworten
  #11 (permalink)  
Alt 15-03-2007, 17:43
w-shadow
 Newbie
Links : Onlinestatus : w-shadow ist offline
Registriert seit: Jan 2007
Beiträge: 24
w-shadow ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Da ich ich auch demnächst mit einem Login-System befassen werde, wollt ich nur fragen wie ich in meinen Abfragen formulieren sollte.

Lieber so
PHP-Code:
$abfrage "SELECT benutzer, passwort FROM login WHERE benutzer LIKE '$benutzer';"
oder so
PHP-Code:
$abfrage "SELECT benutzer, passwort FROM login WHERE benutzer = '$benutzer';"

achso @biohazard360ft: was dagegen wenn ich bei deinem script ein wenig abschreibe?
Mit Zitat antworten
  #12 (permalink)  
Alt 15-03-2007, 21:34
biohazard360ft
 Newbie
Links : Onlinestatus : biohazard360ft ist offline
Registriert seit: Mar 2007
Beiträge: 18
biohazard360ft ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nö kannst es ruhig benutzen habe kein problem damit!


Allerdings habe ich jezt noch ein Problem.

Und zwar folgendes:

Wenn der User auf die HP also den Index geht ist er ja noch nicht ANGEMELDET.

Dieses ist er ja erst wenn er sich Einloggt!

Nun soll das dann auf der Startseite stehn.

Bei nicht eingeloggt: Sie sind nicht eingeloggt!

Bei erfolgreichen einloggen soll dann statt "Sie sind nicht eingeloggt" Hallo ( dann der Benutzername) und ein Link der heist "Meine Daten".

Hier habe ich nun mein Script !

Was tut es?

Beim Anmelden zeigt er folgendes:

Hallo (Name) Sie sind nicht eingeloggt

Er soll aber nur Hallo (Name) zeigen was ist mein Fehler?
Ich vermute das ich einen Denkfehler habe... aber ich komme nicht drauf.



PHP-Code:
        <?include("mysql.inc")?>
        <?php session_start();
        if(
session_id())
        {
         echo 
"Hallo $benutzer";
         echo 
"<a href=\"andern.php\">Meine Daten</a>";
         }
         
        
        echo 
" Sie sind nicht Eingeloggt!";
        
session_destroy(); 
    
        
?>

Hatte es auch schon so versucht:

PHP-Code:
        <?include("mysql.inc")?>
        <?php session_start();
        if(
session_id("benutzer"))
        {
         echo 
"Hallo $benutzer";
         echo 
"<a href=\"andern.php\">Meine Daten</a>";
         }
         
        
        echo 
" Sie sind nicht Eingeloggt!";
        
session_destroy(); 
    
        
?>
Hier könnt ihr es auch selbst testen:
Testlogin
Mit Zitat antworten
  #13 (permalink)  
Alt 15-03-2007, 21:35
biohazard360ft
 Newbie
Links : Onlinestatus : biohazard360ft ist offline
Registriert seit: Mar 2007
Beiträge: 18
biohazard360ft ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von w-shadow


Lieber so
PHP-Code:
$abfrage "SELECT benutzer, passwort FROM login WHERE benutzer LIKE '$benutzer';"
[/B]
Würde dir das empfehlen!
Mit Zitat antworten
  #14 (permalink)  
Alt 15-03-2007, 23:14
splasch
 Registrierter Benutzer
Links : Onlinestatus : splasch ist offline
Registriert seit: Feb 2007
Beiträge: 74
splasch ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
PHP:--------------------------------------------------------------------------------
$abfrage = "SELECT benutzer, passwort FROM login WHERE benutzer LIKE '$benutzer';";
Kanst du das auch begründen?
Du weiß aber schon was Like bei Sql bedeuted oder.
Verwend ein = ist sicherere.

Übrings ist das ganze Login script nicht sicher (Sql injektion unsw.)
Mit Zitat antworten
  #15 (permalink)  
Alt 15-03-2007, 23:20
splasch
 Registrierter Benutzer
Links : Onlinestatus : splasch ist offline
Registriert seit: Feb 2007
Beiträge: 74
splasch ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
if(session_id())
Was soll den das darstellen ist doch keine Abfrage und kann net funktionieren.
Der weiß ja garnicht was er überhaupt prüfen soll im if Teil

Mach dich mal schlau wie man If anweisungen schreibt.
Und verwende Else sonst werden immer dann beide ausgeführt.

hier die lösung zu deinen Problem

PHP-Code:
if(isset($_SESSION['benutzer'])){

// anweisung teil
// ende if
Else{

}

// oder du schreibst

if ($_SESSION['benutzer']==True) { 

Geändert von splasch (15-03-2007 um 23:35 Uhr)
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

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 22:30 Uhr.