DB auslesen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anmeldung
apache
beispiel
beitrag
benutzername
bestimmte spalte
checken
connection
daten
formular
gesamten spalte
kennwort
pawort
result
spalten
statement
tabelle
test
username
zeile
-
So, ich m?chte das bestimmte user die in einer datenbank sind, nur auf eine seite kommen wenn sie darin gespeichert sind und das richtige pw eingeben.
Ich m?chte ein einfaches login feld, f?r name und password, und er soll die daten aus einer db auslesen. Habe bis jetzt kein beispiel daf?r gefunden.
Ich bin soweit, das ich zur datenbank connecten kann. Hier ist bis jetzt mein script:
<?php $mysqlhost="l"; // MySQL-Host angeben $mysqluser=""; // MySQL-User angeben $mysqlpwd=""; // Passwort angeben $mysqldb=""; // Gewuenschte Datenbank angeben $connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen"); mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen."); $sql = "SELECT * FROM e107_user"; $adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich"); ?>
Ich kann nun mit einer variable die daten auslesen, die sieht so aus:
$var1 = mysql_result($adressen_query,1,6);
aber ich kann halt nur aus der zeile 6 spalte 1 was auslesen, und nciht aus der gesamten spalte eins.
script sollte so sein:
zuerst zwei felder mit der ?berschrift username und pw, die werden in zwei variablen eingetragen. Wenn er auf einen button der darunter ist dr?ck soll dann mit if then geguckt werden ob user und pw zusammen passen. wenn ja soll er weitergeleitet werden wenn nicht sollen die felder wieder leer sein. Weis einer wie das geht?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Am besten machst du das so:
Der User gibt den Benutzernamen ein,
dann das Kennwort und klickt auf
"Anmelden"
Jetzt machst du die Datenbank auf
uns suchst nicht alle einzelnen Eintr?ge
durch (das w?rde dauern) sondern suchst
nach exakt diesem Benutzernamen,
da gibt es ein spezielles SQL Statement,
z.Bsp. SELECT * FROM users WHERE $username=$formulareingabe.
Dann musst du nur noch aus dieser Zeile die
Datens?tze auslesen.
Wenn dieses Statement nichts zur?ckliefert
dann gibt es den User nicht. Weiter geht
es dann mit dem Passwortvergleicht, meist
sind diese ja im MD5 verschl?sselt.
IF (md5($passworteingabe)=$passwort){
...alles korrekt
}
else{
...wir m?ssen draussen bleiben
} -
genau das meinte ich! aber ich bekommst nciht hin. Ich kann keine formular felder in php. Und das mit dem md5 stimmt auch so. Nun brauche ich halt das formular feld, was ich einf?gen muss, bzw. zwei formular felder, eines mit sternchen udn eines mit Normalen buchstaben.
-
hier ein formular mit kennwort und nickname eingabe
<?php
echo "
<form action='wohin es geht.php' method='post'>
Nickname:<input name='Nickname' type='text' size='20'></input>
Passwort:<input name='Passwort' type='password' size='20'></input>
<input type='submit' name='submit' value='login'></input>";
?>
wichtig:bei den namen also zb Nickname ist nicht gleich nickname also achte auf gro? und klein schreibung
datei wohin es geht.php k?nnte so aussehen:
<?php
$Nickname=$_POST["Nickname"];
$Passwort=$_POST["Passwort];
mysqlhost="l"; // MySQL-Host angeben
$mysqluser=""; // MySQL-User angeben
$mysqlpwd=""; // Passwort angeben
$mysqldb=""; // Gewuenschte Datenbank angeben
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");
...........etc also dein script
-
aber halt bevor man logn kann musst du auch ne anmeldung machen ne oder hast du schon ne anmeldung??
-
wie machst du des sachen von db auslesen seig mir mal beispiel script wo man zb die email von der tabele benutzer ausliest!
-
Wie meinst du das wie ichs mache?
Wie du alle daten ausliest weis ich cniht, aber eine bestimmte spalte mit einer bestimmten reihe geht so:
<?php $connect = mysql_connect("$mysql_host","$mysql_user","$mysql_pass"); // Hier wird zur MySQL-DAtenbank Connected $result = mysql_db_query("$mysql_db","SELECT * FROM d4kine"); // Hier wird zur Datenbank Connected und alle Daten der Tabelle Test ausgelesen. (Select * from) $row = mysql_fetch_array($result); // Hier wird die Anzahl der Zeilen in der Tabelle ausgelesen echo "$row[Test]"; // Alle Daten der Spalte Test werden ausgegeben. mysql_close($connect); // Die Verbindung zur MySQL-Datenbank wird geschlossen ?>
ich lese aber nciht alle aus sondern einfach if then.
Hier mal mein code:
<?php include("config.inc.php"); $user=$_POST["name"]; $pw=md5($_POST["pw"]); $connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlage"); mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen."); $query="SELECT * FROM e107_user WHERE user_loginname='$user' AND user_password='$pw'"; $res=mysql_query($query); $check=mysql_num_rows($res); if($check==0) {} else {?> <html> <frameset> <frame name="main" src="listing.php"> </frameset> </html> <? } ?>
in der config.php stehen die vars f?r den host usw.
Edit: Meine daten aus dem formular werden ?bergaben, daher hier kein formular, da wo das else steht kannst du den code den du haben m?chtest verwenden, das hier ist aufs e107 mit nem dirlisting script zugeschnitten.
Beitrag ge?ndert am 19.03.2006 17:39 von apache -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage