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 > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.10.2003, 12:44:18
schlodd schlodd ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
schlodd eine Nachricht über ICQ schicken
daten aus Formular mit Daten aus DB vergleichen

hallo @ all,

habe folgenden Code aus einer include-Datei:

PHP-Code:
if (isset($kdnr,$pw))
{
//A
if ($sql="SELECT DISTINCT kdnr,pw FROM secure WHERE kdnr='$kdnr' AND pw='$pw'");
}
//A
else    
            {
//B
    
exit (geben Sie eine gültige Kundennummer und das Passwort ein);
            }
//B    
$res=MYSQL_QUERY ($sql);

if (
$res)
        {
//C    
header("Location: ../form11.php?kdnr=$kdnr&pw=$pw");
$num=MYSQL_NUM_ROWS($res);
        }
//C 
leider wird das Script nicht abgebrochen wenn falsche Daten eingegeben worden

was mach ich falsch? oder wie könnte ich das noch lösen?
Mit Zitat antworten
  #2  
Alt 28.10.2003, 13:35:51
lindic
Guest
 
Beiträge: n/a
moin!

so wie ich das sehe, ist deine if-abfrage nicht korrekt. ich würde es so schreiben:
Code:
if (isset($kdnr,$pw))
{
$sql="SELECT DISTINCT kdnr,pw FROM secure WHERE kdnr='$kdnr' AND pw='$pw'";
}
else    
{
    exit (geben Sie eine gültige Kundennummer und das Passwort ein);
}
    
$res=MYSQL_QUERY($sql);

if ($res)
        {
$num=MYSQL_NUM_ROWS($res);
header("Location: ../form11.php?kdnr=$kdnr&pw=$pw");
        }
man kann das ganze aber noch optimieren, aber zumindest müsste es so funtionieren.


gruß,
lindic
Mit Zitat antworten
  #3  
Alt 28.10.2003, 14:47:17
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hallo zusammen,
Zitat:
leider wird das Script nicht abgebrochen wenn falsche Daten eingegeben worden
Du prüfst nur, ob die Variablen $kdnr und $pw gesetzt sind. -> if (isset($kdnr,$pw)) (Ist das ein korrekte Schreibweise???)

Auch wenn die Kundennr. und Passwort falsch sind, sind die Variablen trotzdem gesetzt und das Skript bricht nicht ab.

Vorschlag:
PHP-Code:
$sql "SELECT DISTINCT kdnr,pw FROM secure WHERE kdnr='$kdnr' AND pw='$pw'";
$res mysql_query($sql);
$num mysql_num_rows($res);

