Avatar billede ferrari_brian Nybegynder
07. maj 2003 - 01:10 Der er 5 kommentarer og
1 løsning

login UDEN MySQL

Jeg har haft dette til at køre med MySQL, men da jeg har prøvet at lave det om til at køre uden database er det gået helt galt!!! kan i ikke hjælpe mig ? PLEASE... jeg skal gerne have sessions med...

<?php
    // Her starter sessionen
session_start();

if(isset($_REQUEST["$brugernavn"]) OR isset($_REQUEST["$password"])){
    // Fejlmeddelelse
    echo "Forkert brugernavn og/eller password";
    echo "<meta http-equiv='Refresh' content='2; URL=admin.php'>";
   
}

else {


    $bruger = 'admin';
    $pass = 'nimda';

    if($brugernavn == $bruger && $password == $pass){
   
         

    // Her tjekkes ovenstående variabel og det giver så en ny $number som så giver en ny der hedder $login, som er sand hvis Result var 1 og falsk hvis result var 0.
$number = 1;
if ($number == 1) {
    $login = true;
    } else {
    $login = false;
    }

    // Her Tjekkes om $login er sand (true)
if ($login == true) {
    // Session variablen access gives en sand værdi (true)
    $_SESSION['access'] = true;
    // Bruger sendes til admin-siden.
    header("Location: admin.php");
   
   
    //Hvis $login ikke er sand sendes brugeren tilbage til login siden.
    } else {
    echo "<H1>Forkert Login!</H1><br>Du har indtastet forkert brugernavn og/eller password! <a href=index.php>Tilbage til start</a>";
    echo "<meta http-equiv='Refresh' content='1; URL=admin.php'>";
    exit;
   
    }
   
    }
    }
?>


Her er så login-siden:
<h1>Login</h1><br>
<form method="post" action="authorize.php">
<table border="0" cellpadding="5" cellspacing="5">
<tr>
  <td valign="top">Brugernavn:</td>
  <td valign="top"><input type="text" name="brugernavn" size="20"></td>
</tr>
<tr>
  <td valign="top">Password:</td>
  <td valign="top">
  <input type="password" name="password" size="20"><br><br>
  <input type="submit" name="login" value="Login">
  </td>
</tr>

og det der sættes ind på den beskyttede side:
<?php

    // Her starter sessionen
session_start();

    // Her tjekkes om session variablen "access" ikke er sand (true)
if ($_SESSION['access'] != true) {
    // Indkluderer login.php
    include("login.php");
   
    } else {
    // Hvis den så er sand (true) kommer man ind på siden (admin.php)
?>

indhold!:
<?php
    }
?>

men det er den første del (authorize.php der gør vrøvl... den vil godt logge en ind men hvis man ikke skriver noeget eller hvis man skriver forkert brugernavn eller password kommer den ikke videre og giver ikke en af de definerede fejlmeldinger?

please hjælp...
Avatar billede jakoba Nybegynder
07. maj 2003 - 01:18 #1
i din if sætning:

if (isset($_REQUEST["$brugernavn"]) OR isset($_REQUEST["$password"])) {
 
        // Fejlmeddelelse
    echo "Forkert brugernavn og/eller password";
    echo "<meta http-equiv='Refresh' content='2; URL=admin.php'>";
 
}

tester du om der er skrevet noget in feltet der har samme navn som det der står i variabelen  $brugernavn.  og ditto med  $password

Det lyder umiddelbart ikke ret logisk. Prøv at beskrive hvad du mener med det.

mvh JakobA
Avatar billede exp Juniormester
07. maj 2003 - 08:21 #2
alternativt kan du bruge sukos' loginscript:
http://www.sukos.dk/php/login/sessions-php/
Avatar billede ferrari_brian Nybegynder
07. maj 2003 - 09:48 #3
Tak... det vil jeg kigge på når jeg kommer hjem fra skole/arbejde... så vender jeg tilbage... for det ser ud til at det virker ... men jeg ved ikke ... jeg skal lige have undersøgt det... nu er du sikker på at det er uden MySQL???

nå... jeg finder ud af det senere idag...
Avatar billede exp Juniormester
07. maj 2003 - 10:57 #4
ja, der ligger både en med og en uden mysql derinde...
Avatar billede asand Nybegynder
07. maj 2003 - 18:33 #5
Jeg har engang lavet det her script. Det er lidt kluntet, men det virker og er uden database:

Brugeren skal indtaste sine oplysninger på en side og bliver derefter sendt videre til en side, der bl.a. indeholder følgende:
<?php
//dataene fra oprettelsesformularen lægges ind i forskellige variabler.
$navn = $_POST["navn"];
$adresse = $_POST["adresse"];
$postnummer = $_POST["postnummer"];
$by = $_POST["by"];
$telefonnummer = $_POST["telefonnummer"];
$mailadresse = $_POST["mailadresse"];
$brugernavn = $_POST["brugernavn"];
$password = md5($_POST["password"]); //det indtastede password krypteres.

$file = fopen("users.php","a+"); //'users.php' åbnes. Der startes med skrivning fra //neden.
$ind = "<?php
\$$brugernavn = array(\"$navn\",\"$adresse\",\"$postnummer\",\"$by\",\"$telefonnummer\",\"$mailadresse\",\"$brugernavn\",\"$password\");
?>";
fputs($file, $ind); //$ind sættes ind i $file, som indeholder ‘users.php'.
fclose($file); //filen lukkes.
?>

Hvorefter de går til loginsiden og skriver brugernavn og password og bliver sendt videre til en side, der indeholder:
<?php
@$IndtastedeBrugernavn = $_POST["bruger"];
@$IndtastedePassword = md5($_POST["password"]);
require("users.php");

@$Brugernavn = $$IndtastedeBrugernavn;
$RigtigePassword = $Brugernavn[7];

if($IndtastedePassword == $RigtigePassword)
    {
    include("protected.php");   
    }
else
    {
    echo "<FONT color=\"red\">du har indtastet forkert password eller brugernavn!</FONT>";
    include("login.php");
    }
?>

Her er det altså siden protected, der er beskyttet. Det kan stensikkert også laves på din måde, så bare klø på!

-ASand
Avatar billede ferrari_brian Nybegynder
25. maj 2003 - 00:08 #6
jeg fandt noget selv... ved godt det er længe siden at jeg oprettede, men nu får exp bare pointsene da han er den eneste der har "svaret"
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