Avatar billede LilleUdvikler Nybegynder
15. maj 2011 - 17:03 Der er 4 kommentarer og
1 løsning

Login script fejlmeddelelse

Hej alle.

Jeg skal have kodet sådan, at når man trykker login uden at skrive noget, eller skriver noget forkert, så skal den komme med en fejlmeddelelse. Det har jeg faktisk fået lavet, men problemet er at mit script består af 2 filer. main_login.php og checklogin.php

Og da min fejlmeddelelse står i checklogin.php - så går den hen til den side alene uden resten af min side, når der er sket en fejl. Og det skal den jo ikke.

I kan kigge på twimb.dk/pressrest/

Og koden er her:

main_login.php


<form name="form1" method="post" action="login/checklogin.php">
Brugernavn:<br />
<input name="brugernavn" type="text" id="brugernavn"><br />
Adgangskode:<br />
<input name="password" type="password" id="password"><br />
<input type="submit" name="Submit" value="Login" style="background-color:#fff;"><br />

</form>

og checklogin.php


<?php

session_start();

include('connect_login.php');

$brugernavn= mysql_real_escape_string($_POST['brugernavn']); // mysql_real_escape_string er som regel fint, når du ikke skal indsætte i databasen, men blot hente
$password= md5($_POST['password']); // ingen grund til at 'rense' en MD5 hashet streng, da strengen alligevel ikke kommer til at indeholde noget snavs

$sql= "SELECT * FROM $tbl_name WHERE brugernavn='$brugernavn' and password='$password'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);
if($count==1)
{
    $_SESSION['loggedIn'] = true;
    $_SESSION['brugerID'] = $brugernavn;
    header("Location: /pressrest/index.php");
}
else
{
    echo "Der er sket en fejl. <br>
          <a href='#'>Har du glemt din adgangskode?</a> <br>
          <a href='login/opret.php'>Eller er du endnu ikke oprettet som bruger?</a>";
    include("main_login.php");
}

?>
Avatar billede wanze Nybegynder
15. maj 2011 - 17:22 #1
Du kunne enten slå filerne sammen, så dit logintjek foregår i index.php. En anden løsning er, at hvis loginoplysningerne er forkerte, så laver du et redirect tilbage til index.php, men med information om, at der er opstået en fejl: header("Location: /pressrest/?loginerror");. I index.php kontrollerer du så om $_GET['loginerror'] er sat, og i så fald udskriver en fejl.
Avatar billede LilleUdvikler Nybegynder
15. maj 2011 - 17:25 #2
Hej wanze.

Jeg har godt set det med GET funktionen osv. Men jeg er ikke klar over hvordan jeg gør det. Kan du give et eksempel på, hvordan det kunne gøres? :o)
Avatar billede wanze Nybegynder
15. maj 2011 - 18:01 #3
else-delen i din checklogin.php erstatter du med header("Location: /pressrest/?loginerror");.

I din index.php (eller main_login.php, hvis denne er inkluderet i din index.php) indsætter du følgende:

if (isset($_GET['loginerror']))
{
    echo "Der er sket en fejl. <br>
          <a href='#'>Har du glemt din adgangskode?</a> <br>
          <a href='login/opret.php'>Eller er du endnu ikke oprettet som bruger?</a>";
    include("main_login.php");
}
Avatar billede LilleUdvikler Nybegynder
15. maj 2011 - 19:25 #4
Tak for hjælpen.

Kan du ikke smide et svar? :)
Avatar billede wanze Nybegynder
15. maj 2011 - 19:32 #5
Svar :)
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