if(
$num 0)
{
    
header("Location: ../form11.php?kdnr=$kdnr&pw=$pw");
}
else    
{
    exit (
geben Sie eine gültige Kundennummer und das Passwort ein);

Grüsse

Christian
Mit Zitat antworten
  #4  
Alt 29.10.2003, 09:56:43
schlodd schlodd ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
schlodd eine Nachricht über ICQ schicken
Danke Euch allen erstmal, hab Eure Vorschläge probiert:


@ Chris17

habe das Script jetzt so ähnlich wie Du vorgeschlagen


PHP-Code:
if (isset($kdnr,$pw))
{
//A
$sql="SELECT DISTINCT kdnr,pw FROM secure WHERE kdnr='$kdnr' AND pw='$pw'";
$res=MYSQL_QUERY ($sql);
$num=MYSQL_NUM_ROWS($res);

if(
$num 0)
        {
//B    
header("Location: ../form11.php?kdnr=$kdnr&pw=$pw");
        }
//B    
}//A
else    
            {
//C
    
echo mysql_error($db);     // exit (geben Sie eine gültige Kundennummer und das Passwort ein);
            
}//C 
es funktioniert *freu*
hat nur noch einen kleinen Fehler bei der Fehlerausgabe:

benutze ich ich exit (blabla); bekomme ich einen ParsError und mit echo mysql_error($db); einen weißen Bildschirm

weiß nicht wo jetzt der Fehlerteufel steckt, hoffe ihr könnt mir helfen und danke Euch schon mal im Voraus
Mit Zitat antworten
  #5  
Alt 29.10.2003, 10:20:13
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hallo schlodd,

mir die() kannst Du eine eigene Fehlermeldung ausgeben:
PHP-Code:
die("geben Sie eine gültige Kundennummer und das Passwort ein"); 
Grüsse

Christian
Mit Zitat antworten
  #6  
Alt 29.10.2003, 11:10:08
schlodd schlodd ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
schlodd eine Nachricht über ICQ schicken
danke chris17 für Deine superschnelle Antwort, aber in beiden Fällen (die und exit) bekomme ich >>Parse error: parse error, unexpected T_STRING in D:Apache2htdocsflyer24verbindunglogin.inc.php on line 30<<

ich denke der Fehler muss noch wo anders liegen, denn es funktioniert auch nicht mehr bei richtigen Werten $kdnr und $pw

nehme ich aber statt exit oder die >>echo mysql_error($db);<< ist alles in Ordnung, nur dass ich keine Fehlermeldung ausgeben kann
Mit Zitat antworten
  #7  
Alt 29.10.2003, 11:17:52
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi,
Zitat:
nehme ich aber statt exit oder die >>echo mysql_error($db);<< ist alles in Ordnung, nur dass ich keine Fehlermeldung ausgeben kann
Sei doch froh, dass Du kein MySQL-Fehler hast :-))))
Also, mysql_error($db); zeigt Dir Fehler an, wenn Du auf die Datenbank
zugreifst. Aber Du willst ja das Skript beenden, wenn falsche Zugangsdaten eingegeben wurden.

Was steht denn in den Zeilen 29,30,31...???

Zeig einfach mal, wie jetzt Dein Skript aussieht.

Gruss

Christian
Mit Zitat antworten
  #8  
Alt 29.10.2003, 13:11:16
schlodd schlodd ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
schlodd eine Nachricht über ICQ schicken
@ Chris17, ja ich bin schon froh das da kein Fehler kommt, aber es ist doch komisch. aslo wenn ich die Zeile ändere durch echo in exit oder die, dass da sowas passiert, oder?

nagut ich poste nochmal das Script:

PHP-Code:

include("zugang.inc.php");

$db MYSQL_PCONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$db_select = @MYSQL_SELECT_DB($db_name);
#if($db_select) echo "Datenbank druckpool24 wurde ausgewählt. ";

#Variablen definiert------------------
$kdnr $HTTP_POST_VARS[kdnr];
$pw $HTTP_POST_VARS[pw];
$datum $HTTP_POST_VARS[datum];
$ip =  $HTTP_POST_VARS[ip];

#-------------------------------------

//--login-start
if (isset($kdnr,$pw))
{
//A
$sql="SELECT DISTINCT kdnr,pw FROM secure WHERE kdnr='$kdnr' AND pw='$pw'";
$res=MYSQL_QUERY ($sql);
$num=MYSQL_NUM_ROWS($res);

if(
$num 0)
        {
//B    
header("Location: ../form11.php?kdnr=$kdnr&pw=$pw");
        }
//B    
}//A
else    
            {
//C
die (geben Sie eine gültige Kundennummer und das Passwort ein);//echo mysql_error($db); [COLOR=crimson]>>das ist Zeile 30<<[/COLOR]  
            
}//C 

Geändert von schlodd (29.10.2003 um 13:15:37 Uhr)
Mit Zitat antworten
  #9  
Alt 29.10.2003, 13:25:10
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hallo,

Du hast die Anführungszeichen vergessen!
PHP-Code:
die("geben Sie eine gültige Kundennummer und das Passwort ein"); 
Mit Zitat antworten
  #10  
Alt 29.10.2003, 13:37:02
schlodd schlodd ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
schlodd eine Nachricht über ICQ schicken
danke Chris17, aber leider negativ, gleiche Verhaltensweise, ob mit oder ohne

was kann denn das nur sein
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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 08:44:26 Uhr.


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


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