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 27-07-2006, 20:10
yosh24
 Newbie
Links : Onlinestatus : yosh24 ist offline
Registriert seit: Oct 2005
Beiträge: 5
yosh24 ist zur Zeit noch ein unbeschriebenes Blatt
Standard PHP liest falschen Wert aus der Datenbank

Hallo!

Also, ich bin dabei ein Login-Script mit MySQL zu realisieren (auf einem der Tutorials basierend). Mit dem registrieren funktioniert alles gut, nur, wenn ich beim Einloggen das eingegebe Passwort mit dem aus der Datenbank vergleiche (beide von PHP md5-verschlüsselt), dann hängt PHP bei dem aus MySQL hinten zwei Stellen an. Hier mein Script:

PHP-Code:
<?php
include 'config.php'// Verbindung zur Datenbank is hier drinnen
$user=$_POST['usrname'];
$pwd=$_POST['pwd'];
$pwd=md5($pwd);
$sql="SELECT * FROM users WHERE username='$user';";
$result mysql_query($sql);
if(
$result) {
  
$data mysql_fetch_assoc($result);
  if(
$data['password']==$pwd) {
  echo 
"Vergleich der Datenbankabfrage erfolgreich. Benutzername und Passwort stimmen überein.</p>";
  echo 
"<b>ID:</b> ".$data['id']."<br>";
  echo 
"<b>Passwort:</b> ".$data['password']."<br>";
  }
 else { echo 
"Falsches Passwort.<br> Eingegebenes Passwort (MD5): ".$pwd."<br>Passwort aus der Datenbank: 
"
.$data['password']."</p>";}
  }
else {
 die(
"Fehler beim Ausführen des MySQL-Befehles. MySQL meldet: ".mysql_error());
}
?>

Geändert von yosh24 (27-07-2006 um 20:21 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 27-07-2006, 20:15
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kannst du mal beide zeigen..
Mit Zitat antworten
  #3 (permalink)  
Alt 27-07-2006, 20:19
yosh24
 Newbie
Links : Onlinestatus : yosh24 ist offline
Registriert seit: Oct 2005
Beiträge: 5
yosh24 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das Registrierungs-Script?

PHP-Code:
<?php
include 'config.php';

if(isset(
$_POST['username'])) {
$un=$_POST['username'];
$pwd=md5($_POST['password']);
$na=$_POST['name'];
$bd=$_POST['birthday'];
$to=$_POST['town'];
$zi=$_POST['zip'];
$co=$_POST['country'];
$cl=$_POST['club'];
$sx=$_POST['************'];
$ab=$_POST['about'];
$em=$_POST['email'];
$hp=$_POST['homepage'];
if(
$sx=="männlich") {$sx=1;} elseif($sx=="weiblich") {$sx=0;}
$sql "INSERT INTO users (username, password, name, birthday, town, zip, country, club, ************, about, email, 
homepage, since) VALUES ('$un', '$pwd', '$na', '$bd', '$to', '$zi', '$co', '$cl', '$sx', '$ab', '$em', '$hp',
 NOW())"
;
$res=mysql_query($sql);
if(!
$res) {
die(
"Fehler beim Eintragen in die Datenbank.");
}
echo 
"Registriert. <a href='http://www.yosh24.de/php/php.php'>Hier</a> klicken, um alle registrierten 
User einzusehen!</p>\n"
;
}
else {
echo 
"<form action='reg.php' method='post' name='registrierung'>
Username: <input name='username' type='text'><br>
Passwort: <input name='password' type='text'><br>
Name: <input name='name' type='text'><br>
Geburtsdatum (JJJJ-MM-TT): <input name='birthday' type='text'><br>
Wohnort: <input name='town' type='text'><br>
Posteitzahl: <input name='zip' type='text'><br>
Land: <input name='country' type='text'><br>
Lieblingsdiscothek: <input name='club' type='text'><br>
Geschlecht (männlich / weiblich)t: <input name='************' type='text'><br>
Benutzertext: <input name='about' type='textfield' maxlength=100><br>
e-mail: <input name='email' type='text'><br>
Homepage: <input name='homepage' type='text'><br>
<input type='submit'>
</form>"
;
}
}
else {
die(
"Es konnte keine Verbindung zer Datenbank hergestellt werden.");
}
?>

Geändert von yosh24 (27-07-2006 um 20:22 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 27-07-2006, 20:25
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

entschuldige, ich meine die hashes.
etwa von dem wort "foobar".
Mit Zitat antworten
  #5 (permalink)  
Alt 27-07-2006, 20:29
yosh24
 Newbie
Links : Onlinestatus : yosh24 ist offline
Registriert seit: Oct 2005
Beiträge: 5
yosh24 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry, mir fällt grad auf, dass er das neu eingegebene Passwort verändert
Also bei "Foobar":

Beim Login eingegebenes: 3858f62230ac3c915f300c664312c63f
Aus MySQL gelesenes: 3858f62230ac3c915f300c664312c6
Mit Zitat antworten
  #6 (permalink)  
Alt 27-07-2006, 20:40
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie du merkst, speicherst du in der tabelle nur 30 zeichen. ein md5-hash besteht aber aus 32 zeichen... siehst du das problem nun?
Mit Zitat antworten
  #7 (permalink)  
Alt 27-07-2006, 20:42
yosh24
 Newbie
Links : Onlinestatus : yosh24 ist offline
Registriert seit: Oct 2005
Beiträge: 5
yosh24 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Aso! Also einfach in der Tabelle von varchar(30) auf varchar(32) ändern und fertig? Hat jedes md5-Verschlüsselte Wort 32 Zeichen, egal, wie lange?
Mit Zitat antworten
  #8 (permalink)  
Alt 27-07-2006, 20:46
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://de.wikipedia.org/wiki/Md5#MD5-Hashes
Mit Zitat antworten
  #9 (permalink)  
Alt 28-07-2006, 11:07
yosh24
 Newbie
Links : Onlinestatus : yosh24 ist offline
Registriert seit: Oct 2005
Beiträge: 5
yosh24 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ah! Danke für die Hilfe!
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

Kundengewinnung und Kundenbindung
Kundengewinnung und KundenbindungVertrieb läuft doch immer persönlich. Das funktioniert nicht mit dem Internet! Wirklich?

24.09.2021 | Berni

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni


 

Aktuelle PHP Scripte

Simple Forum PHP ansehen Simple Forum PHP

If you need simple forum or discussion on your website, then you've come to the right place. Simple Forum PHP is a script that is very easy to install and administer.

28.08.2021 nevenov | Kategorie: PHP/ Forum PHP Software
Formmailer Bootstrap 4

Mit dem Formmailer kann man sich eMails über seine Seite zukommen lassen.

08.07.2021 arne-home | Kategorie: PHP/ Formular
Fehlerseite Bootstrap 4

Bei Aufruf einer nicht existierenden Seite, teilen Sie Besuchern mit einer eigenen Fehlerseite mit, dass die gewünschte Seite nicht gefunden wurde. Die eigene Fehlerseite sollte dasselbe Design wie die Website haben. Zudem sollte ein Link zur Startseite a

04.07.2021 arne-home | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:32 Uhr.