Avatar billede donandres Nybegynder
14. marts 2005 - 12:52 Der er 5 kommentarer og
1 løsning

skal jeg bruge include eller noget andet?

hej eksperter. jeg har en side(upload.php) som jeg vil paswordbeskytte. jeg har derfor fundet denne kode, og det virker men nu skal siden så lige sættes ind i koden. skal jeg gøre det med include? og hvis ja: hvordan skal det gøres?

<?php

// Define your username and password
$username = "test";
$password = "test";

if ($_POST['txtUsername'] != $username || $_POST['txtPassword'] != $password) {

?>

<h1>Login</h1>

<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <p><label for="txtUsername">Username:</label>
    <br /><input type="text" title="Enter your Username" name="txtUsername" /></p>

    <p><label for="txtpassword">Password:</label>
    <br /><input type="password" title="Enter your password" name="txtPassword" /></p>

    <p><input type="submit" name="Submit" value="Login" /></p>

</form>

<?php

}
else {

?>

<p>Her skal siden loades</p>

<?php

}

?>
Avatar billede barklund Nybegynder
14. marts 2005 - 12:59 #1
Ovenstående beskyttelse virker kun "en gang" - altså, du kan se den, men du kan ikke refreshe den uden at skulle logge ind hver gang.

Du bør istedet kigge på session og gemme din login-status her. Så kan du på alle beskyttede sider teste for eksistens af $_SESSION['logged_in'] eller noget i den stil, og hvis ikke redirecte til (eller include) login-formular og hvis den er der, bare vise siden.

--
Morten Barklund
Avatar billede donandres Nybegynder
14. marts 2005 - 13:01 #2
det forstår jeg ikke så meget af.. jo forstår godt meningen men har ingen ide om hvordan det skal laves(er ny i php-verdenen) men indtil videre er det også ok at skulle logge ind hele tiden. hvordan kan det gøres med include? -og ville det virke
Avatar billede barklund Nybegynder
14. marts 2005 - 13:07 #3
Gem følgende i login.php

<?php
session_start();
// Define your username and password
$username = "test";
$password = "test";
if ($_POST['txtUsername'] != $username || $_POST['txtPassword'] != $password) {
?>
<h1>Login</h1>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <p><label for="txtUsername">Username:</label>
    <br /><input type="text" title="Enter your Username" name="txtUsername" /></p>

    <p><label for="txtpassword">Password:</label>
    <br /><input type="password" title="Enter your password" name="txtPassword" /></p>

    <p><input type="submit" name="Submit" value="Login" /></p>
</form>
<?php
} else {
    $_SESSION['logged_in'] = true;
    header("Location: upload.php");
}
?>

Og så i toppen af upload.php skal du blot tilføje:

<?php
session_start();
if ($_SESSION['logged_in'] !== true) {
    header("Location: login.php");
    exit;
}
?>

Mere skal der ikke umiddelbart til.

--
Morten Barklund
Avatar billede donandres Nybegynder
14. marts 2005 - 13:11 #4
mange tak!!! 
:-)
smider du et svar?
Avatar billede barklund Nybegynder
14. marts 2005 - 13:15 #5
Mjæssør :)

--
Morten Barklund - nu med php ;)
Avatar billede barklund Nybegynder
14. marts 2005 - 13:17 #6
Jeg går ud fra, at det virkede - og tark for points :)
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