docas Posted June 1, 2006 at 06:36 PM Report #30622 Posted June 1, 2006 at 06:36 PM Boas malta Estou a criar um site em PHP onde existe uma área de registo e depois uma área para fazer login. Se o utilizador introduzir o username e password correctos vai para uma página onde estão todos os usernames dos utilizadores online. Existe um link para fazer logout e se isso acontecer o utilizador é retirado daquela página, mas nem toda a gente carrega nos links de Logout. A maior parte das pessoas fecham logo o browser. Na BD MySQL existe uma tabela de utilizadores e uma coluna com o nome de 'Online' e se o utilizador fizer login correctamente o valor da coluna 'Online' passa para 'True'. O que eu cria era um script que identifica-se quem fechou a conexão ao servidor para puder retirar o username da lista. Eu utilizo sessoes e penso que esse era o melhor método para retirar o user da lista, mas não encontro nada que me possa ajudar... Aqui vai o codigo fonte: LOGIN.PHP <?php /*--------------------------------------MySQL--------------------------------------------- -----------------------------------------------------------------------------------------*/ $servidor_sql = "localhost"; $user_sql = "user"; $pass_sql = "pass"; mysql_connect($servidor_sql,$user_sql,$pass_sql); mysql_select_db("users"); /*----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------*/ $login_user = $_POST["usernameL"]; $login_pass = $_POST["passwordL"]; if ($login_user == "" || $login_pass == "") { echo "<div align='center'><br>Para fazer login é necessário inserir o utilizador e a password.</div>"; } else { /*-------------------------Verificação do Username e da Password--------------------------- -----------------------------------------------------------------------------------------*/ $sql_user = "SELECT Username FROM utilizadores WHERE Username='$login_user'"; $sql_pass = "SELECT Password FROM utilizadores WHERE Password='$login_pass'"; $query_user = mysql_query($sql_user); $query_pass = mysql_query($sql_pass); $verificar_user = mysql_fetch_object($query_user); $verificar_pass = mysql_fetch_object($query_pass); if ($verificar_user == "" || $verificar_pass == "") { echo "<br><div align='center'>Utilizador ou password errados.</div>"; } else { session_start(); $_SESSION['user'] = $login_user; $_SESSION['pass'] = $login_pass; mysql_query("UPDATE utilizadores SET Online = 'True' WHERE Username = '$login_user'"); header("Location: usersonline.php"); } } /*----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------*/ ?> USERSONLINE.PHP <?php session_start(); /*--------------------------------------MySQL--------------------------------------------- -----------------------------------------------------------------------------------------*/ $servidor_sql = "localhost"; $user_sql = "user"; $pass_sql = "pass"; $con_mysql = mysql_connect($servidor_sql,$user_sql,$pass_sql); mysql_select_db("users"); /*----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------*/ $sql_online = "SELECT Online FROM utilizadores"; $sql_user = "SELECT Username FROM utilizadores"; $query_online = mysql_query($sql_online); $query_user = mysql_query($sql_user); $num = 0; while ($num < mysql_numrows($query_user)) { $ok_online = mysql_result($query_online,$num,"Online"); $ok_user = mysql_result($query_user,$num,"Username"); if ($ok_online == "True") echo $ok_user."<br>"; $num++; } ?>
Sn][pErSouL Posted June 2, 2006 at 07:33 PM Report #30746 Posted June 2, 2006 at 07:33 PM boas!eu por acaso tenho um projecto pa apresentar daki a uns tempos e gostava de por login e registo...mas o meu stor tmb n ajuda mt!,se podesses ajudar.....ja vi k aki ja ta alguma koisa por onde possa pegar!...na percebo kuase nd de php....pois axo k nem a 1 mes tou a dar php e na foi nd de jeito..e isto n se aprende do dia pa noite:S enfim.....se poderes dar umas dicas ou isso....agradecia =) tnks man =)=)
docas Posted June 2, 2006 at 08:03 PM Author Report #30751 Posted June 2, 2006 at 08:03 PM Bem eu não te vou puder dar agora grandes explicações sobre PHP, porque isso até tens de ser tu a ter iniciativa de aprender, mas posso-te aconselhar artigos e bons tutorials para leres e depois tirares as tuas dúvidas. Um dos melhores sites para aprender linguagens de programação "online" é www.w3schools.com. Na minha opinião é dos melhores sites que existem para os que estão a começar com linguagens web. Tens de perceber um pouco de inglês mas os bons tutorials estão todos em inglês, por isso vai-te preparando... http://www.w3schools.com/php/default.asp - O básico de PHP (também tens aqui um pouco de MySQL) http://www.w3schools.com/sql/default.asp - MySQL http://www.phpfreaks.com/tutorials/41/0.php - Sessions http://www.php.net/ - Se tiveres dúvidas quanto a alguma function podes procurar mais informações aqui Procura também pelo fórum. Tem por aí muita coisa... Fica bem
francodacosta Posted June 2, 2006 at 08:25 PM Report #30755 Posted June 2, 2006 at 08:25 PM Uma sugestão era em vez de online=true ser online=microtime() basicamente a ideia é guardar a data e hora do ultimo acesso, e para saberes quem esta on-line vez por exemplo os utilizadores que o ultimo acesso foi a menos de 5 minutos. obviamente que terias que actualizar a bd em cada página
deathseeker25 Posted June 4, 2006 at 12:18 AM Report #30960 Posted June 4, 2006 at 12:18 AM Boa explicação. Implementei com sucesso num projecto pessoal 😛
kingless Posted June 4, 2006 at 02:41 AM Report #30970 Posted June 4, 2006 at 02:41 AM Estou com um bocado de pressa por isso não consegui ler todo post... continuando... O mês passado eu criei um script de login muito bom mesmo, como vi que queres algo haver com login e registro acho podes tirar algumas ideias do codigo do meu script... CLIQUE AQUI! Cumps
saramgsilva Posted June 4, 2006 at 03:17 PM Report #31046 Posted June 4, 2006 at 03:17 PM Estou com um bocado de pressa por isso não consegui ler todo post... continuando... O mês passado eu criei um script de login muito bom mesmo, como vi que queres algo haver com login e registro acho podes tirar algumas ideias do codigo do meu script... CLIQUE AQUI! Cumps posta aki no forum.... e indenta...pois não é facil ler o que esta lá... 😛 www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
kingless Posted June 4, 2006 at 06:25 PM Report #31078 Posted June 4, 2006 at 06:25 PM Tentei postar aqui no forúm, mas é muito grande 😛 Só não consigo entender como é que uns conseguem ler e outros não.
saramgsilva Posted June 4, 2006 at 06:43 PM Report #31089 Posted June 4, 2006 at 06:43 PM Tentei postar aqui no forúm, mas é muito grande 😛 Só não consigo entender como é que uns conseguem ler e outros não. coloca os ficheiros em anexo.... :dontgetit: www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
pedrotuga Posted June 5, 2006 at 12:18 AM Report #31219 Posted June 5, 2006 at 12:18 AM Epa... gostava de poder ajudar mas nunca fiz isso... mas estou certo que há tutoriais a dizer como se faz isso. Só duas ou tres pequenas coisas: 1.aconselho o uso da função md5() para guardar a pssa na bd. 2.Podes fazer só um pedido à bd em vez de dois e usar o mysql_fetch_array 3.A ligação à base da dados está assim um pouco a martelo Usa uma proteção deste tipo: <?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = 'password'; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); $dbname = 'petstore'; mysql_select_db($dbname); ?>
kingless Posted June 5, 2006 at 03:14 AM Report #31225 Posted June 5, 2006 at 03:14 AM Tentei postar aqui no forúm, mas é muito grande 😁 Só não consigo entender como é que uns conseguem ler e outros não. coloca os ficheiros em anexo.... :dontgetit: Porquê que tenho que colocar aqui o codigo se podem ver ali ? Vê o codigo ali quem quiser quem não quiser problema seu.
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