php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.03.2010, 20:03  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 7
PHP-Kenntnisse:
Anfänger
DonkeyMongo befindet sich auf einem aufstrebenden Ast
Standard Problem beim auslesen der Daten in einer DB

Hallo (:

ich habe ein Problem hiermit:

Code:
<?php
$user = $_POST["user"];
$pass = md5($_POST["pass"]);
// anfang
$verbindung = mysql_connect ("localhost","root", "");

mysql_select_db("register");
$abfrage = mysql_query("SELECT user FROM test WHERE user LIKE '$user'");

   

// ende
if($abfrage == true)
   {
   echo "Erfolgreich eingeloggt";
   }
else
   {
   echo "Login Fehler";
   }

?>
Die rot gekennzeichnete Linie ist (denk ich mal) falsch
Egal was ich eingebe bei User kommt immer "Login fehlgeschlagen".. obwohl der Username in der DB existiert..

Screenshot von PHPMYADMIN:



Danke für die Hilfe!! (:
DonkeyMongo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.03.2010, 20:27  
Benutzer
 
Registriert seit: 31.05.2009
Beiträge: 56
PHP-Kenntnisse:
Fortgeschritten
OneMercy befindet sich auf einem aufstrebenden Ast
Standard

Mit dem MySQL-Query holst du ja nur den Benutzer, suchst aber eigentlich einen Eintrag, bei dem user mit $user und pass mit $pass übereinstimmt.

Wie auch immer - das ist nicht der Fehler. mysql_query() gibt eine resource zurück, die du dann mit mysql_num_rows() (bzw. mysql_fetch_xy()) weiterverarbeiten musst.
Anstonsten zeig uns mal bitte den mysql_error() und lass dir $user und $pass mal ausgeben.

Und befrag Google mal zum Thema SQL-Injection, ist eine Sicherheitslücke in dem Codeschnipsel von oben.


Achja, da wäre noch: http://www.php.de/php-einsteiger/464...verwenden.html (Bitte aussagekräftige Threadtitel verwenden)

edit:
Das 10-stellige Passwort in der Datenbank, soll das ein md5-Hash sein? Ich würde dir da eher mal zu einem Tutorial raten, vielleicht so etwas: http://tut.php-q.net/de/login.html

Geändert von OneMercy (12.03.2010 um 20:32 Uhr).
OneMercy ist offline  
Alt 12.03.2010, 20:58  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 7
PHP-Kenntnisse:
Anfänger
DonkeyMongo befindet sich auf einem aufstrebenden Ast
Standard

Also ja das ist ein Hash den ich so speichere.. aber das ist ja egal ich möchte halt nur checken ob der username existiert -> Wenn ja dann -> echo "existiert" else halt dann "existiert nicht".. Das Tutorial ist zwar sehr gut aber für mich noch zu schwer ..

MfG und danke
DonkeyMongo ist offline  
Alt 12.03.2010, 22:07  
Neuer Benutzer
 
Registriert seit: 25.07.2009
Beiträge: 22
PHP-Kenntnisse:
Anfänger
markwbn befindet sich auf einem aufstrebenden Ast
Standard

Mach unter dem Query ein :

PHP-Code:
$num mysql_num_rows($abfrage
Zur Kontrolle ein echo $num;
Nun erhälst du die Anzahl der gefundenen Datensätze des Querys

Dann eben noch dieses :

PHP-Code:
if ($num == 
{
echo 
"Benutzer NICHT existent";
}
else
{
echo 
"Benutzer existiert";

markwbn ist offline  
Alt 12.03.2010, 22:27  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Was für Antworten

Schau dir an, welche Rückgabewerte mysql_query() hat, dann sollte es auffallen...

Zitat:
Nur für SELECT, EXPLAIN, SHOW oder DESCRIBE Anweisungen liefert mysql_query() eine Ressourcen-Kennung oder FALSE, falls die Anfrage nicht korrekt ausgeführt wurde. Für alle anderen SQL Anweisungen ist der Rückgabewert von mysql_query() im Erfolgsfall TRUE, im Fehlerfall FALSE.
und du hast... ein SELECT query...
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
Alt 12.03.2010, 22:27  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
PHP-Code:
$abfrage mysql_query("SELECT user FROM test WHERE user LIKE '$user'"); 
$abfrage erhält einen Identifier, der nicht true repräsentiert, daher landet er immer im else-Block!

Ich würd die Abfrage auch so machen
PHP-Code:
$abfrage "SELECT user FROM test WHERE user='.$user.' AND pass='.$pass.'"
[EDIT]: zu spät...

Geändert von Arne Drews (12.03.2010 um 22:28 Uhr). Grund: Istegelitz war schneller!
Arne Drews ist offline  
Alt 12.03.2010, 22:42  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 7
PHP-Kenntnisse:
Anfänger
DonkeyMongo befindet sich auf einem aufstrebenden Ast
Standard

Danke!

Jetzt habe ich es so aber kommt dieser Fehler: Parse error: syntax error, unexpected T_IF in C:\xampp\htdocs\examples\check.php on line 11

Code:
<?php
$user = $_POST["user"];
$pass = md5($_POST["pass"]);
// anfang
$verbindung = mysql_connect ("localhost","root", "");

mysql_select_db("register");
$abfrage = "SELECT user FROM test WHERE user='.$user.' AND pass='.$pass.'";
$num = mysql_num_rows($abfrage)

if ($num == 0)
{
echo "Benutzer NICHT existent";
}
else
{
echo "Benutzer existiert";
}

?>
Sorry für den doofen Thread ;(
DonkeyMongo ist offline  
Alt 12.03.2010, 22:43  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Weil hier was fehlt:
PHP-Code:
$num mysql_num_rows($abfrage
Arne Drews ist offline  
Alt 12.03.2010, 22:50  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 7
PHP-Kenntnisse:
Anfänger
DonkeyMongo befindet sich auf einem aufstrebenden Ast
Standard

Ok also am Semikolon liegts nicht..

Code:
Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\xampp\htdocs\examples\check.php on line 9
Benutzer NICHT existent
DonkeyMongo ist offline  
Alt 12.03.2010, 22:55  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
Ok also am Semikolon liegts nicht..
Doch! Du hast jetzt ne neue Fehlermeldung
Die sagt aber doch alles aus: mysql_num_rows() erwartet einen identifier, den mysql_query() im Erfolgsfall ja auch zurückgibt!

Wir wollens nicht zu spannend machen: Die Abfrage ist fehlgeschlagen, gibt false zurück und mysql_num_rows() kann mit Boolean nichts anfangen!


Schreib doch das IF-Konstrukt einfach nach !is_bool() um!
Dann brauchst auch mysql_num_rows() nicht...
Arne Drews ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
problem mit gleiche datenbank inhalte auslesen miwo PHP Tipps 2008 3 17.09.2007 14:35
Vom Browser verschickte Daten auslesen und anzeigen? andy32 PHP Tipps 2008 3 22.08.2007 18:33
Daten aus Internetseite auslesen Zangelo PHP Tipps 2006 1 15.09.2006 15:18
Serverumzug - Problem mit MySQL Daten [GE]ReeN Datenbanken 6 28.03.2006 17:02
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
[Erledigt] Daten aus einer Datenbank auslesen Datenbanken 2 04.09.2005 19:13
Daten aus Datenbank auslesen und in PHP-Seite anzeigen PHP Tipps 2005-2 1 28.08.2005 20:16
Daten aus Pw-Geschütztem bereich auslesen PHP-Fortgeschrittene 2 26.08.2005 15:27
[Erledigt] Problem mit POST Daten PHP-Fortgeschrittene 5 18.05.2005 09:15
nur bestimmte anzahl an daten per mysql auslesen PHP Tipps 2005 4 13.05.2005 15:45
[Erledigt] Daten aus DB auslesen Datenbanken 2 04.01.2005 23:33
Problem bei Script Formular Daten und Baum PHP Tipps 2004 1 27.09.2004 23:19
über PHP Daten in MySQL Tabellen updaten -- Problem PHP Tipps 2004 4 27.09.2004 21:34
[Erledigt] Nur bestimmte Daten auslesen und in Datenbank schreiben PHP Tipps 2004 2 26.09.2004 14:33
Daten aus einem Formular auslesen??? PHP-Fortgeschrittene 1 21.06.2004 17:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php post register abfrage, mysql_num_rows liefert mit php 0 aber in php my admin, mysql auslesen fehlgeschlagen rückgabewert

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:03 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum