mboost-dp1

php login system, brug for noget hjælp


Gå til bund
Gravatar #1 - Jonasee
9. okt. 2007 09:32
Hey er ved at lave et login system i php, det er min første gang.

koden er her:

<?php
session_start();
$url = "http://test.jonasee.dk/";

$user == $_POST['user'];
$password == $_POST['password'];

$connection = mysql_connect("***",
"***",
"***");
mysql_select_db("***", $connection);

$udtræk = mysql_query ('SELECT * FROM `users` WHERE bruger_ = \'$user\'');
$row = mysql_fetch_array($udtræk);
$rigtig==$row['password_'];
if($password == $rigtig){
$login = true;
}else{
$login = false;
}

if($login == true){
$_SESSION['access'] = true;
header("Location: ".$url."index2.php?".SID);
mysql_close();
exit;
} else {
$msg = /*Din login informationer var ikke korrekte. Forsøg venligst igen.*/"$rigtig::$password::$udtræk"; <-- så jeg kan se hvad der sker
header("Location: ".$url."index.php?msg=".$msg);
mysql_close();
exit;
}
?>

det jeg få af svare er kun det password jeg har skrivet, nogle gode råde?
Gravatar #2 - illishar
9. okt. 2007 10:05
Prøv lige at stille dit spørgsmål igen. Evt. på engelsk, hvis det er fordi at du er nordmand. :P

PS. Hvorfor har du lavet "underscore" i dine DB-kolonner? (Det er der sikkert massere af DB'er og frameworks der kan kløjes i.)
Gravatar #3 - Jonasee
9. okt. 2007 10:19
#2 er ikke nordmand bare ordblind :)

underscore er fordi den mærkerede password som en funktion og jeg har en tabel der hedder bruger.
Gravatar #4 - fidomuh
9. okt. 2007 10:46
#3

$row['password'] burde ikke markeres som en funktion, da password er i ' ' :)

Proev at lave en print_r($row), saa kan du se alt info i det array.

alternativt saa lav en print_r($_POST) ogsaa, burde vise alt det du har post'et :)
Gravatar #5 - Jonasee
9. okt. 2007 11:04
gjordt her er mit output:

her er row
her er post
Array ( [user] => bo [password] => 123456 )
Gravatar #6 - fidomuh
9. okt. 2007 11:30
#5

Row gav intet output, saa fejlen ligger nok i dit mysql-kode :)
Gravatar #7 - Jonasee
9. okt. 2007 11:35
har prøvet koden i databasen og der få jeg et output
Gravatar #8 - fidomuh
9. okt. 2007 12:24
Proev at tilfoeje:

mysql_select_db("***", $connection) or die(mysql_error());

Istedet for din nuvaerende mysql_select_db :)
Gravatar #9 - Jonasee
9. okt. 2007 12:28
gjordt.
her er outputte:

her er row
her er post
Array ( [user] => bo [password] => 123456 )
Gravatar #10 - fidomuh
9. okt. 2007 12:31
Ah det var mere om den lavede en fejl, saa ville den vise det.

Har du tjekket at "bo" har en entry i databasen?

Proev at fjerne dine "where" del fra select-statementet..
Saa du vaelger alle entries, ikke kun "bo" entry'en..
Gravatar #11 - illishar
9. okt. 2007 12:37
Hvad med de specielle "pinger" i sql'en?
'SELECT * FROM `users` WHERE bruger_ = \'$user\''


Prøv bare at skriv "SELECT * FROM users WHERE ..." i stedet.
Gravatar #12 - Jonasee
9. okt. 2007 12:38
#10
bo findes, vis jeg går ned i databasen og skriver:
SELECT * FROM users WHERE bruger_ = 'bo'

giver den mig navn og kode

#11
ingen forskel
Gravatar #13 - fidomuh
9. okt. 2007 12:41
#12

Okay, proev uden \ i din "where" clause saa.. :)
Gravatar #14 - Jonasee
9. okt. 2007 13:09
det virker nu, ændringer:

$udtræk = mysql_query ('SELECT * FROM `users` WHERE bruger_ = \'$user\'');

$udtræk = mysql_query ("SELECT * FROM users WHERE bruger_ = '$user'");

$rigtig==$row['password_'];
if($password == $rigtig)

if($password == $row[password_])

Mange tak for jeres hjælp!
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login