Avatar billede fzone Nybegynder
20. august 2004 - 21:36 Der er 3 kommentarer og
1 løsning

PHP skal kontrollere om et brugernavn findes i en database

Hej (igen)

Jeg har prøvet at lave et stykke kode, der skal kontrollere om brugernavnet findes i en database, men jeg får en fejlmeddelelse når jeg kører det. Koden ser sådan ud:

//Kontroller om brugernavn findes og udfør loginproces i så tilfælde
$resultatset=mysql_query('SELECT user FROM 1y_brugere WHERE user=\''.mysql_escape_string($user).'\' LIMIT 1');
if(mysql_num_rows($resultatset)) {
    list($user_fra_database)=mysql_fetch_row($resultatset);
    $pass_from_db = mysql_result(mysql_query("SELECT pass FROM 1y_brugere WHERE user='$user'"),0) or die(mysql_error());
    if ($pass_from_db == $pass) {
        $_SESSION['bruger'] = $user;
        print "Du er nu logget ind!<br>";
        print "<a href=\"index.php\">Klik her for at komme tilbage til forsiden</a>";
    } else {
        print "Dit password er forkert!";
        print "<br><a href=\"login.php\">Prøv igen</a>";
    };
} else {
    print "Du har skrevet forkert brugernavn!";
    print "<br><a href=\"login.php\">Prøv igen</a>";
    exit;
};

der står at fejlen er et uventet '$' på linje 42, men da linje 42 kun indeholder '?>' er det jo nok et andet sted.
Nogle der kan bistå med hjælp?
Avatar billede Slettet bruger
20. august 2004 - 21:51 #1
Nu er der jo ikke 42 linier her, og jeg ser ingen fejl i den kode du viser. Kom med noget mere...
Avatar billede fzone Nybegynder
20. august 2004 - 21:56 #2
her er hele koden:

<?
//File: login.php :: Info: Login form
session_start();
//Include LogInfo
include('loginfo.php');

//Get values from form
$user = $_REQUEST['user'];
$pass = $_REQUEST['pass'];

//Connect to MySQL db
$db = mysql_connect('$mysql_host', '$mysql_user', '$mysql_pass') or die(mysql_error());
mysql_select_db('$mysql_db', $db) or die(mysql_error());

//Check if form is filled and if, check user in db
if (!$user && !$pass) {
    include('login_form.php');
} elseif (!$user && $pass || $user && !$pass) {
    print "Du skal skrive både brugernavn og password";
    print "<br><a href=\"login.php\">Prøv igen</a>";
} else {
$pass = md5($pass);
//Kontroller om brugernavn findes og udfør loginproces i så tilfælde
$resultatset=mysql_query('SELECT user FROM 1y_brugere WHERE user=\''.mysql_escape_string($user).'\' LIMIT 1');
if(mysql_num_rows($resultatset)) {
    list($user_fra_database)=mysql_fetch_row($resultatset);
    $pass_from_db = mysql_result(mysql_query("SELECT pass FROM 1y_brugere WHERE user='$user'"),0) or die(mysql_error());
    if ($pass_from_db == $pass) {
        $_SESSION['bruger'] = $user;
        print "Du er nu logget ind!<br>";
        print "<a href=\"index.php\">Klik her for at komme tilbage til forsiden</a>";
    } else {
        print "Dit password er forkert!";
        print "<br><a href=\"login.php\">Prøv igen</a>";
    };
} else {
    print "Du har skrevet forkert brugernavn!";
    print "<br><a href=\"login.php\">Prøv igen</a>";
    exit;
};
?>
Avatar billede Slettet bruger
20. august 2004 - 22:07 #3
Smid et } ind lige inden ?>
Avatar billede fzone Nybegynder
28. august 2004 - 22:38 #4
gg
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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