Avatar billede stenger Nybegynder
10. februar 2007 - 01:12 Der er 5 kommentarer og
1 løsning

header (location)

Hej drenge!

Skal først siges at jeg ikke er PHP-ekspert, så dette virker måske simpelt for nogen, men ikke for mig :)

Min nedenstående kode får fint adgang til databasen og indtaster jeg noget "forkert" får jeg også de rigtige fejlmeddelser.

Taster jeg det rigtige ind, "refresher" vinduet dog bare, dvs. mine input-bokse tømmes og der bliver ikke gået videre til den side, som jeg gerne vil have den til. Er der nogen, der kan kigge på det og komme med et forslag?

Takker!


**** KODE ****



if (isset($_POST['submitted'])) {

require_once ('mysql_connect.php');


if (!empty($_POST['username'])) {
    $u = $_POST['username'];
    } else {
    echo '<p><font color="red" size="+1">Indtast Brugernavn!</font></p>';
    $u = FALSE;
    }
   

if (!empty($_POST['password'])) {
    $p = $_POST['password'];
    } else {
    echo '<p><font color="red" size="+1">Indtast Password!</font></p>';
    $p = FALSE;
    }


$usertable='users';


if ($u && $p) {

$query = "SELECT * FROM $usertable WHERE username='$u' AND password=MD5('$p')";
$result = mysql_query($query);

if (@mysql_num_rows($result) == 1) {
header("location:admin.php");

       
       
        }
    }   
}

?>
Avatar billede phliplip Nybegynder
10. februar 2007 - 01:56 #1
Har du noget kode i admin.php der redirecter brugeren til din login side hvis et kriterie ikke er mødt?

F.eks. hvis brugeren ikke er logget ind!? Det lugter lidt af at du mangler at gemme informationer om at brugeren er logget ind, inden du videre sender ham til admin siden!
Avatar billede stenger Nybegynder
10. februar 2007 - 02:03 #2
Admin.php er sådan set bare en HTML-side... det vil sige at der bare lige er en echo 'HTML-kode';, hvis du forstår.

Information omkring login skal ikke gemmes som sådan i en database, men havde (lang tid siden jeg har arbejdet med PHP) glemt alt om sessions, så det er jeg ved at kigge på. Men enhver hjælp ville blive godt modtaget :)
Avatar billede stenger Nybegynder
10. februar 2007 - 03:08 #3
Hele koden ser sådan her ud (nu ikke grine, jeg er ikke en haj... lol):


<?php

session_start();

echo '

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-store">
<meta name="robots" content="nocache" />
<title>Lager & Service Klubben</title>
<link rel="stylesheet" href="css/style.css" />

<!--[if IE]> <style type="text/css">@import "css/IE-override.css";</style>
<![endif]-->

</head>

<body>

<div id="wrapper">


<div id="container">

<img src="images/toplogo.jpg" alt="" />


<div id="menu_layer">

<ul>
<li>ADMINISTRATION</li>
</ul>

</div>

<div id="input_layer">

<form name="login" method="POST">
<p class="input_brugernavn">Brugernavn:</p>
<input type="text" name="username" maxlength="18" class="bruger_inputbox" />

<p class="input_password">Password:</p>
<input type="password" name="password" maxlength="18" class="password_inputbox" />

<input type="submit" value="Login" name="mysubmit" class="submit_button" />
<input type="hidden" name="submitted" value="TRUE" />

</form>

</div>


</div>

</div> <!-- End of Wrapper !-->

<div id="shadow_bottom"></div>

</body>
</html>';


if (isset($_POST['submitted'])) {

require_once ('mysql_connect.php');


if (!empty($_POST['username'])) {
    $u = $_POST['username'];
    } else {
    echo '<p><font color="red" size="+1">Indtast Brugernavn!</font></p>';
    $u = FALSE;
    }
   

if (!empty($_POST['password'])) {
    $p = $_POST['password'];
    } else {
    echo '<p><font color="red" size="+1">Indtast Password!</font></p>';
    $p = FALSE;
    }


$usertable='users';


if ($u && $p) {

$query = "SELECT * FROM $usertable WHERE username='$u' AND password=MD5('$p')";
$result = mysql_query($query);


if (@mysql_num_rows($result) == 1) {
header("location:admin.php");

       
       
        }
    }   
}

?>
Avatar billede stenger Nybegynder
10. februar 2007 - 15:15 #4
Anyone? Jeg har fint adgang til databasen og får de korrekte fejlbeskeder ved forkert indtastning. Men ved korrekt indtastning sker der ikke noget... det vil sige, min header (location) gør intet. I stedet refresher siden bare eller noget, ihvertfald reloader den den samme side med tomme formular-felter. Nogen der kan hjælpe?
Avatar billede stenger Nybegynder
11. februar 2007 - 03:06 #5
Giver pointen til phliplip, da det havde noget at gøre med sessions...
Avatar billede phliplip Nybegynder
12. februar 2007 - 08:53 #6
Tak for point, og undskyld at jeg ikke lige fulgte med !-(
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