Avatar billede kren1000 Nybegynder
24. juli 2006 - 16:06 Der er 27 kommentarer og
2 løsninger

kode til webside

Hej eksperter

Jeg har en webside med en simpel login kode i php, men ville gerne have det så koden består af 6 cifre, hvoraf de 4 første cifre er stationære og de 2 sidste følger uge numrene. Dvs. 01 osv. så den skifter hver uge. Er det indviklet at lave noget i den stil, og/eller vil nogen hjælpe mig på vej?
Avatar billede jaw Nybegynder
24. juli 2006 - 16:07 #1
Ugenummeret kan du få med date("W");
Avatar billede jaw Nybegynder
24. juli 2006 - 16:10 #2
Så f.eks. sådan her:

$kode = "abcd";  //din stationære del
if(strlen(date("W")) == 1)
  $kode .= "0";  //hvis det er uge 1-9 skal der tilføjes et 0
$kode .= date("W");
Avatar billede kren1000 Nybegynder
24. juli 2006 - 17:06 #3
Jeg har lige prøvet at sætte den i en session, men det funker ikke endnu, har sikkert lavet en fejl eller 2:

<?php
    session_start();
           
        $kode = "abcd";  //din stationære del
        if(strlen(date("W")) == 1)
          $kode .= "0";  //hvis det er uge 1-9 skal der tilføjes et 0
        $kode .= date("W");
       
        if($_POST[submit]==$kode)
                       
        {
                   
        $_SESSION['godkendt']=true;
        header("forside.php");
       
        }
       
        else if ($_SESSION['godkendt']=false);
       
        {
            header("location: ikke_adgang.php");
        }
    ?>
--------------------------------
Login.php:

<form method="POST" action="session.php">
        Du skal v&aelig;re logget ind for at benytte websiden!<br>
    <p>Kode:</p><INPUT type="password" name="kode"><br>
    <INPUT type="submit" name="submit" value="Log ind" style="background:#E2A81D;border:1px solid brown; color:#65402D; cursor:hand;">
    <input type="hidden" name="" value="">
    </form>

Er jeg helt galt på den?
Avatar billede leif Seniormester
24. juli 2006 - 17:10 #4
Skal $_POST[submit] ikke hellere være $_POST[kode] når det er det felt du vil kontrollere
Avatar billede kren1000 Nybegynder
24. juli 2006 - 17:12 #5
Jo det er da vist rigtigt, det laver jeg lige om:)
Avatar billede jaw Nybegynder
24. juli 2006 - 17:15 #6
Og så er det mere korrekt syntax at bruge $_POST['string'] med ' eller ", og $_POST[1] ved tal og variabler.
Avatar billede jaw Nybegynder
24. juli 2006 - 17:20 #7
Nå, men jeg er på vej til søs i 3 måneder og lukker computeren nu, så tillader mig at smide et svar. Du afviser bare, hvis du mener det skal afvises :)

Fortsat god sommer alle... :) !
Avatar billede leif Seniormester
24. juli 2006 - 17:20 #8
Tak i lige måde, og god tur. Ses jo nok når du kommer hjem
Avatar billede jaw Nybegynder
24. juli 2006 - 17:22 #9
Tak - og det gør vi jo nok :)
Avatar billede kren1000 Nybegynder
24. juli 2006 - 17:24 #10
Nu ser det sådan ud, men virker ikke endnu:
<?php
    session_start();
           
        $kode = "abcd";  //din stationære del
        if(strlen(date("W")) == 1)
          $kode .= "0";  //hvis det er uge 1-9 skal der tilføjes et 0
        $kode .= date("W");
       
        if ($_POST['kode']==$kode)
                       
        {
                   
        $_SESSION['godkendt']=true;
        header("medhjertet.php");
       
        }
       
        else if ($_SESSION['godkendt']=false);
       
        {
            header("location: ikke_adgang.php");
        }
    ?>
Avatar billede kren1000 Nybegynder
24. juli 2006 - 17:24 #11
Tak for hjælpen for nu og god tur;)
Avatar billede leif Seniormester
24. juli 2006 - 17:25 #12
header("medhjertet.php");

skal være:

header("location: medhjertet.php");


Men det er en anden snak
Avatar billede kren1000 Nybegynder
24. juli 2006 - 17:28 #13
Ja ok, den er også rettet nu:), siden stopper dog ved session.php nu, ved en "The page cannot be displayed" side....
Avatar billede leif Seniormester
24. juli 2006 - 17:32 #14
else if ($_SESSION['godkendt']=false);

til

elseif ($_SESSION['godkendt']=false)
Avatar billede leif Seniormester
24. juli 2006 - 17:37 #15
Avatar billede kren1000 Nybegynder
24. juli 2006 - 17:41 #16
Det var ligegodt pokkers, så virker det skam perfekt:) Rigtig fedt, du skal have mange tak for hjælpen! Skal jeg give dig eller jaw point? Har ikke brugt systemet herinde så ofte.
Avatar billede leif Seniormester
24. juli 2006 - 17:41 #17
Men 2 sek. jeg ville da ændre lidt på din session fil
Avatar billede kren1000 Nybegynder
24. juli 2006 - 17:42 #18
ok jeg tager den med ro så;)
Avatar billede leif Seniormester
24. juli 2006 - 17:43 #19
Jeg ville starte med at ændre:
elseif ($_SESSION['godkendt']=false)

til

elseif ($_SESSION['godkendt']==false)

Og en masse andet
Avatar billede leif Seniormester
24. juli 2006 - 17:44 #20
Eller vil du have at session.php inkluderes i ALLE beskyttede filer
Avatar billede kren1000 Nybegynder
24. juli 2006 - 17:45 #21
ja det var egentlig planen, men hvis du har andre forslag er jeg da åben
Avatar billede leif Seniormester
24. juli 2006 - 17:59 #22
Avatar billede kren1000 Nybegynder
24. juli 2006 - 18:27 #23
Det er helt super, men jeg er lidt i tvivl om hvad fordelen er ved at lave en kontrol.php, er det ikke bare et "led" mere i kæden eller hvordan?
Avatar billede kren1000 Nybegynder
24. juli 2006 - 18:27 #24
Det fungerer i hvertfald 100% med bare session.php som du har lavet den sidst.
Avatar billede leif Seniormester
24. juli 2006 - 18:55 #25
Svar
Avatar billede leif Seniormester
24. juli 2006 - 18:56 #26
kontrol.php laver en kontrol om godkendt er sat til true det gør session.php overhovedet ikke
Avatar billede kren1000 Nybegynder
24. juli 2006 - 19:56 #27
Áh ok, tak for hjælpen med det hele, points er delt mellem jer.
Avatar billede Slettet bruger
25. juli 2006 - 22:18 #28
Der var lige en fejl mere i denne linie

elseif ($_SESSION['godkendt']=false)

da den sætter $_SESSION['godkendt'] til at være false, og derefter returnerer værdien false til elseif, så redirecten aldrig køres.

Ret til:

else
{
  $_SESSION['godkendt']=false;
  header("location: ikke_adgang.php");
}
Avatar billede Slettet bruger
25. juli 2006 - 22:20 #29
Ok, jeg kan se, at den direkte fejl i koden er blevet taget hånd om i koden på leifs link, men jeg mener stadig, at den elseif bør erstatttes af den else, jeg har leveret her. (Og den inkluderer så også koden fra den else, som er i leifs kode).
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