Avatar billede michaeltryl Seniormester
20. september 2006 - 13:44 Der er 9 kommentarer og
1 løsning

hente oplysning fra sessions

jeg har denne kode som sætter en session

<?php
session_start();
include"connect.php";

if(!isset($_POST['Submit'])) { //Tester om brugeren kom fra  login.html
    echo "Du skal komme fra index.html";
    }else{
        $postbruger = $_POST['Brugernavn'];
        $postpass = $_POST['Password']; //For læservenligheden overføres post variablerne til normale variabler
       
        $resultat = mysql_query("SELECT Id FROM `brugere` WHERE Brugernavn = '$postbruger' AND Password = '$postpass'");//Spørger efter ID

        $number = mysql_num_rows($resultat);//Tæller antaller af resultater
        if($number == 1) { //Hvis der kun er et resultat, bliver brugeren logget in
        $_SESSION['logget_in'] = 1;
        $_SESSION['Brugernavn'] = $postbruger;
        $_SESSION['Password'] = $postpass; //Sætter session variablerne


og længere ned på siden skal jeg så skrive hvilken bruger der er logget ind, men denne kode virker ikke

$bruger = $_SESSION[logget_in];
$get = mysql_query("SELECT * FROM brugere WHERE Brugernavn = '$bruger' LIMIT 1") or die(mysql_error());
$show = mysql_fetch_array($get);
echo "Velkommen til din vennebog<br><br>";
echo "<b>ID #</b>$show[Id]<br>";
echo "<b>Brugernavn:</b> $show[Brugernavn]";
Avatar billede michaeltryl Seniormester
20. september 2006 - 13:45 #1
ups glemte at skrive.
er der en som kan se hvor fejlen er det eneste der bliver skrevet ud på siden er

Velkommen til din vennebog

ID #
Brugernavn:
Avatar billede hmm10 Nybegynder
20. september 2006 - 13:57 #2
$_SESSION['logget_in'] = 1; // sat til 1 -> true/false

$bruger = $_SESSION[logget_in]; // sætter bruger til 1?
$get = mysql_query("SELECT * FROM brugere WHERE Brugernavn = '$bruger' LIMIT 1") or die(mysql_error()); // henter Brugernavn som er 1?
Avatar billede hmm10 Nybegynder
20. september 2006 - 14:00 #3
$bruger = $_SESSION[logget_in];
sættes til
$bruger = $_SESSION['Brugernavn'];
Avatar billede michaeltryl Seniormester
20. september 2006 - 14:05 #4
mange tak smid et svar
Avatar billede hmm10 Nybegynder
20. september 2006 - 14:12 #5
Selvom du tjekker om brugeren har indtastet kodeord/brugernavn korrekt ind, skal du længere nede også tjekke, for som det er nu henter den oplysningerne ud - blot via brugernavnet.

Her er et svar :)
Avatar billede hmm10 Nybegynder
20. september 2006 - 14:22 #6
Det var forkert formuleret. Men du skal have en form for inten er man inden eller også er min ikke - men det har du sikkert allerede :)
Avatar billede michaeltryl Seniormester
20. september 2006 - 14:26 #7
ja det har jeg hvis du mener at jeg skal have noget som sker hvis personen er logget ind eller hvis han ikke er
Avatar billede hmm10 Nybegynder
20. september 2006 - 14:29 #8
:)
Avatar billede mobildata Nybegynder
20. september 2006 - 15:37 #9
lidt sikkerhed..

if(!isset($_POST['Submit'])) { //Tester om brugeren kom fra  login.html
    echo "Du skal komme fra index.html";
    }

//her tjekker du reelt ikke om brugeren kommer fra login.html
men bare mon $_POST['Submit'] eksisterer, her skal du hellere bruge:


if($_SERVER['HTTP_REFERER'] != "din loginside")
    echo "Du skal komme fra index.html"
    exit;
    }

Samtidig skal du nok validere det brugerinput du får ind med $_POST for at undgå MySql injection.

Der kan du bruge noget i stil med:

mysql_real_escape_string(htmlspecialchars(strip_tags($_POST)));
Avatar billede michaeltryl Seniormester
20. september 2006 - 15:50 #10
okay tak jeg kigger på det
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