Avatar billede blackscorpion Nybegynder
13. september 2004 - 17:46 Der er 8 kommentarer og
1 løsning

Login Script Problem.

Dette script fejler noget så grusomt.

Den logger brugeren ind, selv om han ikke findes i systemet. :(

Nogle der ved hvad der er galt?

include("inc/config.inc.php");

if(!$_POST{'user'}) { header("Location: index.php"); exit; }
if(!$_POST{'password'}) { header("Location: index.php"); exit; }

open_mysql_conn();

$usr = $_POST{'user'};
$pwd = md5($_POST{password});

$sql = "select * from das04_usrs where user = '$usr' AND password = '$pwd' limit 1";

if(!mysql_query($sql)) {
header("Location: index.php");
exit;
}
$pass = $_POST{'password'};
$user = $_POST{'user'};

session_start();

session_register("user");
session_register("password");

header("Location: home.php");
Avatar billede dennismp Nybegynder
13. september 2004 - 17:52 #1
ret
if(!mysql_query($sql)) {

til:
$res = mysql_query($sql) or die(mysql_error()); // lidt fejltjek
if( mysql_num_rows($res) == 0 ) {
Avatar billede Slettet bruger
13. september 2004 - 17:53 #2
Jeg er ikke sikker på dét er fejlen, men så vidt jeg kan se sender du folk til index.php bare de poster en variabel der hedder user eller password - det gør alle der logger ind jo, også selvom user eller password ikke findes?

--
pacroon
Avatar billede blackscorpion Nybegynder
13. september 2004 - 17:55 #3
Tak Dennismp. :)

smid lige et svar. :)
Avatar billede blackscorpion Nybegynder
13. september 2004 - 17:57 #4
pacr00n.

Øverst i scriptet, tjekker jeg om user og pass findes, og i select koden til mysqlen, SKAL bruger og pass, passe med noget i databasen, det er sådan at jeg tjekker om folk har adgang eller ej, så nej jeg smider ikke bare folk ind. :)
Avatar billede dennismp Nybegynder
13. september 2004 - 18:00 #5
pacr00n; det giver jo ikke mening at tjekke om mysql_query returnerer et valid resultset. Den er jo kun false hvis noget går galt (sql-fejl, server-fejl.. ) .. Man får jo stadig en resultset selvom der ikke er nogle rækker der matcher.

Har du overset at han tjekker på NOT $_POST ?  (at det så burde være $_POST['user'] og ikke $_POST{'user'} etc - er en anden sag .. :-) )
Avatar billede blackscorpion Nybegynder
13. september 2004 - 18:01 #6
Dennis.

Tror det med [] og {} er en smags sag, har altid brugt [], men har bare kopieret lidt kode jeg har fået hjælp til engang. :) derfor der står {}.

Og forresten mine sessions virker ikke, fatter ikke helt hvorfor. :(
Avatar billede blackscorpion Nybegynder
13. september 2004 - 18:02 #7
henter en session på denne måde. :)

<?php

session_start();

include("inc/header.inc.php");

?>

<form action="login.php" method="post">
  <table cellpadding="0" cellspacing="0" border="0" width="500" align="center" style="border: 1px solid black" bgcolor="#FFFFFF"> 
  <tr>
    <td align="center">
    [ Opret | Hent | Slet | <a href="logout.php">Log Ud</a> ]<br>
    <br>
    Velkommen <?php echo $user; ?>
   
    </td>
  </tr> 
  </table>
</form>
 
<?php include("inc/footer.inc.php"); ?>
Avatar billede blackscorpion Nybegynder
13. september 2004 - 18:03 #8
hov.. skal lige have fjernet formen fra siden lol
Avatar billede blackscorpion Nybegynder
13. september 2004 - 18:21 #9
okey har løst det på en anden måde...
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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