Mailinglisten-Archive |
wo der db-connect steht ist ziemlich wurscht. der server error duerfte an einer anderen stelle liegen. hast du dir die error.log des servers schon mal angesehen (falls du daran kommst). zugriffsrechte auf das script korrekt gesetzt? auch die zeile print "Content-Type: text/html\n\n"; ausgegeben? der db-connect laeuft im prinzip immer auf so was wie $database = "someDB"; $dbUser = "someUser; $dbPwd = "geheim"; $dbConnect = "DBI:mysql:$database"; $dbh = DBI->connect($dbConnect,$dbUser,$dbPwd) || die ("dbConnect failed".$DBI->errstr); $sth = $dbh->prepare("SELECT name, password from tblMember where name='kiki'"); $sth->execute(); $cnt = $sth->rows(); if ($cnt > 0) { # einer bzw. mehrere datensaetze mit dem namen gefunden while (($name, $password) = $sth->fetchrow()) { # jetzt kann beliebig verglichen werden. } } else { # keine treffer } das ganze darf auch ohne weiteres im else-zweig stehen. mfg Markus Rietzler * Wuppertal-Forum | Wuppertal-Navigator * http://www.wuppertal-navigator.de * eMail: markus.rietzler_(at)_wuppertal-navigator.de Ronsdorfer Strasse 14 Fon: 0202.42 08 30 42119 Wuppertal Fax: 0202.242 24 66 Mobil: 0171.480 77 82 > -----Original Message----- > From: Thomas Barth [mailto:th.barth_(at)_mail.isis.de] > Sent: Wednesday, September 06, 2000 8:07 PM > To: mysql-de_(at)_lists.4t2.com > Subject: Kann eine Datenbankverbindung in einem else-Block hergestellt > werden? > > > denn irgendwie klappt es nicht. > > Hallo, > > ich habe mal wieder ein Newbie-Frage. Für ein Login auf eine bestimmte > WebSeite möchte ich ein Perl-Script anwenden. > > Das Script besteht im Grunde aus zwei Hauptteilen. Das Script wird > aufgerufen, überprüft, ob Werte vorhanden sind. Wenn nicht, wird eine > Eingabemaske für den Eintrag einer Kennung und des Paßwortes aufgerufen. > Dann nach Betätigen des Submit-Buttons wird das Script noch mal > aufgerufen, > erkennt aber nun, dass Werte vorhanden sind. Mit diesen Werten > wird auf die > Datenbank zugegriffen und der Datensatz mit der entsprechenden Kennung > herausgesucht. In dem Datensatz befindet sich nun auch das > Passwort. Es soll > das Passwort in dem Datensatz mit dem in der Eingabemaske eingetragenen > Passwort verglichen werden. Müßte eigentlich eine Standardsache sein, aber > ich bin ja noch nicht soweit. > > Konzept: > > unless (param()) > { > # Hier befndet sich der Block mit der Eingabemaske, was auch beim ersten > Aufruf funktioniert. > } > else > { > #Hier soll der Datensatz mit der entsprechenden Kennung geholt und auf > Richtigkeit überprüft werden. > #Je nach dem, ob richtig oder falsch, wird eine Falschmeldung ausgegeben > oder die gewünschte Seite aufgerufen. > #bekomme aber bisher nur eine Server-Fehlermeldung. > } > > > Wo müssen die Variablen für die Datenanbindung stehen? Müssen sie > vor unless > stehen, oder kommen sie in den else-Block? > Kann mir jemand noch einen Tip geben, mit welchem Befehl ich den Datensatz > aus dem $sth hole? Mit while (my $hash_ref = $sth->fetchrow_hashref())? > > > Für jeden Tip bin ich dankbar, > > Lieber Gruß, > > Thomas Barth.... > > > > > --- > *** Weitere Infos zur Mailingliste und MySQL unter www.4t2.com/mysql > > --- *** Weitere Infos zur Mailingliste und MySQL unter www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive