Userdata er selvfølgelig den variabel som kommer fra den person som er logged ind.
Alt dette har jeg prøvet i et stykke tid til at få til at virke, men uden held, så jeg skal have en gennemgang af i hvilke filer jeg skal lægge koden osv.
Altså på alle sider skal man kunne se man er logged ind...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Det er da rimeligt enkelt - og kan gøres endnu enklere hvis du vil fjerne faciliteten med at gemme login i en cookie i et par måneder.
Jeg bruger selv et ligenende script, og det virker ganske udmærket. Brugerniveau kan du bruge til hvadsomhelst - f.eks. 1=alm bruger, 2=superbruger og 3=administrator med alle rettigheder
Godt nok står det i en kommentar, men bare for en ordens skyld - databasen skal jo lige åbnes (jeg gør det i et lille include - der er jo sikkert andre dele af dine programmer der skal trække på samme database).
Jeg har ikke brugt samme tabel- og variabelnavne som du gjorde i dine eksempler, men det er vist til at gennemskue hvordan det er bygget op - så kan du jo bare omdøbe efter behov ;o)
Warning: Cannot send session cookie - headers already sent by (output started at /var/www/hotels/1go/cyfer/html/login.php:2) in /var/www/hotels/1go/cyfer/html/login.php on line 3
Warning: Cannot send session cache limiter - headers already sent (output started at /var/www/hotels/1go/cyfer/html/login.php:2) in /var/www/hotels/1go/cyfer/html/login.php on line 3
Warning: Cannot add header information - headers already sent by (output started at /var/www/hotels/1go/cyfer/html/login.php:2) in /var/www/hotels/1go/cyfer/html/login.php on line 40
Warning: Cannot send session cookie - headers already sent by (output started at /var/www/hotels/1go/cyfer/html/login.php:2) in /var/www/hotels/1go/cyfer/html/session.php on line 3
Warning: Cannot send session cache limiter - headers already sent (output started at /var/www/hotels/1go/cyfer/html/login.php:2) in /var/www/hotels/1go/cyfer/html/session.php on line 3
login.php er et selvstændigt lille program, som blot kaldes når en bruger forsøger at logge på (eller af).
session.php skal du sørge for at include på alle sider, men vel at mærke der hvor du vil ha' din login-boks.
Det hele går galt fordi jeg har placeret en "session_start();" øverst i session.php - det var nok ikke helt gennemtænkt. session_start(); skal nemlig forekomme før der har været noget output overhovedet. Derfor er det smartest hvis du flytter session_start(); fra session.php og i stedet placerer den allerøverst på alle sider hvir du vil bruge login-boksen.
session.start() sikrer at du kan aflæse variablerne $exp_bruger (med login-navnet), $exp_fornavn (med brugerens fornavn) o.s.v.
Så har du prøvet at logge på med en bruger-id og adgangskode som ikke passer sammen. Det ser ud til at du har tastet et bruger-id som findes i din tabel, men at adgangskoden ikke stemmer...
:o) - jo ID må da gerne være med, hvis du har noget at bruge den til. Men i mit eksempel bruges den ikke til noget, og så er der jo egentlig ikke grund til at indlæse den...
Først har jeg valgt at omdøbe det password som brugeren har tastet til "userpass" - blot for at undgå at feltet i funktionen hedder det samme som feltet fra databasen - ellers er de jo svære at sammenligne.
Dernæst vil jeg foreslå dig at lægge lidt "debug" linier ind:
function godkend ($user, $userpass) { $qry="SELECT nick, password FROM members WHERE nick='$user'"; $query = mysql_query("$qry" ); ECHO "qry: [$qry]<br>"; // DEBUG!! $resultat="0002"; // indtil andet er bevist: brugernavn ikke fundet while($brugerdata = mysql_fetch_array($query)){ extract($brugerdata); ECHO "bruger: [$nick] - tastet: [$userpass] - i databasen: [$password]<br>"; // DEBUG!! if ($password==$userpass) {
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.