Avatar billede MarkA Praktikant
08. maj 2005 - 19:06 Der er 14 kommentarer og
1 løsning

hjælp til login

Jeg er ved at lave et lille login-system med en lille cookie og sådan lidt.
Mit problem er at når man fra logind siden logger ind vises en blank side, den viser den rigtige adresse i adresselinien, uanset om man efterlader felterne tomme eller de er udfyldt med rigtige data.
Nogle der ud fra koden kan se hvad der er galt?


<php
// checker om felterne fra login formularen er tomme
if ((!$_POST[brugernavn]) || (!$_POST[password])) {
  header("Location: login.htm");
  exit;
}

// åbner database-forbindelsen
$conn = mysql_connect("localhost" , "root");
mysql_select_db("login_system" , $conn) or die (mysql_error());

// checker om brugeren findes i tabellen
$sql = "select f_name, l_name from auth_users where
    brugernavn = ('$_POST[brugernavn]') and
    password = ('$_POST[password]')";
$result = mysql_query($sql, $conn) or die (mysql_error());

// henter resultatet, som skal være 1 for at brugeren findes
if (mysql_num_rows($result) == 1) {

// Hvis brugeren findes i systemet
$f_name = mysql_result($result, 0, 'f_name');
$l_name = mysql_result($result, 0, 'l_name');

//Sætter en cookie
setcookie("auth", "1", 0, "/", "localhost/", 0);

//velkomst hilsen til bruger
$msg = "<p>velkommen til $f_name</p>";



} else {

// Hvis resultatet fra login ikke findes i databasen
header("location: login.htm");
exit;

}
?>

<html>
<head>
<title>Bruger login</title>
</head>
<body>
<? print "$msg"; ?>

</body>
</html>

Med venlig hilsen Mark
Avatar billede jm0_ Nybegynder
08. maj 2005 - 19:21 #1
Måske fordi du ikke har sat den til at vise noget? Prøv at smæk denne kode ind i stedetfor..

<php
// checker om felterne fra login formularen er tomme
if ((!$_POST[brugernavn]) || (!$_POST[password])) {
  header("Location: login.htm");
  exit;
}

// åbner database-forbindelsen
$conn = mysql_connect("localhost" , "root");
mysql_select_db("login_system" , $conn) or die (mysql_error());

// checker om brugeren findes i tabellen
$sql = "select f_name, l_name from auth_users where
    brugernavn = ('$_POST[brugernavn]') and
    password = ('$_POST[password]')";
$result = mysql_query($sql, $conn) or die (mysql_error());

// henter resultatet, som skal være 1 for at brugeren findes
if (mysql_num_rows($result) == 1) {

// Hvis brugeren findes i systemet
$f_name = mysql_result($result, 0, 'f_name');
$l_name = mysql_result($result, 0, 'l_name');

//Sætter en cookie
setcookie("auth", "1", 0, "/", "localhost/", 0);

//velkomst hilsen til bruger
$msg = "<p>velkommen til $f_name</p>";
echo $msg;



} else {

// Hvis resultatet fra login ikke findes i databasen
header("location: login.htm");
exit;

}
?>

<html>
<head>
<title>Bruger login</title>
</head>
<body>
<? print "$msg"; ?>

</body>
</html>

... Det burde skrive din velkomst besked når du logger ind..
Avatar billede jm0_ Nybegynder
08. maj 2005 - 19:23 #2
pis.. have ikke set:

<html>
<head>
<title>Bruger login</title>
</head>
<body>
<? print "$msg"; ?>

</body>
</html>

... Prøv med:

<? echo $msg; ?>
Avatar billede MarkA Praktikant
08. maj 2005 - 19:25 #3
den viser stadig bare en blank side
Avatar billede MarkA Praktikant
08. maj 2005 - 19:26 #4
Sådan ser min logind side ud:


<html>
<head>
<title>Log ind</title>
</head>
<body>

<FORM METHOD="POST" ACTION="login_func.php">
<p><strong>Brugernavn</strong><br>
<INPUT TYPE ="text" NAME="brugernavn"></p>
<p><strong>Adgangskode</strong><br>
<INPUT TYPE ="password" NAME ="password"></p>
<p><INPUT TYPE="submit" NAME="submit" value="Login"></p>
</FORM>


</body
</html>
Avatar billede MarkA Praktikant
08. maj 2005 - 19:27 #5
det er bare iorden.. kan du ellers se hvad der skulle være galt
Avatar billede jm0_ Nybegynder
08. maj 2005 - 19:33 #6
Ehm, ja måske... prøv denne her..

<php
// checker om felterne fra login formularen er tomme
if ((!$_POST[brugernavn]) || (!$_POST[password])) {
  header("Location: login.htm");
  exit;
}

// åbner database-forbindelsen
$conn = mysql_connect("localhost" , "root");
mysql_select_db("login_system" , $conn) or die (mysql_error());

if($_POST[submit]){
// checker om brugeren findes i tabellen
$sql = "select f_name, l_name from auth_users where
    brugernavn = ('$_POST[brugernavn]') and
    password = ('$_POST[password]')";
$result = mysql_query($sql, $conn) or die (mysql_error());

// henter resultatet, som skal være 1 for at brugeren findes
if (mysql_num_rows($result) == 1) {

// Hvis brugeren findes i systemet
$f_name = mysql_result($result, 0, 'f_name');
$l_name = mysql_result($result, 0, 'l_name');

//Sætter en cookie
setcookie("auth", "1", 0, "/", "localhost/", 0);

//velkomst hilsen til bruger
$msg = "<p>velkommen til $f_name</p>";



} else {

// Hvis resultatet fra login ikke findes i databasen
header("location: login.htm");
exit;

}
}
?>
Avatar billede MarkA Praktikant
08. maj 2005 - 19:35 #7
den er sq stadig blank... Jeg kan bare ikke se hvad der er galt
Avatar billede jm0_ Nybegynder
08. maj 2005 - 19:38 #8
den kan jeg sq heller ikke lige umiddelart gennemskue :S

tja, jeg ville slet ikke lave et logind system sådan.. Altså med cookies, og måden.
Avatar billede MarkA Praktikant
08. maj 2005 - 19:39 #9
hvad ville du så vælge i stedet
Avatar billede jm0_ Nybegynder
08. maj 2005 - 19:42 #10
Sessions.. Men lidt ala din måde altså med "hvis findes i tabellen".. Men umiddelbart kan jeg ikke se hvorfor dit logind system ikke virker :s
Avatar billede MarkA Praktikant
08. maj 2005 - 19:43 #11
ok... men ellers tak for forsøget
Avatar billede jm0_ Nybegynder
08. maj 2005 - 19:49 #12
det var så lidt :)
Avatar billede ranglen Nybegynder
08. maj 2005 - 19:49 #13
du starter din kode med: <php

du mener vel, <?php

og det der med cookies, hvis dit system skal ud til offentligheden, så skal du nok kigge på sessions
Avatar billede MarkA Praktikant
08. maj 2005 - 19:54 #14
det hjalp lidt på det... men nu returnerer den bare til min login.htm side uanset om brugeren findes eller ej..

Lidt pinligt jeg ikke selv havde set det med <?php  :)
Avatar billede MarkA Praktikant
16. maj 2005 - 20:26 #15
Har fået det fikset nu..
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