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 Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 20.05.2004, 14:55:25
Cooper Cooper ist offline
Anfänger
 
Registriert seit: Apr 2004
Ort: Düsseldorf
Beiträge: 68
Mysql fetch_array() Probleme

Hi,

ich möchte mir ein Loginscript basteln und habe auch schon soweit alles vorbereitet allerdings stosse ich gleich auf 2 Fehler. Zum einen weiß ich nicht, wie ich anhand der Logindaten den Datensatz des Users aufrufe der sich einloggen will. Zum anderen schmeisst mir der Browser ständig ein Fehler aus, wenn ich folgende Abfrage definiere:

$abfrage=mysql_query"(Select Name, Email, Passwort from user where Email = $mail)";

Wenn ich die Bedingung mit Mail schreibe, weil mein Input feld auch mail heißt, dann bekomme ich folgenden Fehler:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:PHPDB Connectlogin.php on line 31

Warum funktioniert das nicht?

Wenn ich die Abfrage ohne das Mail Kriterium schreibe funktioniert das ganze nur halbwegs so, dass ich einen beliebigen User und eine anderes Passwort verwenden kann um mich einzuloggen. Was mache ich falsch?

Anbei der Code:
PHP-Code:
<?php
session_start
();
$_SESSION['login'];
$_SESSION['email'];

echo 
"<link href='mysql.css' rel='stylesheet' type='text/css'>";


echo 
"<form action='$PHP_SELF' method='post' class='mysql'>";
echo 
"<table width='200'>";
echo 
"<tr><td>";
echo 
"Email:</td>";
echo 
"<td><input type='text' name='email' class='mysql'>";
echo 
"</td></tr>";
echo 
"<td></td>";
echo 
"<td></td>";
echo 
"<tr><td>";
echo 
"Passwort:</td>";
echo 
"<td><input type='password' name='Passwort' class='mysql'>";
echo 
"</td></tr>";
echo 
"<tr><td><input type='submit' name='login' value='Login' class='mysql'></td></tr>";
echo 
"</form>";
?>

<?php
include 'dbconnect.php';

if(
$login == "Login")

        
$abfrage=mysql_query("SELECT Email, Passwort, Vorname FROM user WHERE Email = $email");
        
$ok=mysql_fetch_array($abfrage);
        if(!
$ok)
        echo 
"Fehler";
        
$dbemail=$ok["Email"];
        
$dbpass=$ok["Passwort"];
        
$dbName=$ok["Vorname"];


        if((
$dbemail  !== $mail) && ($dbpass !== $Passwort))
                {
                echo 
"<br>Logindaten falsch";
                exit();
                }
        else
                echo 
"Hallo".$dbName;
?>
Mit Zitat antworten
  #2  
Alt 21.05.2004, 06:28:51
Benutzerbild von yozek
yozek yozek ist offline
Junior Member
 
Registriert seit: May 2004
Ort: Köln
Alter: 43
Beiträge: 226
yozek eine Nachricht über ICQ schicken yozek eine Nachricht über MSN schicken
Ich würde ein wenig anders die Abfragesyntax benützen:
Zur Zeit ist es bei dir so, als ob die das Password egal wäre (!==) ;))

PHP-Code:
$abfrage mysql_query("SELECT email, passwort, vorname FROM user WHERE Email = '$email'");
        
$ok mysql_fetch_array($abfrage) or die('Fehler aufgetretten');
        
$dbemail=$ok["Email"];
        
$dbpass=$ok["Passwort"];
        
$dbName=$ok["Vorname"];


        if((
$dbemail  == $mail) && ($dbpass == $Passwort))
                {
                echo 
'Alles in Ordnung, komm rein';
                -> 
an dieser Stelle ne Session oder Cookie schreiben;
                }
        else
                Echo 
'Zugangsdaten falsch!';
                } 
Mit Zitat antworten
  #3  
Alt 21.05.2004, 08:22:17
Cooper Cooper ist offline
Anfänger
 
Registriert seit: Apr 2004
Ort: Düsseldorf
Beiträge: 68
Vielen Dank. Noch ne andere Frage, gibt es ne Möglichkeit zu überprüfen ob die gelieferten Daten aus der DB tatsächlich aus einem Datensatz stammen?


Gruss

Cooper
Mit Zitat antworten
  #4  
Alt 21.05.2004, 09:50:41
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Zitat:
Original geschrieben von Cooper
Noch ne andere Frage, gibt es ne Möglichkeit zu überprüfen ob die gelieferten Daten aus der DB tatsächlich aus einem Datensatz stammen?
Huch? Wenn Du an das DBMS einen Request schickst, dafür eine Resource auf eine gültige Ergebnismenge erhälst, was dachtest Du denn, woher die Daten kommen? Jou, genau: aus dem Datensatz/den Datensätzen, die Du selektiert hast.

btw: Restalkohol?
Mit Zitat antworten
  #5  
Alt 21.05.2004, 10:07:16
Cooper Cooper ist offline
Anfänger
 
Registriert seit: Apr 2004
Ort: Düsseldorf
Beiträge: 68
Ja wahrscheinlich noch Rest....


Fragte nur, weil ich zuerst das Prob hatte das ich mich mit einem beliebigen User und anderen einem beliebigen in der DB vorhandenen Passwort einloggen konnte.

Thx,

Cooper
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:11:40 Uhr.


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


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