webForumDet fria alternativet

Login system

6 svar · 421 visningar · startad av Dwarfen

DwarfenMedlem sedan jan. 2002241 inlägg
#1

Ja jag vet, det finns trådar, men jag blir inte klock på dem?

Det jag vet om login är att man skicka information från en sidan i form av: Användare <input name="user" size="10">
och att man på den sidan som man skickas till kontrollerar om User stämmer överens med user i databasen (även password mm).

Men hur gör jag på kontrollsidan?

Så här långt har jag kommit, men nu har jag kört fast

<?php

//Ställ in användarnamn och lösenord för databasen
$username = 'root';
$password = '';
$dbName = 'netx';
mysql_connect('localhost', $username, $password) or die (mysql_error());
mysql_select_db($dbName) or die (schyse());

//välj en databas som du vill läsa
$sql = mysql_query("SELECT password, user from login where user = '$user'");
$result = MYSQL_QUERY($query); 

//loopa igen databasen och hämta alla värden som fins i den
while ($array = mysql_fetch_assoc($result)) {

//Hämtar värden från varje rad
$user=$array['user'];
$password=$array['password'];

//skriv ut resultatet eller gör vad du vill med det
echo "
$user
$password
";
}
?>
MeleaMedlem sedan juli 20033 147 inlägg
#2

Enklare variant:

// Skapar variablar
$username = $_POST['username'];
$password = $_POST['password'];

// Öppnar SQL frågan och sätter username = form-value och password = form-value
$SQL = mysql_query("SELECT * FROM tabell where username = '$username' AND password = '$password'") or die (mysql_error());

// Kollar om användaren finns i databasen, om han finns skapas alla Sessioner osv...
if (mysql_num_rows($SQL) <> 0) {

	// Skapar sessioner och allt va du vill göra för den specifika användaren
	$_SESSION[online] = 	1;

	// Skickar tillbaka användaren om allt gått okej
	Header ('Location: ../index.php');

} else {

	// Skickar tillbaka användaren om han el. hon skrivit något fel
	Header ('Location: ../index.php?fel');

}
DwarfenMedlem sedan jan. 2002241 inlägg
#3

Har gjort som du föreslog, men trots att jag skriver in rätt lösenord kommer jag till "fel inlogging" sidan =(

DwarfenMedlem sedan jan. 2002241 inlägg
#4

Så, fick till det tillslut, glömde lägga till "password" istället för pass.
Tack så mycket Melea!

MeleaMedlem sedan juli 20033 147 inlägg
#5

Heter input-fälten "username" och "password"?

/red misstänkte det :)

NiehlsMedlem sedan juli 2002131 inlägg
#6

har för mig att sökningen mot databasen inte är case-sensitive. detta löser det problemet:
$SQL = mysql_query("SELECT * FROM tabell where BINARY username = '$username' AND BINARY password = '$password'") or die (mysql_error());

sedan föreslår jag att du stänger av register_globals i php.ini och använder $_POST["password"] iställer för $password.

DwarfenMedlem sedan jan. 2002241 inlägg
#7

Hur menar du?
Med den senare delen alltså?
Kan du förklara varför jag skall ändra till det du föreslog?

268 ms totalt · 3 externa anrop · v20260731065814-full.16f3d68c
133 ms — hämta forumlista (db)
132 ms — hämta statistik (db)
131 ms — hämta tråd, inlägg och bilagor (db)