Avatar billede Slettet bruger
25. april 2007 - 21:19 Der er 3 kommentarer

Login find fejlen

har det her login script min den kommer med en fejl

Parse error: parse error, unexpected $ in /home/domains/antimobning.dk/web/tjeklogin.php on line 31



har kigget scriptet igennem 100 gange og kan simpelthen ikke finde ud af hvad den gør galt


<?php
session_start();

mysql_connect("localhost", "antimob", "#");
mysql_select_db("antimob");


if ($_POST['user'] == "" & $_POST['password'] == ""){
    header('location: userlogin.php?msg=Du har glemt at skrive brugernavn eller kodeord');
}
else {
$result = mysql_query("SELECT * FROM members WHERE user = '".$_POST['user']."'");
    if($_POST['user'] == ""){
        header('location: userlogin.php?msg=Brugeren findes ikke');
        }
   
    elseif ($_POST['password'] == $result['password']){
        $_SESSION['userid'] = $result['id'];
            if($_POST['remember'] == "ja"){
                setcookie("user", $_POST['user'], time()+3600000000000000000000000);
                setcookie("password", $_POST['password'], time()+3600000000000000000000000);
                header('location: index.php?msg=Du er logget ind og der er sat nogle cookies til at huske dit kodeord');
            }
            else {
                header('location: index.php?msg=Du er nu logget ind');
            }
    }
    else {
        header('location: userlogin.php?msg=Kodeordet er forkert');
    }
?>
Avatar billede jakobdo Ekspert
25. april 2007 - 21:50 #1
Du mangler en } til allersidst!
Og en god ide er at bruge exit(); efter en header()

Test denne kode:

<?php
session_start();

mysql_connect("localhost", "antimob", "#");
mysql_select_db("antimob");


if ($_POST['user'] == "" & $_POST['password'] == "")
{
    header('location: userlogin.php?msg=Du har glemt at skrive brugernavn eller kodeord');
    exit();
}
else
{
    $result = mysql_query("SELECT * FROM members WHERE user = '".$_POST['user']."'");
    if($_POST['user'] == "")
    {
        header('location: userlogin.php?msg=Brugeren findes ikke');
        exit();
    }
    elseif ($_POST['password'] == $result['password'])
    {
        $_SESSION['userid'] = $result['id'];
        if($_POST['remember'] == "ja")
        {
            setcookie("user", $_POST['user'], time()+3600000000000000000000000);
            setcookie("password", $_POST['password'], time()+3600000000000000000000000);
            header('location: index.php?msg=Du er logget ind og der er sat nogle cookies til at huske dit kodeord');
            exit();
        }
        else
        {
            header('location: index.php?msg=Du er nu logget ind');
            exit();
        }
    }
    else
    {
        header('location: userlogin.php?msg=Kodeordet er forkert');
        exit();
    }
}
?>
Avatar billede Slettet bruger
25. april 2007 - 22:21 #2
nice den laver ikke fejl mere

men den skriver kodeordet er forkert hele tiden??
Avatar billede jakobdo Ekspert
25. april 2007 - 22:26 #3
Jeg tror jeg ville lave din kode sådan her:

<?php
session_start();

mysql_connect("localhost", "antimob", "#");
mysql_select_db("antimob");

if(!empty($_POST['user']) && !empty($_POST['password']))
{
    $user = mysql_real_escape_string($_POST['user']);
    $password = mysql_real_escape_string($_POST['password']);
   
    $result = mysql_query("SELECT * FROM members WHERE user = '".$user."' AND password = '".$password."' LIMIt 1");
    if(mysql_num_rows($result)==0)
    {
        header('location: index.php?msg=Du er nu logget ind');
        exit();
    }
    else
    {
        $_SESSION['userid'] = $result['id'];
        if($_POST['remember'] == "ja")
        {
            setcookie("user", $_POST['user'], time()+3600000000000000000000000);
            setcookie("password", $_POST['password'], time()+3600000000000000000000000);
            header('location: index.php?msg=Du er logget ind og der er sat nogle cookies til at huske dit kodeord');
            exit();
        }
        else
        {
            header('location: index.php?msg=Du er nu logget ind');
            exit();
        }
    }
}
else
{
    header('location: userlogin.php?msg=Du har glemt at skrive brugernavn eller kodeord');
    exit();
}
?>
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