Rafael Almeida Posted June 24, 2012 at 02:20 PM Report Share #465211 Posted June 24, 2012 at 02:20 PM (edited) Boa tarde. Estou a fazer um programa em que até ao momento, preciso de que esteja tudo a funcionar bem pelo log in. Descobri estes códigos pela net e até agora preciso que uma função de higienizar utilizadores faça parte do programa. O problema é que de onde descobri este código, a variável ($data) que é mencionada na função de higienizar utilizadores, não está a atribuir a nada, e o meu programa dá erro por causa disso. Todos os meus ficheiros deste programa estão ligados por includes e requires, mas vou mostrar os códigos mais importantes: -------------------------------------------------------------------------------------------------------------- Funções de Utilizadores (users.php): <?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 login($username, $password){ return(mysql_result(mysql_query("select * from users where username='$username' and password='$password'"), 0) == 1) ? $user_id : false; } ?> -------------------------------------------------------------------------------------------------------------- Login: <?php include 'core/init.php'; if(empty($_POST) === false){ $username=$_POST['username']; $password=$_POST['password']; if(empty($username) === true || empty($password) === true) { $errors[] = 'You need to enter a username and a password'; }else if (user_exists($username) === false) { $errors[] = 'We can\'t find that username. Have you registered?'; }else if (user_active($username) === false) { $errors[] = 'You Haven\'t activate your account.'; }else{ } } print_r($errors); } ?> -------------------------------------------------------------------------------------------------------------- General: <?php funciton sanitize($data){ return mysql_real_escape_string($data); } ---------- Alguém sabe a que posso atribuir a variável $data? Obrigado pela resposta. Edited June 24, 2012 at 06:17 PM by yoda Link to comment Share on other sites More sharing options...
yoda Posted June 24, 2012 at 06:18 PM Report Share #465244 Posted June 24, 2012 at 06:18 PM Por favor, copia o código devidamente formatado com a tag code. O código que tens tem umas tags com cores que não aparecem nem fazem sentido. before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
tiagotavares Posted June 24, 2012 at 06:57 PM Report Share #465250 Posted June 24, 2012 at 06:57 PM Boas, A função sanitize a unica coisa que faz é um "escape" às variaveis antes de as usar em pedidos à base de dados mais info AQUI Deves de o fazer sempre para prevenir SQL injection A function exists_user vê se existe na base de dados um utilizador com aqui username se existir retorna 1 senão retorna 0 o mesmo para exist password Penso que foi isto que perguntaste Espero ter ajudado Tiago Tavares Link to comment Share on other sites More sharing options...
Rafael Almeida Posted June 27, 2012 at 09:19 AM Author Report Share #465847 Posted June 27, 2012 at 09:19 AM ja descobri o erro. foi apenas um erro de escrita no function sanitize. obrigado, na mesma. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now