04. februar 2009 - 10:49Der er
18 kommentarer og 1 løsning
Opret session og login
Hey. jeg har et lille problem med at overføre session (tror jeg ) når man trykker på login knappen ryger du hvidre til login_confirm.php her er koden i den
og nu er jeg logget ind så har den fjernet login boksen og der kan du rediger din profil ovs. men ville gerne have den til at skrive velkommen bruger meeeenn det er der det kniber det kan jeg ikke få den til, har haft brugt den her velkommen <? $_POST['username'] ?> men det vil den ikke men hvordan så ??
Hvis du efter du sætter $_SESSION["login"]=true, sætter $_SESSION["user"] = $username, så kan du på din side blot bruge: <?php session_start(); echo "Velkommen " . $_SESSION["user"] . "<br/>"; ?>
Og generelle råd til dit login system: 1. Brug hashede passwords. 2. Valider alle inputs der skal bruges til MySQL entries, for at sikre dig selv mod MySQL injection attacks. Brug for eksempel mysql_real_escape_string funktionen. 3. linien $_SESSION[login] = true;, skal være $_SESSION["login"] = true;
øh login siden er på index.php og når du trykker på login knappen ryger du over til login_confirm.php som indeholder koden her over, og når du så er "godkendt login " ryger du tilbage til index.php.
session_start(); sætter du ikke den øverst i ens kode ? bare fordi den skal ikke skrive brugerens navn der oppe
jeg får bare den her fejl hvis jeg rykker den ned i scripet altså echo $_SESSION["user"]
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/mitnavn/domains/siden.dk/public_html/siden/index.php on line 39
nu kommer den da ikke med fejl men den skriver det stadig ikke <? if($_SESSION["login"] == true){ echo ' <b class="login_forside">Velkommen </b> <? echo $_SESSION["user"] ?>'; } else { echo ' <b class="login_forside">Login</b>'; } ?>
Hvis der ikke kommer noget output, må det være fordi du: 1) Ikke har startet session_start(); 2) Du har ikke angivet $_SESSION["login"]=true i login-systemet 3) Du har angivet $_SESSION["login"] forkert, evt. stavet det forkert.
Hvis du tjekker dette igennem og det stadig ikke virker, må du give mig koden for både index.php og login_comfirm.php, for at jeg har en chance for at lokalisere problemet.
Punktummerne bruges til at adskille variable. Her er et eksempel: <?php $var = "foo"; $var2 = "bar"; echo "foobar, " . $var . $var2; ?> Output: foobar, foobar
Du kan fx sikre dine sider ved: <?php if($_SESSION["login"] == false){ header("location: /*LOGIN SIDE*/"); exit; } //INDHOLD HER UNDER ?>
Den ovenstående kode sender brugeren til loginsiden hvis denne ikke er logget ind, ellers viser den indholdet på siden.
den sender ikke nogen nogen steder <?php if($_SESSION["login"] == false){ header("location: index.dk"); exit; } ?> men kommer med
Warning: Cannot modify header information - headers already sent by (output started at /home/navn/domains/side.dk/public_html/mappe/index.php:10) in /home/navn/domains/side.dk/public_html/mappe/profil.php on line 4
den side som har <?php if($_SESSION["login"] == false){ header("location: index.dk"); exit; } ?> er includeret i index filen
Synes godt om
Ny brugerNybegynder
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.