Her kan du få hjælp og stille spørgsmål til PHP!
-
Mathias - Nørd

- Indlæg:145
- Tilmeldt:5. apr 2012, 18:21
-
Kontakt:
Fejl i login.php
Indlæg
af Mathias » 26. nov 2012, 13:07
Hej jeg har en fejl i login.php kan ikke se hvad det er
Kode: Vælg alt
<?php
include 'int.php';
if(empty($_POST) === false) {
$username = $_POST['username'];
$password = $_POST['password'];
if(empty($username) === true || empty($password) === true) {
$errors[] = 'Du mangler at skrive dit kodeord og brugernavn';
} else if (user_exists($username) === false) {
$errors[] = 'Vi kan ikke finde dit brugernavn i vores database, er du registreret?.';
} else if (user_active($username) === false) {
$errors[] = 'Du har ikke aktiveret din bruger';
}
print_r($errors);
}
?>
Den siger det er på line 13.
Fejlen som den siger er : Fatal error: Call to undefined function user_active() in C:\xampp\htdocs\website\login.php on line 13
-
Daniel
- Admin

- Indlæg:625
- Tilmeldt:14. jun 2011, 09:27
- Geografisk sted:Danmark, Fyn, Nørre Aaby
-
Kontakt:
Indlæg
af Daniel » 26. nov 2012, 13:15
Hehe, en der har kigget lidt ind ved phpacademy.org
Men hvordan ser din user_active funktion ud?

-
Mathias - Nørd

- Indlæg:145
- Tilmeldt:5. apr 2012, 18:21
-
Kontakt:
Indlæg
af Mathias » 26. nov 2012, 13:36
Ja

, og ny fejl igen bare i users.php
Kode: Vælg alt
<?php
function user_exists($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'"), 0) == 1) ? true : false;
}
function user_active($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username' AND `active` = '1'"), 0) == 1) ? true : false;
}
function user_id_from_username() {
$username = sanitize($username);
return mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `username` = '$username'"), 0, 'user_id');
}
function login($username, $password) {
$user_id = user_id_from_username($username);
$username = sanitize($username);
$password = md5($password);
return (mysql_result(mysql_query("SELECT COUNT (`user_id`) FROM `users` WHERE `username` = '$username' AND `password` = `$password`"), 0) == 1) ? $user_id : false;
}
?>
Har ingen anelse hvad den fejl kan være.
-
Daniel
- Admin

- Indlæg:625
- Tilmeldt:14. jun 2011, 09:27
- Geografisk sted:Danmark, Fyn, Nørre Aaby
-
Kontakt:
Indlæg
af Daniel » 26. nov 2012, 22:31
Prøv at rette user_active funktionen til dette:
Kode: Vælg alt
function user_active($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username' AND `active` = 1"), 0) == 1) ? true : false;
}
Du havde puttet ' ' rundt om 1 tallet i slutningen a mysql_query funktionen.
