php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.10.2005, 12:50  
Gast
 
Beiträge: n/a
Standard Zusätzliche Abfrage zu Passwort

Hallo,
auf meiner Login-Seite wird mit folgendem Code überprüft ob das eingegebene Passwort mit dem Benutzernamen übereinstimmt (Auszug):
PHP-Code:
<?php
while ($row mysql_fetch_object ($abfrage)) {
if (
$row->passwort==$passwort) {
inhalt($email);
}
?>
Der Code funktioniert. Meine Frage ist jetzt wie ich zusätzlich zu dieser Abfrage noch abfragen kann, ob der Benutzer dem Benutzertyp 0 angehört. Es gibt in der gleichen Tabelle "benutzer", da wo das Passwort und der Benutzername ist, eine weitere Spalte "benutzertyp".

Falls der Benutzer dem Benutzertyp 0 NICHT angehört, soll er nicht weiter kommen.

Also ungefähr so:
PHP-Code:
<?php
while ($row mysql_fetch_object ($abfrage)) {
if (
$row->passwort==$passwort) & ($row->benutzertyp==0) {
inhalt($email);
}
?>
Kann man das so in der Syntax schreiben?

Danke für die Hilfe!
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.10.2005, 12:53  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
while ($row mysql_fetch_object ($abfrage)) {
if (
$row->passwort==$passwort and $row->benutzertyp==0) {
inhalt($email);
}
?>
[edit]
Oder wie HStev im nächsten Beitrag sagen wird:

PHP-Code:
<?php
while ($row mysql_fetch_object ($abfrage)) {
if (
$row->passwort==$passwort) && ($row->benutzertyp==0) {
inhalt($email);
}
?>
wichtig ist, dass du bei der zweiten Variante jede Bedingung einzeln einklammerst.

[/edit]
 
Alt 28.10.2005, 12:54  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

fast

ein einzelnes & ist ein Bit Operator also must du && verwenden und beide Vergleiche noch mal Klammern damit IF die Syntax aktzeptiert

PHP-Code:
<?php
while ($row mysql_fetch_object ($abfrage)) {
if ((
$row->passwort==$passwort) && ($row->benutzertyp==0)) {
inhalt($email);
}
?>
[edit] alternativ zu && geht auch AND wie Deblu es geschrieben hat
HStev ist offline  
Alt 28.10.2005, 13:17  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wieso nicht in der SQL-Anweisung abfragen?
imported_Ben ist offline  
Alt 28.10.2005, 13:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wies aussieht holst du aber alle Datensätze aus der Datenbank und vergleichst sie.

Warum verbesserst du deine SELECT-Abfrage also nicht?

PHP-Code:
<?php
// evtl vorher Passwort verschlüsselt vergleichen
$result mysql_query("SELECT IF(pwd = '$password', 1, 0) AS pwdCorrect, usertype FROM tableWHERE username = '$username' LIMIT 1");
if (
mysql_num_rows($result) == 0) {
  
// username gibts nicht
} else {
  
$current mysql_fetch_assoc($result);
  
// $current ist jetzt ein Array mit der Info ob das Passwort richtig ist ($current['pwdCorrect'] == 1) & in der der Benutzertyp (usertype) steht
}
?>
Zergling-new ist offline  
Alt 28.10.2005, 13:42  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von Deblu
wichtig ist, dass du bei der zweiten Variante jede Bedingung einzeln einklammerst.
nicht unbedingt

[edit] besseres Beispiel

PHP-Code:
<?php
$test1 
10;
$test2 15;

if (
$test1 == 10 AND $test2 == 15)
    echo 
"Test bestanden";
else
    echo 
"Test nicht bestanden";

echo 
"
"
;
// -------------------------------

if ($test1 == 10 AND $test2 != 15)
    echo 
"Test bestanden";
else
    echo 
"Test nicht bestanden";
    
echo 
"
"
;
// -------------------------------

if ($test1 == 10 && $test2 == 15)
    echo 
"Test bestanden";
else
    echo 
"Test nicht bestanden";

echo 
"
"
;
// -------------------------------
    
if ($test1 == 10 && $test2 != 15)
    echo 
"Test bestanden";
else
    echo 
"Test nicht bestanden";
?>
Ausgabe:

Zitat:
Test bestanden
Test nicht bestanden
Test bestanden
Test nicht bestanden
HStev 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
Fopen Abfrage, mit Passwort Schutz Markus Biehl PHP Tipps 2006 4 14.08.2006 13:05
PAsswort Abfrage Xalon PHP Tipps 2005-2 2 10.10.2005 17:36
Passwort abfrage Gokuson PHP Tipps 2005-2 5 28.08.2005 19:32
[Erledigt] Passwort und Nutzerverwaltung in Php und Mysql PHP Tipps 2005-2 7 23.06.2005 17:46
3 Seiten durch Passwort schützen mit einmaliger PW-Eingabe? PHP Tipps 2005 12 19.04.2005 22:41
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23
Problem bei benutzername und passwort abfrage ? PHP Tipps 2005 4 15.03.2005 17:29
[Erledigt] SQL Abfrage funzt nicht Datenbanken 2 04.02.2005 11:09
passwort abfrage Sclot HTML, Usability und Barrierefreiheit 4 18.01.2005 10:26
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
passwort abfrage oder so PHP Tipps 2004 2 23.08.2004 15:38
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00
wo steckt der fehler bei der passwort abfrage? PHP Tipps 2004 18 22.06.2004 23:00
Passwort Abfrage PHP Tipps 2004 1 22.06.2004 22:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$row->passwort, zusätzliche pw abfrage, php \einzelnes &\

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:55 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.