Fejl i login.php

Her kan du få hjælp og stille spørgsmål til PHP!
Besvar
Mathias
Nørd
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

Brugeravatar
Daniel
Admin
Admin
Indlæg:625
Tilmeldt:14. jun 2011, 09:27
Geografisk sted:Danmark, Fyn, Nørre Aaby
Kontakt:

Re: Fejl i login.php

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
Nørd
Indlæg:145
Tilmeldt:5. apr 2012, 18:21
Kontakt:

Re: Fejl i login.php

Indlæg af Mathias » 26. nov 2012, 13:36

Ja :D, 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.

Brugeravatar
Daniel
Admin
Admin
Indlæg:625
Tilmeldt:14. jun 2011, 09:27
Geografisk sted:Danmark, Fyn, Nørre Aaby
Kontakt:

Re: Fejl i login.php

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. :)

Besvar