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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
28.10.2003, 12:44:18
|
Anfänger
|
|
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
|
|
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?
|
28.10.2003, 13:35:51
|
|
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
|
28.10.2003, 14:47:17
|
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
|
29.10.2003, 09:56:43
|
Anfänger
|
|
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
|
|
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
|
29.10.2003, 10:20:13
|
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
|
29.10.2003, 11:10:08
|
Anfänger
|
|
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
|
|
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
|
29.10.2003, 11:17:52
|
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
|
29.10.2003, 13:11:16
|
Anfänger
|
|
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
|
|
@ 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)
|
29.10.2003, 13:25:10
|
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");
|
29.10.2003, 13:37:02
|
Anfänger
|
|
Registriert seit: Oct 2003
Ort: szb
Beiträge: 95
|
|
danke Chris17, aber leider negativ, gleiche Verhaltensweise, ob mit oder ohne
was kann denn das nur sein
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:44:26 Uhr.
|