Avatar billede harnovharno Nybegynder
02. november 2005 - 03:09 Der er 5 kommentarer

fejl ved sessions

--1.php--
<? session_start(); ?>
<html>
<body>

<?
if($_post["email"]) { $_session["email"] = $_post["email"]; }
?>

<form method="post" action="1.php">
<input name="email" value="<? echo $_session["email"]; ?>"><br>
<input type="submit" value="ret email">
</form>


<br>
<a href="1.php">1</a>
<a href="2.php">2</a>
</body>
</html>

--2.php--
<? session_start(); ?>

<html>
<body>

din mail er
<b><? echo $_session["email"]; ?></b>

<br>
<a href="1.php">1</a>
<a href="2.php">2</a>
</body>
</html>


hvorfor husker den ikke det indtastede?
Avatar billede harnovharno Nybegynder
02. november 2005 - 03:11 #1
desuden var der flere fejl som jeg selv har rattet, scriptet er fra heftet Start på PHP5, utroligt at de har overset diverse tegn der manglede OSV.
Avatar billede olebole Juniormester
02. november 2005 - 03:20 #2
<ole>

De to arrays hedder ikke $_post og $_session - men $_POST og $_SESSION

/mvh
</bole>
Avatar billede harnovharno Nybegynder
02. november 2005 - 05:48 #3
hvad er sikkerheden med SESSIONS?, jeg har langt om længe lavet noget der virker...

men er det sikkert nok hvis bare det skal bruges som logind system til en gæstebog, med kun en admin bruger?
jeg bruger også md5 til kodeord, og mixer det med et valgfrit ord man kan endre under Indstillingerne for gæstebogen.

.htaccess var ikke lige det jeg søgte...

på vær side der skal beskyttes vil jeg så tjekke om det indtastede kodeord er = md5hash.

jeg kunne også lave en md5hash ud af mit kodeord efter php filen har modtaget _POST, på den måde er min SESSION så et md5hash af koden, så den orginale kode er ikke gemt nogen steder, det er måske stadig muligt at opsnappe koden lige i det den bliver sendt fra client til server, så det vil sikert ikke hjælpe noget...

jeg bruger ikke mysql endu, men det er ok at bruge SESSIONS?
det er jo ikke en kempe bruger gruppe, Kun admin har brugernavn og adgangskode.
Avatar billede olebole Juniormester
02. november 2005 - 06:12 #4
En session består af en fil, der ligger uden for webscope på serveren - hvilket betyder, den ikke kan kaldes over HTTP-protokollen. I den fil gemmer du alle session variabler - f.eks:
    $_SESSION["gnu"] = "Sær skabning";

For at serveren kan finde den rigtige session-fil til den enkelte bruger, sendes navnet på filen med - enten i en cookie eller i URL'en. Navnet er en tilfældigt genereret streng på (så vidt jeg husker 28 karakterer ... ligner en md5).

Så snart browseren lukkes, dør den pågældende session.

Som du nok kan fornemme, er sessions noget af det mest sikre, du kan bruge under normale omstændigheder  :)
Avatar billede harnovharno Nybegynder
02. november 2005 - 06:39 #5
tjaa, hvis jeg venter og så gemmer det postede kodeord som md5 i en session kan det vist ikke blive bedre.

jeg skal også igang med at lære mysql på et tidspungt, men det har bare været en god trening at arbejde med forskællige funktioner til at gemme i filer med.

tak til dem der har hjulpet igennem flere posts, jeg vil nu kode den sidste del af min kode til gæstebogen, før den vil blive taget i brug.

Paging og SESSIONS var det sværeste, jeg lavede selv en form for paging.
Der var intet ivejen med jeres kode den virkede fint, jeg forstod den bare ikke så jeg lavede min egen. Bryder mig heller ikke om at bruge andres kode de bliver godt gale i skralden somme tider, selvom det kun er kodestumper.
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