Avatar billede PeaceDealer Nybegynder
02. maj 2011 - 21:18 Der er 8 kommentarer og
1 løsning

Kan ikke finde fejlen

Hej

Jeg har lavet noget login system for et php baseret spil som jeg er ved at lave. Men, jeg har et problem

Den giver ikke nogen fejl, og kan ikke finde ud af det.

Det må være en fejl ved min MySQL code, da den ikke har noget problem med at få "POST" informationen..

<?php

$username = $_POST['username'];
$password = sha1(md5($_POST['password']));

$userSQL = mysql_query("SELECT * FROM users WHERE username=$username AND password=$password");

session_start();

$_SESSION['username'] = $userSQL['username'];
$_SESSION['password'] = $userSQL['password'];
$_SESSION['email'] = $userSQL['email'];
$_SESSION['dob'] = $userSQL['dob'];

echo $_SESSION['username'];
echo $_SESSION['password'];

?>
Avatar billede jakobdo Ekspert
02. maj 2011 - 21:30 #1
Et gæt er din sql skal være:

$userSQL = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password' LIMIT 1;");
Avatar billede PeaceDealer Nybegynder
02. maj 2011 - 21:51 #2
Beklager, lader stadig ikke til at virke...
Avatar billede jakobdo Ekspert
02. maj 2011 - 21:55 #3
Så smid:

$userSQL = mysql_query("SELECT * FROM users WHERE username=$username AND password=$password") or die(mysql_error());

på...
Avatar billede erikjacobsen Ekspert
02. maj 2011 - 21:56 #4
Og du forbinder til databasen før den kode vi ser?

Derudover skal du lave en mysql_fetch_array (eller tilsvarende), før du kan se noget fra databasen.
Avatar billede jakobdo Ekspert
02. maj 2011 - 22:03 #5
Som erik også siger.
Du skal nok lave en kombi...

<?php

//FORBIND TIL MYSQL...

$username = $_POST['username'];
$password = sha1(md5($_POST['password']));

$userSQL = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password' LIMIT 1");
if(mysql_num_rows($userSQL)==1){
  $userData = mysql_fetch_assoc($userSQL);
  session_start();
 
  $_SESSION['username'] = $userData['username'];
  $_SESSION['password'] = $userData['password'];
  $_SESSION['email']    = $userData['email'];
  $_SESSION['dob']      = $userData['dob'];
 
  echo $_SESSION['username'];
  echo $_SESSION['password'];
}
?>
Avatar billede PeaceDealer Nybegynder
02. maj 2011 - 22:20 #6
Det var netop det jeg glemte... mysql_fetch_assoc... tak...
Avatar billede PeaceDealer Nybegynder
02. maj 2011 - 22:20 #7
Det var neptop det jeg glemte... mysql_fetch_assoc...
Avatar billede PeaceDealer Nybegynder
02. maj 2011 - 22:22 #8
Woops, det var ikke meningen, at jeg skulle give pointe til migselv...
Avatar billede jakobdo Ekspert
03. maj 2011 - 06:10 #9
Det går nok denne gang
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester