Bom, é o seguinte...
Tenho um cód. em php que lista todos os arquivos e pastas de um diretório e coloca cada um deles em um box quadradinho e tal e faz o link dele para ser baixado tbm...
Porém me deparei com um problema, a cada mês coloco um arquivo pelo menos em cada pasta dessas listadas, o cód. ordena do mais recente ao mais antigo upload, até aí blz... mas depois de um certo número de arquivos fica ruim a vizualização, gostaria de adicionar uma paginação a cada 12 arquivos na pasta, para não ficar poluido e lento para os usuários que acessarão as pastas...
Segue abaixo o atual código:
[codebox]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>:: Seu Condomínio Online :: Solução Administradora de Condomínio Ltda.:</title>
<style type="text/css">
<!--
body{
margin:0;
padding:0px 0 0px 0;
text-align:center; /* hack para o IE centralizar a pagina */
}
#global{
margin:0 auto;
text-align:left; /* hack para IE centralizar a pagina */
width:800px;
background:#fff;
border:1px solid black;
}
h1, h2{
font: 130% Arial, Helvetica, sans-serif;
font-weight:normal;
margin:10px;
text-align:center;
border-bottom:1px solid #ccc;
}
#sup {
width: 800px;
height: 26px;
background: #000080;
margin: 0;
font: 80%/26px Tahoma, Verdana, Arial, Sans-Serif;
}
#sup ul{
margin: 0;
padding: 0 0 0 10px;
}
#sup ul li {
float: left;
list-style: none;
border-right:1px solid #fff;
}
#sup ul li a {
display: block;
text-decoration: none;
padding: 0 6px;
background: inherit;
color: #FFF;
}
#sup ul li a:hover {
background: #000080;
color: #333;
}
#sup ul li#current a {
border-left:1px solid #fff;
}
#menu{
clear:both;
}
#menu ul{
list-style:none;
margin:0;
padding:0;
border-left:1px solid #ccc;
}
#menu li{
padding:1px;
display:block;
margin:0;
}
#menu ul li a{
padding:2px 2px 2px 10px ;
background:#fff;
list-style:none;
display:block;
text-decoration:none;
color: #069;
border-bottom:1px solid #ccc;
font:75%/24px Arial, Helvetica, sans-serif;
height:100%;
}
#menu ul li a:hover{
background:#E9F7FA;
display:block;
}
strong{
color:#000;
}
-->
</style>
</head>
<body oncontextmenu="return false">
<div align="left">
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="table6">
<tr>
<td>
<p align="center" style="margin-top: 0; margin-bottom: 0"></td>
</tr>
</table>
</div>
<p style="margin-top: 0; margin-bottom: 0">
<IFRAME name=I2 src=http://www.solucaoadm.com/status2.php frameBorder=0 width="100%" height=107 scrolling=no marginwidth="1" marginheight="1" align="middle"></IFRAME>
</p>
<p style="margin-top: 0; margin-bottom: 0">
<IFRAME name=I3 src=menu_cond_online.php frameBorder=0 width="100%" height=26 scrolling=no marginwidth="1" marginheight="1" align="middle"></IFRAME>
</p>
<p style="margin-top: 0; margin-bottom: 0"> </p>
<p style="margin-top: 0; margin-bottom: 0"> </p>
<p style="margin-top: 0; margin-bottom: 0"> </p>
<div id=global>
<h1 style="margin: 0">Seu Condomínio Online</h1>
<h2 style="margin: 0">Área Restrita do Condômino</h2>
<div id=sup>
<ul>
<li>
<p style="margin-top: 0; margin-bottom: 0"><a href="../">Retornar
ao Diretório Principal</a></li>
</ul>
</div>
<div id="menu">
<ul>
<?php
// pega o endereço do diretório
$diretorio = getcwd();
// abre o diretório
$ponteiro = opendir($diretorio);
// monta os vetores com os itens encontrados na pasta
while ($nome_itens = readdir($ponteiro)) {
$itens[] = $nome_itens;
}
//O que fizemos aqui, foi justamente, pegar o diretório, abri-lo e lê-lo.
//Continuando, vamos usar:
//sort: ordena os vetores (arrays), de acordo com os parâmetros informados. Aqui estou ordenando por pastas e depois arquivos
// ordena o vetor de itens
sort($itens);
// percorre o vetor para fazer a separacao entre arquivos e pastas
foreach ($itens as $listar) {
// retira "./" e "../" para que retorne apenas pastas e arquivos
if ($listar!="." && $listar!=".."){
// checa se o tipo de arquivo encontrado é uma pasta
if (is_dir($listar)) {
// caso VERDADEIRO adiciona o item à variável de pastas
$pastas[]=$listar;
} else{
// caso FALSO adiciona o item à variável de arquivos
$arquivos[]=$listar;
}
}
}
//Vimos acima, a expressão is_dir, indicando que as ações devem esntão ser executadas, ali mesmo, no diretório que já //foi aberto e lido. As ações que executamos ali, foram: ver se tem pastas, listar. Ver se tem arquivos, listar.
//Agora, se houverem pastas, serão apresentadas antes dos arquivos, em odem alfabética.
//Se não houverem, serão apresentados apenas os arquivos, na mesma ordem.
//E se houverem os dois, serão mostrados igualmente.
// lista as pastas se houverem
if ($pastas != "" ) {
foreach($pastas as $listar){
$pastas = $listar;
echo "<li><a href='$listar'><strong>Pasta: </strong>$listar</a></li>" ;
}
}
// lista os arquivos se houverem
if ($arquivos != "") {
foreach($arquivos as $listar){
$sModified=date("Y/m/d H:i:s",filectime($listar));
$aContent[$sModified]=$listar;
}
krsort($aContent,SORT_STRING);
foreach($aContent as $sModified=>$listar){
$arquivos = $listar;
$tamanho = "";
if ( (filesize($arquivos) > 1024)&&(filesize($arquivos) < (1024 * 1000)) ) // KBYTE
$tamanho = number_format((filesize($arquivos) / 1024),2)." Kb";
elseif(filesize($arquivos) > (1024 * 1000)) //MBYTE
$tamanho = number_format((filesize($arquivos) / (1024 * 1024)),2)." Mb";
else $tamanho = number_format(filesize($arquivos),2)." bytes";
if($arquivos == 'index.php' || $arquivos == 'index2.php' || $arquivos == 'sindico.php' || $arquivos == 'error_log' || $arquivos == 'menu_cond_online.php' || $arquivos == 'functions.php' || $arquivos == 'formulario_login.php' || $arquivos == 'upload.php' || $arquivos == 'up.php')
echo "";
else
echo "<li><a href='$listar'><strong>Arquivo:</strong> $listar -- ", "Upload em: " . date ("d/M/Y \à\s H:i - ", filemtime( $arquivos)) , "Tamanho: ",$tamanho."</li> </a> ";
}
}
?>
</ul>
</div>
</div>
<p style="margin-top: 0; margin-bottom: 0">
<IFRAME name=PDF Sites src=http://www.solucaoadm.com/pdf.php frameBorder=0 width="100%" height=170 scrolling=no></IFRAME></p>
<p style="margin-top: 0; margin-bottom: 0">
</p>
<p style="margin-top: 0; margin-bottom: 0">
<IFRAME name=I1 src=http://www.solucaoadm.com/rodape.php frameBorder=0 width="100%" height=30 scrolling=no marginwidth="1" marginheight="1" align="middle"></IFRAME>
</p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-6208219-1");
pageTracker._trackPageview();
</script>
</body>
</html>[/codebox]
Coloquei no código inclusive a parte do box, em html, por causa do efeito visual e tal que a paginação terá q ter!
Agradeço desde já quem me der uma luz )
[]'s à todos.
- Fórum WMO
- → Viewing Profile: Tópicos: Ricardo KaNu
Community Stats
- Group Usuários
- Active Posts 13
- Profile Views 1414
- Member Title Novato no fórum
- Age Age Unknown
- Birthday Birthday Unknown
-
Sexo
Not Telling
0
Neutral
User Tools
Topics I've Started
Como Fazer A Paginação De Uma Listagem De Diretório?
22/06/2009, 17:54
Fazer Diretório Listar Arquivos Por Data De Upload Mais Recente
13/05/2009, 15:14
Olá =D
Estou com um probleminha, peguei um script que lista todos os arquivos do meu diretório, até aí beleza, funciona 100%, porém gostaria que o mesmo ordenasse os arquivos por data que foi enviado ao servidor, ou seja, por upload, quanto mais recente for o upload mais em cima o arquivo fica!
Mas atualmente ele está ordenando por ordem alfabética e isso fica meio ruim pro sistema que quero utilizar... então se alguém souber como fazer isso agradeço muito!
Segue abaixo o código:
[codebox]<?php
// pega o endereço do diretório
$diretorio = getcwd();
// abre o diretório
$ponteiro = opendir($diretorio);
// monta os vetores com os itens encontrados na pasta
while ($nome_itens = readdir($ponteiro)) {
$itens[] = $nome_itens;
}
//O que fizemos aqui, foi justamente, pegar o diretório, abri-lo e lê-lo.
//Continuando, vamos usar:
//sort: ordena os vetores (arrays), de acordo com os parâmetros informados. Aqui estou ordenando por pastas e depois arquivos
// ordena o vetor de itens
sort($itens);
// percorre o vetor para fazer a separacao entre arquivos e pastas
foreach ($itens as $listar) {
// retira "./" e "../" para que retorne apenas pastas e arquivos
if ($listar!="." && $listar!=".."){
// checa se o tipo de arquivo encontrado é uma pasta
if (is_dir($listar)) {
// caso VERDADEIRO adiciona o item à variável de pastas
$pastas[]=$listar;
} else{
// caso FALSO adiciona o item à variável de arquivos
$arquivos[]=$listar;
}
}
}
//Vimos acima, a expressão is_dir, indicando que as ações devem esntão ser executadas, ali mesmo, no diretório que já //foi aberto e lido. As ações que executamos ali, foram: ver se tem pastas, listar. Ver se tem arquivos, listar.
//Agora, se houverem pastas, serão apresentadas antes dos arquivos, em odem alfabética.
//Se não houverem, serão apresentados apenas os arquivos, na mesma ordem.
//E se houverem os dois, serão mostrados igualmente.
// lista as pastas se houverem
if ($pastas != "" ) {
foreach($pastas as $listar){
$pastas = $listar;
echo "<li><a href='$listar'><strong>Pasta: </strong>$listar</a></li>" ;
}
}
// lista os arquivos se houverem
if ($arquivos != "") {
foreach($arquivos as $listar){
$arquivos = $listar;
$tamanho = "";
if ( (filesize($arquivos) > 1024)&&(filesize($arquivos) < (1024 * 1000)) ) // KBYTE
$tamanho = number_format((filesize($arquivos) / 1024),2)." Kb";
elseif(filesize($arquivos) > (1024 * 1000)) //MBYTE
$tamanho = number_format((filesize($arquivos) / (1024 * 1024)),2)." Mb";
else $tamanho = number_format(filesize($arquivos),2)." bytes";
if($arquivos == 'index.php' || $arquivos == 'error_log' || $arquivos == 'menu_cond_online.php' || $arquivos == 'functions.php' || $arquivos == 'formulario_login.php')
echo "";
else
echo "<li><a href='$listar'><strong>Arquivo:</strong> $listar -- ", "Upload em: " . date ("d/M/Y \à\s H:i - ", filemtime( $arquivos)) , "Tamanho: ",$tamanho."</li> </a> ";
}
}
?>[/codebox]
Grato desde já
[]'s
Estou com um probleminha, peguei um script que lista todos os arquivos do meu diretório, até aí beleza, funciona 100%, porém gostaria que o mesmo ordenasse os arquivos por data que foi enviado ao servidor, ou seja, por upload, quanto mais recente for o upload mais em cima o arquivo fica!
Mas atualmente ele está ordenando por ordem alfabética e isso fica meio ruim pro sistema que quero utilizar... então se alguém souber como fazer isso agradeço muito!
Segue abaixo o código:
[codebox]<?php
// pega o endereço do diretório
$diretorio = getcwd();
// abre o diretório
$ponteiro = opendir($diretorio);
// monta os vetores com os itens encontrados na pasta
while ($nome_itens = readdir($ponteiro)) {
$itens[] = $nome_itens;
}
//O que fizemos aqui, foi justamente, pegar o diretório, abri-lo e lê-lo.
//Continuando, vamos usar:
//sort: ordena os vetores (arrays), de acordo com os parâmetros informados. Aqui estou ordenando por pastas e depois arquivos
// ordena o vetor de itens
sort($itens);
// percorre o vetor para fazer a separacao entre arquivos e pastas
foreach ($itens as $listar) {
// retira "./" e "../" para que retorne apenas pastas e arquivos
if ($listar!="." && $listar!=".."){
// checa se o tipo de arquivo encontrado é uma pasta
if (is_dir($listar)) {
// caso VERDADEIRO adiciona o item à variável de pastas
$pastas[]=$listar;
} else{
// caso FALSO adiciona o item à variável de arquivos
$arquivos[]=$listar;
}
}
}
//Vimos acima, a expressão is_dir, indicando que as ações devem esntão ser executadas, ali mesmo, no diretório que já //foi aberto e lido. As ações que executamos ali, foram: ver se tem pastas, listar. Ver se tem arquivos, listar.
//Agora, se houverem pastas, serão apresentadas antes dos arquivos, em odem alfabética.
//Se não houverem, serão apresentados apenas os arquivos, na mesma ordem.
//E se houverem os dois, serão mostrados igualmente.
// lista as pastas se houverem
if ($pastas != "" ) {
foreach($pastas as $listar){
$pastas = $listar;
echo "<li><a href='$listar'><strong>Pasta: </strong>$listar</a></li>" ;
}
}
// lista os arquivos se houverem
if ($arquivos != "") {
foreach($arquivos as $listar){
$arquivos = $listar;
$tamanho = "";
if ( (filesize($arquivos) > 1024)&&(filesize($arquivos) < (1024 * 1000)) ) // KBYTE
$tamanho = number_format((filesize($arquivos) / 1024),2)." Kb";
elseif(filesize($arquivos) > (1024 * 1000)) //MBYTE
$tamanho = number_format((filesize($arquivos) / (1024 * 1024)),2)." Mb";
else $tamanho = number_format(filesize($arquivos),2)." bytes";
if($arquivos == 'index.php' || $arquivos == 'error_log' || $arquivos == 'menu_cond_online.php' || $arquivos == 'functions.php' || $arquivos == 'formulario_login.php')
echo "";
else
echo "<li><a href='$listar'><strong>Arquivo:</strong> $listar -- ", "Upload em: " . date ("d/M/Y \à\s H:i - ", filemtime( $arquivos)) , "Tamanho: ",$tamanho."</li> </a> ";
}
}
?>[/codebox]
Grato desde já
[]'s
Função Ereg_replace Não Reconhece Maiúsculas!
22/03/2009, 21:04
Olá!
Tenho um sistema de upload no qual eu envio o arquivo para o meu diretorio e a função ereg_replace retira caracteres indesejáveis como acentos e ç...
Até ai beleza, ele funciona perfeitamente com um pequeno problema que eu não consigo resolver:
Quero que a primeira letra seja maiúscula, quando eu envio por exemplo o arquivo "Área.pdf" eu quero que ele vá para o meu servidor como "Area.pdf" apenas sem o acento mas mantendo a primeira letra maiúscula, porém na prática isso não está funcionando, quando envio o arquivo citado acima ele aparece em meu servidor como "area.pdf" TUDO EM MINÚSCULO!
Vou postar o código abaixo, caso alguém saiba o que está errado por favor me dê uma luz, já tentei de tudo mas não consegui!
Segue o código:
[codebox]<?php
// Pega os Dados do Form
$PathForm = $_SERVER['PHP_SELF'];
// Checa se o Diretório existe
if(!file_exists(''))
// Prepara a variável caso o Formulário tenha sido Postado
$Titulo = isset($_POST['titulo']) ? $_POST['titulo'] : FALSE;
$Doc = isset($_FILES['documento']) ? $_FILES['documento'] : FALSE;
$Name = $_FILES['documento']['name'];
$Tmp = $_FILES['documento']['tmp_name'];
// Prepara as Variáveis para configuração do Arquivo
$Config = array();
// Destino da Imagem
$Config ['diretorio'] = '';
// Verifica se é um Documento
if($Doc)
{
// Construo um indece de erros
$Erro = array();
// Checa o mime-type do Arquivo
if(!eregi('(pdf)', $Doc['name']))
{
// Avisa se o Arquivo é inválido
$Erro [] = 'Documento em formato Inválido!';
$Erro [] = 'O Documento deve ser no formato .pdf';
}
// Se não houver erro algum, continua o processo
if(!sizeof($Erro))
{
// Gera o Nome do Documento
// Retira todas as Acentuações
$nome = $Name;
$nome = ereg_replace('[áàâãª]','a',$nome);
$nome = ereg_replace('[ÁÀÂÃ]','A',$nome);
$nome = ereg_replace('[éèê]','e',$nome);
$nome = ereg_replace('[ÉÈÊ]','E',$nome);
$nome = ereg_replace('[óòôõº]','o',$nome);
$nome = ereg_replace('[ÓÒÔÕ]','O',$nome);
$nome = ereg_replace('[úùû]','u',$nome);
$nome = ereg_replace('[ÚÙÛ]','U',$nome);
$nome = str_replace('ç','c',$nome);
$nome = str_replace('Ç','C',$nome);
$nome = ereg_replace(' ','',$nome);
$docNome = strtolower($nome);
// Caminho da onde o Arquivo ficará
$docDir = $Config ['diretorio'] . $docNome;
// Faz o upload do Arquivo
print "<pre>";
if (move_uploaded_file($Tmp, $docDir)) {
print "O arquivo foi carregado com sucesso.\n";
}
print "</pre>";
}
}
if($Doc && !sizeof($Erro))
{
?>
<?php
}
// Mas se ocorreu algum erro ou o Formuláro ainda não foi enviado
else
{
?>
<form method="post" action="<?php echo $PathFrom; ?>" enctype="multipart/form-data">
<div align="left">
<table width="354" border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="3" align="center"> </td></tr>
<tr>
<td colspan="3" align="center">
<p align="left"><b><font face="Verdana" size="2">Enviar Assembléias</font></b></td>
</tr>
<tr>
<td colspan="3" align="center"> </td>
</tr>
<tr>
<td colspan="3" align="center">
<p align="left"><font face="Verdana" size="1">OBS: Enviar arquivos somente
no formato <b>pdf</b></font></td>
</tr>
<tr>
<td colspan="3" align="center"> </td>
</tr>
<tr><td colspan="3" align="center"> </td></tr>
<?php
if(sizeof($Erro))
{
echo '<tr>';
echo '<td colspan="2" bgcolor="red" align="left">';
echo '<center><u>Ocorreu(ram) o(s) seguinte(s) erro(s):</u></center>';
echo '<br />';
foreach( $Erro as $err)
{
echo ' - '. $err .'<br />';
}
echo '</td></tr>';
}
?>
<tr><td align="center" width="1"> </td>
<td align="left" width="109"> <b><font face="Tahoma" size="1">Selecione o
Arquivo:</font></b></td>
<td align="left" width="244"><font size="1" face="Tahoma">
<input type="file" size="20" name="documento" /></font></td></tr>
<tr><td colspan="3" align="center"> </td></tr>
<tr>
<td colspan="3" align="center"> </td>
</tr>
<tr><td colspan="3" align="center"><font size="1" face="Tahoma">
<input type="submit" value="Enviar" style="float: left" /></font></td></tr>
<tr><td colspan="3" align="center"> </td></tr>
<tr><td colspan="3" align="center"> </td></tr>
</table>
</div>
</form>
<?php
}
?>[/codebox]
Valeu!
Abraços ;D
Tenho um sistema de upload no qual eu envio o arquivo para o meu diretorio e a função ereg_replace retira caracteres indesejáveis como acentos e ç...
Até ai beleza, ele funciona perfeitamente com um pequeno problema que eu não consigo resolver:
Quero que a primeira letra seja maiúscula, quando eu envio por exemplo o arquivo "Área.pdf" eu quero que ele vá para o meu servidor como "Area.pdf" apenas sem o acento mas mantendo a primeira letra maiúscula, porém na prática isso não está funcionando, quando envio o arquivo citado acima ele aparece em meu servidor como "area.pdf" TUDO EM MINÚSCULO!
Vou postar o código abaixo, caso alguém saiba o que está errado por favor me dê uma luz, já tentei de tudo mas não consegui!
Segue o código:
[codebox]<?php
// Pega os Dados do Form
$PathForm = $_SERVER['PHP_SELF'];
// Checa se o Diretório existe
if(!file_exists(''))
// Prepara a variável caso o Formulário tenha sido Postado
$Titulo = isset($_POST['titulo']) ? $_POST['titulo'] : FALSE;
$Doc = isset($_FILES['documento']) ? $_FILES['documento'] : FALSE;
$Name = $_FILES['documento']['name'];
$Tmp = $_FILES['documento']['tmp_name'];
// Prepara as Variáveis para configuração do Arquivo
$Config = array();
// Destino da Imagem
$Config ['diretorio'] = '';
// Verifica se é um Documento
if($Doc)
{
// Construo um indece de erros
$Erro = array();
// Checa o mime-type do Arquivo
if(!eregi('(pdf)', $Doc['name']))
{
// Avisa se o Arquivo é inválido
$Erro [] = 'Documento em formato Inválido!';
$Erro [] = 'O Documento deve ser no formato .pdf';
}
// Se não houver erro algum, continua o processo
if(!sizeof($Erro))
{
// Gera o Nome do Documento
// Retira todas as Acentuações
$nome = $Name;
$nome = ereg_replace('[áàâãª]','a',$nome);
$nome = ereg_replace('[ÁÀÂÃ]','A',$nome);
$nome = ereg_replace('[éèê]','e',$nome);
$nome = ereg_replace('[ÉÈÊ]','E',$nome);
$nome = ereg_replace('[óòôõº]','o',$nome);
$nome = ereg_replace('[ÓÒÔÕ]','O',$nome);
$nome = ereg_replace('[úùû]','u',$nome);
$nome = ereg_replace('[ÚÙÛ]','U',$nome);
$nome = str_replace('ç','c',$nome);
$nome = str_replace('Ç','C',$nome);
$nome = ereg_replace(' ','',$nome);
$docNome = strtolower($nome);
// Caminho da onde o Arquivo ficará
$docDir = $Config ['diretorio'] . $docNome;
// Faz o upload do Arquivo
print "<pre>";
if (move_uploaded_file($Tmp, $docDir)) {
print "O arquivo foi carregado com sucesso.\n";
}
print "</pre>";
}
}
if($Doc && !sizeof($Erro))
{
?>
<?php
}
// Mas se ocorreu algum erro ou o Formuláro ainda não foi enviado
else
{
?>
<form method="post" action="<?php echo $PathFrom; ?>" enctype="multipart/form-data">
<div align="left">
<table width="354" border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="3" align="center"> </td></tr>
<tr>
<td colspan="3" align="center">
<p align="left"><b><font face="Verdana" size="2">Enviar Assembléias</font></b></td>
</tr>
<tr>
<td colspan="3" align="center"> </td>
</tr>
<tr>
<td colspan="3" align="center">
<p align="left"><font face="Verdana" size="1">OBS: Enviar arquivos somente
no formato <b>pdf</b></font></td>
</tr>
<tr>
<td colspan="3" align="center"> </td>
</tr>
<tr><td colspan="3" align="center"> </td></tr>
<?php
if(sizeof($Erro))
{
echo '<tr>';
echo '<td colspan="2" bgcolor="red" align="left">';
echo '<center><u>Ocorreu(ram) o(s) seguinte(s) erro(s):</u></center>';
echo '<br />';
foreach( $Erro as $err)
{
echo ' - '. $err .'<br />';
}
echo '</td></tr>';
}
?>
<tr><td align="center" width="1"> </td>
<td align="left" width="109"> <b><font face="Tahoma" size="1">Selecione o
Arquivo:</font></b></td>
<td align="left" width="244"><font size="1" face="Tahoma">
<input type="file" size="20" name="documento" /></font></td></tr>
<tr><td colspan="3" align="center"> </td></tr>
<tr>
<td colspan="3" align="center"> </td>
</tr>
<tr><td colspan="3" align="center"><font size="1" face="Tahoma">
<input type="submit" value="Enviar" style="float: left" /></font></td></tr>
<tr><td colspan="3" align="center"> </td></tr>
<tr><td colspan="3" align="center"> </td></tr>
</table>
</div>
</form>
<?php
}
?>[/codebox]
Valeu!
Abraços ;D
Problemas Para Colocar Alteração De Senha Em Sistema De Login
11/02/2009, 15:33
Olá!
Estou com um problema, tenho um sistema de login e senha com senha em MD5 e gostaria de retirar o md5 pois ele fica muito dificil para o usuario lembrar sua senha, gostaria de fazer o usuário digitar sua senha... tambem gostaria de retirar o gerador de nova senha em md5 e mudar para um alterador de senha, onde digitando o usuario, a senha antiga e a nova senha fosse alterada sua senha para a digitada automaticamente e mandado um e-mail confirmando esta alteração...
Vou postar abaixo todos os códigos do meu sistema:
config.php
ativar.php
cadastra.php
cadastro_de_usuarios_formulario.php
form_senha_perdida.php
formulario_login.php
formulario_senha_perdida.php
functions.php
gerar_nova_senha.php
verifica_usuario.php
Agradeço desde já quem se dispor a me ajudar
Um abraço a todos =D
Estou com um problema, tenho um sistema de login e senha com senha em MD5 e gostaria de retirar o md5 pois ele fica muito dificil para o usuario lembrar sua senha, gostaria de fazer o usuário digitar sua senha... tambem gostaria de retirar o gerador de nova senha em md5 e mudar para um alterador de senha, onde digitando o usuario, a senha antiga e a nova senha fosse alterada sua senha para a digitada automaticamente e mandado um e-mail confirmando esta alteração...
Vou postar abaixo todos os códigos do meu sistema:
config.php
<?phpdefine('BD_USER', 'USUARIO'); // USE O TEU USUÁRIO DE BANCO DE DADOSdefine('BD_PASS', 'SENHA'); // USE A TUA SENHA DO BANCO DE DADOSdefine('BD_NAME', 'solucao_logindefinitivo'); // USE O NOME DO TEU BANCO DE DADOSmysql_connect('localhost', BD_USER, BD_PASS);mysql_select_db(BD_NAME);?>
ativar.php
<?phpinclude "config.php";$usuario_id = $_REQUEST['id'];$senha = $_REQUEST['code'];$sql = mysql_query("UPDATE usuarios SET ativado='1' WHERE usuario_id='{$usuario_id}' AND senha='{$senha}'");$sql_doublecheck = mysql_query("SELECT * FROM usuarios WHERE usuario_id='{$usuario_id}' AND senha='{$senha}' AND ativado='1'");$doublecheck = mysql_num_rows($sql_doublecheck);if($doublecheck == 0){ echo "<script>alert('Sua conta não pode ser ativada!');</script>"; include "index.php";}elseif($doublecheck > 0){ echo "<script>alert('Seu cadastro foi ativado com sucesso! Você já pode se logar na área de condomínio on-line!');</script>"; include "index.php";}?>
cadastra.php
<?phpinclude "config.php";$nome = trim($_POST['nome']);$sobrenome = trim($_POST['sobrenome']);$condominio = trim($_POST['condominio']);$condominio2 = trim($_POST['condominio2']);$email = trim($_POST['email']);$usuario = trim($_POST['usuario']);$info = trim($_POST['info']);/* Vamos checar algum erro nos campos, mas tenha em mente que existem formas bem mais eficientes de tratar os dados que são enviados ou não pelos campos do formulário */if((!$nome) || (!$sobrenome) || (!$email) || (!$usuario)){ echo "ERRO: Você não enviou as seguintes informações requeridas para o cadastro! <br /> <br />"; if(!$nome){ echo "Nome é um campo requerido. <br />"; } if(!$sobrenome){ echo "Sobrenome é um campo requerido. <br />"; } if(!$email){ echo "Email é um campo requerido.<br />"; } if(!$usuario){ echo "Nome de Usuário é um campo requerido. <br />"; } echo "<br />Preencha os campos necessários abaixo: <br /><br />"; include "cadastro_de_usuarios_formulario.php"; }else{ /* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */ $sql_email_check = mysql_query("SELECT COUNT(usuario_id) FROM usuarios WHERE email='{$email}'"); $sql_usuario_check = mysql_query("SELECT COUNT(usuario_id) FROM usuarios WHERE usuario='{$usuario}'"); $eReg = mysql_fetch_array($sql_email_check); $uReg = mysql_fetch_array($sql_usuario_check); $email_check = $eReg[0]; $usuario_check = $uReg[0]; //$email_check = mysql_num_rows($sql_email_check); //$usuario_check = mysql_num_rows($sql_usuario_check); if(($email_check > 0) || ($usuario_check > 0)){ echo "<strong>ERRO </strong>- Por favor corrija os seguintes erros abaixo: <br /> <br />"; if($email_check > 0){ echo "Este email ( <strong>".$email."</strong> ) já está sendo utilizado.<br />Por favor utilize outra conta de email! <br />"; unset($email); } if($usuario_check > 0){ echo "Este nome de usuário ( <strong>".$usuario."</strong> ) já está sendo utilizado.<br />Por favor utilize outro nome de usuário!<br />"; unset($usuario); } print "<br />"; include "cadastro_de_usuarios_formulario.php"; } else{ /* Se passarmos por esta verificação ilesos é hora de finalmente cadastrar os dados Vamos utilizar uma função para gerar uma senha randômica */ function makeRandomPassword(){ $salt = "abchefghjkmnpqrstuvwxyz0123456789"; srand((double)microtime()*1000000); $i = 0; while($i <= 7){ $num = rand() % 33; $tmp = substr($salt, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } $senha_randomica = makeRandomPassword(); $senha = md5($senha_randomica); // Inserindo os dados no banco de dados $info = htmlspecialchars($info); $sql = mysql_query("INSERT INTO usuarios (nome, sobrenome, condominio, condominio2, email, usuario, senha, info, data_cadastro) VALUES('{$nome}', '{$sobrenome}', '{$condominio}', '{$condominio2}', '{$email}', '{$usuario}', '{$senha}', '{$info}', now())") or die( mysql_error() ); if(!$sql){ echo "Ocorreu algum erro ao criar sua conta, por favor entre em contato com a Administradora."; } else { $usuario_id = mysql_insert_id(); // Enviar um email ao usuário para confirmação e ativar o cadastro! $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: solucao@solucaoadm.com"; // TEU DOMÌNIO E TEU EMAIL $subject = "Confirmação de cadastro - Seu Condomínio Online"; $mensagem = "Prezado(a) Sr(a). <strong>$nome $sobrenome</strong>, <br /> Seu cadastro foi efetuado em nosso site, <a href ='http://www.solucaoadm.com'>www.solucaoadm.com</a> <br /><br /> Para confirmar seu cadastro e ativar sua conta, podendo assim acessar áreas restritas condominiais, por favor clique no link abaixo ou copie e cole o link na barra de endereço do seu navegador. <br /><br /> <a href ='http://www.solucaoadm.com/ativar.php?id=$usuario_id&code=$senha'> [url="http://www.solucaoadm.com/ativar.php?id=$usuario_id&code=$senha"]http://www.solucaoadm.com/ativar.php?id=&a...ode=$senha[/url] </a> <br /> <br /> Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo, efetuando o login com os dados abaixo: <br /> <br /> <strong>Usuário</strong>: {$usuario} <br /> <strong>Senha</strong>: {$senha_randomica} <br /><br /> O formulário para se efetuar o login fica na parte superior da tabela da direita. <br /> Obrigado!<br /> <br /> Solução Administradora de Condomínios Ltda.<br /> <br /> <br /> Esta é uma mensagem automática, por favor não responda!"; mail($email, $subject, $mensagem, $headers); echo "Foi enviado para seu email - ( ".$email." ) um pedido de confirmação de cadastro, por favor verifique e sigas as instruções!"; } }}?>
cadastro_de_usuarios_formulario.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Formulário Cadastro</title><style type="text/css"><!--body { background-color: #CCCCCC;}--></style></head><body>Formulário de Cadastro <br /><br /><form name="cadastro" method="post" action="cadastra.php">Nome<br /><input name="nome" type="text" id="nome" value="<?php echo $nome; ?>" /><br /><br />Sobrenome<br /><input name="sobrenome" type="text" id="sobrenome" value="<?php echo $sobrenome; ?>" /><br /><br />Condomínio Fantasia<br /><select size="1" type="text" id="condominio" value="<?php echo $condominio; ?>" name="condominio"> <option selected>Selecione seu condomínio</option> <option>por_do_sol</option> <option>piazza_venezia</option> <option>gran_miraggio</option> <option>cesare_baldisserotto</option> <option>viecelli</option> <option>villa_murano</option> <option>sorbonne_2</option> <option>ferraris</option> <option>jardim_do_sol</option> <option>dauphine</option> <option>di_lucca</option> <option>petite_village</option> <option>bibiana</option> <option>henrique_mengatto</option> <option>villa_verde</option> <option>villa_del_paradiso</option> <option>vivienda_do_forte</option> <option>siena</option> <option>cemim</option> <option>castel_del_monte</option> <option>monte_carmelo</option> <option>carlotto</option> <option>da_lagoa</option> <option>portal_do_sol</option> <option>saint_thomas</option> <option>miguel_geremias</option> <option>atlantida</option> <option>catina</option> <option>dona_alva</option> <option>alto_adige</option> <option>chacara_bella</option> <option>condado_da_baviera</option> <option>messeguer</option> <option>san_matheus</option> <option>ventura_tower</option> <option>maxims</option> <option>saint_honore</option> <option>cap_ferrat</option> <option>assis_brasil</option> <option>ieda</option> <option>san_lorenzo</option> <option>solar_campestre</option> <option>plaza_mirador</option> <option>solar_di_fontana</option> <option>costa_azul</option> <option>macbeth</option> <option>ditalia</option> <option>gabriele</option> <option>bahamas</option> <option>jose_fernandes_pioner</option> <option>berenice</option> <option>villa_franca</option> <option>monferrato_1</option> <option>vila_del_sole</option> <option>terrace_residence</option> <option>lourdes_center</option> <option>centro_profissional_jjb</option> <option>monferrato_2</option> <option>belaria</option> <option>monte_everest</option> <option>della_luna</option> <option>placido_de_castro</option> <option>via_condotti</option> <option>garden_park</option> <option>porto_moniz</option> <option>eliseu</option> <option>valdemar_telh</option> <option>il_primo</option> <option>royal_park_residence</option> <option>palaoro</option> <option>memphis</option> <option>royal_park_trade</option> <option>propileu</option> <option>promenade</option> <option>tropical</option> <option>santa_teresa</option> <option>cefas</option> <option>amadrhyas</option> <option>cedro_do_libano</option> <option>saville</option> <option>bilbao</option> <option>odilla_de_carli</option> <option>villa_di_capri_2</option> <option>bonatto</option> <option>moinhos_de_vento</option> <option>giardino_di_pietra</option> <option>nuova_citta</option> <option>claire</option> <option>aurelio</option> <option>torresini</option> <option>altos_do_parque_residencial</option> <option>colina_bella</option> <option>altos_do_parque_comercial</option> <option>colibri</option> <option>itajobi</option> <option>georg_handel_e_robert_schumann</option> <option>santo_antonio</option> <option>venturi</option> <option>villa_palavicino</option> <option>dalvino_aldo_tondo</option> <option>emile</option> <option>piazza_de_roma</option> <option>independencia</option> <option>casa_nostra</option> <option>boa_vista</option> <option>lyon</option> <option>santa_maria</option> <option>dona_cristina</option> <option>sevilha</option> <option>solar_dos_vinhedos</option> <option>moratelli</option> <option>tirol</option> <option>tropical_2</option> <option>perola</option> <option>botticino_1</option> <option>botticino_2</option> <option>j_j_eberle</option> <option>colina_do_sol</option> <option>pedavena</option> <option>business_com</option> <option>costa_dourada</option> <option>villa_del_sole_2</option> <option>independencia_2</option></select> <br />Condomínio Real<br /><select size="1" type="text" id="condominio2" value="<?php echo $condominio2; ?>" name="condominio2"> <option selected>Selecione seu condomínio</option> <option>Pôr do Sol</option> <option>Piazza Venezia</option> <option>Gran Miraggio</option> <option>Cesare Baldisserotto</option> <option>Viecelli</option> <option>Villa Murano</option> <option>Sorbonne II</option> <option>Ferrari's</option> <option>Jardim do Sol</option> <option>Dauphine</option> <option>Di Lucca</option> <option>Petite Village</option> <option>Bibiana</option> <option>Henrique Mengatto</option> <option>Villa Verde</option> <option>Villa del Paradiso</option> <option>Vivienda do Forte</option> <option>Siena</option> <option>Cemim</option> <option>Castel del Monte</option> <option>Monte Carmelo</option> <option>Carlotto</option> <option>Da Lagoa</option> <option>Portal do Sol</option> <option>Saint Thomas</option> <option>Miguel Geremias</option> <option>Atlântida</option> <option>Catina</option> <option>Dona Alva</option> <option>Alto Ádige</option> <option>Chácara Bella</option> <option>Condado da Baviera</option> <option>Messeguer</option> <option>San Matheus</option> <option>Ventura Tower</option> <option>Maxim's</option> <option>Saint Honore</option> <option>Cap Ferrat</option> <option>Assis Brasil</option> <option>Ieda</option> <option>San Lorenzo</option> <option>Solar Campestre</option> <option>Plaza Mirador</option> <option>Solar Di Fontana</option> <option>Costa Azul</option> <option>Macbeth</option> <option>D'Itália</option> <option>Gabriele</option> <option>Bahamas</option> <option>José Fernandes Pioner</option> <option>Berenice</option> <option>Villa Franca</option> <option>Monferrato I</option> <option>Vila Del Sole</option> <option>Terrace Residence</option> <option>Lourdes Center</option> <option>Centro Profissional J.J.B.</option> <option>Monferrato II</option> <option>Belária</option> <option>Monte Everest</option> <option>Della Luna</option> <option>Plácido de Castro</option> <option>Via Condotti</option> <option>Garden Park</option> <option>Porto Moniz</option> <option>Eliseu</option> <option>Valdemar Telh</option> <option>Il Primo</option> <option>Royal Park Residence</option> <option>Palaoro</option> <option>Memphis</option> <option>Royal Park Trade</option> <option>Propileu</option> <option>Promenade</option> <option>Tropical</option> <option>Santa Teresa</option> <option>Cefas</option> <option>Amadrhyas</option> <option>Cedro do Líbano</option> <option>Saville</option> <option>Bilbao</option> <option>Odilla de Carli</option> <option>Villa di Capri II</option> <option>Bonatto</option> <option>Moinhos de Vento</option> <option>Giardino di Pietra</option> <option>Nuova Cittá</option> <option>Claire</option> <option>Aurélio</option> <option>Torresini</option> <option>Altos do Parque Res</option> <option>Colina Bella</option> <option>Altos do Parque Com</option> <option>Colibri</option> <option>Itajobi</option> <option>Georg Handel e Robert Schumann</option> <option>Santo Antonio</option> <option>Venturi</option> <option>Villa Palavicino</option> <option>Dalvino Aldo Tondo</option> <option>Emile</option> <option>Piazza de Roma</option> <option>Independência</option> <option>Casa Nostra</option> <option>Boa_Vista</option> <option>Lyon</option> <option>Santa Maria</option> <option>Dona Cristina</option> <option>Sevilha</option> <option>Solar dos Vinhedos</option> <option>Moratelli</option> <option>Tirol</option> <option>Tropical II</option> <option>Pérola</option> <option>Botticino I</option> <option>Botticino II</option> <option>J. J. Eberle</option> <option>Colina do Sol</option> <option>Pedavena</option> <option>Business.com</option> <option>Costa Dourada</option> <option>Villa del Sole II</option> <option>Independência II</option></select> <br /><br />Email<br /><input name="email" type="text" id="email" value="<?php echo $email; ?>" /><br /><br />Nome de Usuário<br /><input name="usuario" type="text" id="usuario" value="<?php echo $usuario; ?>" /><br /><br />+ informações sobre você<br /><textarea name="info" id="info"><?php echo $info; ?></textarea><br /><br /><input type="submit" name="Submit" value="Enviar" /></form></body></html>
form_senha_perdida.php
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40"><head><style type="text/css">body { background: url("logo_inferior.jpg");}img { behavior: url("pngbehavior.htc");}</style><style type=text/css>body { background: #D3D3D3 url('fundopag.jpg') repeat fixed center bottom; }</style><meta http-equiv="Content-Language" content="pt-br"><meta name="GENERATOR" content="Microsoft FrontPage 6.0"><meta name="ProgId" content="FrontPage.Editor.Document"><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>:: Solução Administradora de Condomínios Ltda. ::</title><STYLE> A {text-decoration: none; } </STYLE><script>var speed = 8 // decrease value to increase speed (must be positive)var pause = 2000 // increase value to increase pausevar timerID = nullvar bannerRunning = falsevar ar = new Array()ar[0] = "Solução Administradora de Condomínios Ltda."ar[1] = "Seja bem-vindo ao nosso site"ar[2] = "Rua tronca, 1959, bairro exposição, Caxias do Sul - RS"ar[3] = "Faça-nos uma proposta!"ar[4] = "Sua convivência em hamonia"var message = 0var state = ""clearState()function stopBanner() {if (bannerRunning)clearTimeout(timerID)bannerRunning = false}function startBanner() {stopBanner()showBanner()}function clearState() {state = ""for (var i = 0; i < ar[message].length; ++i) {state += "0"}}function showBanner() {if (getString()) {message++if (ar.length <= message)message = 0clearState()timerID = setTimeout("showBanner()", pause)bannerRunning = true} else {var str = ""for (var j = 0; j < state.length; ++j) {str += (state.charAt(j) == "1") ? ar[message].charAt(j) : " "}window.status = strtimerID = setTimeout("showBanner()", speed)bannerRunning = true}}function getString() {var full = truefor (var j = 0; j < state.length; ++j) {if (state.charAt(j) == 0)full = false}if (full)return truewhile (1) {var num = getRandom(ar[message].length)if (state.charAt(num) == "0")break}state = state.substring(0, num) + "1" + state.substring(num + 1, state.length)return false}function getRandom(max) {return Math.round((max - 1) * Math.random())}startBanner()</script></head><body topmargin="0" leftmargin="0" background="fundopag.jpg" style="text-indent: 0; word-spacing: 0; margin: 0"><div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; text-indent: 0; word-spacing: 0; line-height: 100%; margin: 0" bordercolor="#111111" width="836" id="AutoNumber1" background="fundo_site.jpg"> <tr> <td colspan="5" style="text-indent: 0; word-spacing: 0; margin: 0" valign="top"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; text-indent: 0; word-spacing: 0; line-height: 100%; margin: 0" bordercolor="#111111" width="836" id="AutoNumber56" background="fundo_site.jpg"> <tr> <td style="text-indent: 0; word-spacing: 0; margin: 0" valign="top" background="logo_sup_sup.jpg"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="836" id="AutoNumber55"> <tr> <td height="50" background="logo_topo.jpg"> <p align="right"> <? include("busca.php"); ?></td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="836" id="AutoNumber53"> <tr> <td height="95" background="logo_meio.jpg"> </td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="836" id="AutoNumber54"> <tr> <td height="63" background="logo_inferior.jpg"> <table border="0" width="836" cellspacing="0" cellpadding="0" background="logo_inferior.jpg" height="63"> <tr> <td width="92" height="45" align="center"> <a href="index.php"> <img border="0" src="home.png" width="40" height="40"></a></td> <td width="1" height="63" align="center" rowspan="2"> <img border="0" src="divisor_menu_inferior.gif" width="1" height="49"></td> <td width="92" height="45" align="center"> <a href="parceiros.php"> <img border="0" src="parceiros.png" width="40" height="40"></a></td> <td width="1" height="63" align="center" rowspan="2"> <img border="0" src="divisor_menu_inferior.gif" width="1" height="49"></td> <td width="92" height="45" align="center"> <a href="apresentacao.php"> <img border="0" src="apresentacao.png" width="40" height="40"></a></td> <td width="1" height="63" align="center" rowspan="2"> <img border="0" src="divisor_menu_inferior.gif" width="1" height="49"></td> <td width="92" height="45" align="center"> <a href="conheca_sede.php"> <img border="0" src="fotos.png" width="40" height="40"></a></td> <td width="1" height="63" align="center" rowspan="2"> <img border="0" src="divisor_menu_inferior.gif" width="1" height="49"></td> <td width="92" height="45" align="center"> <a href="atualizacao_cadastral.php"> <img border="0" src="atualizacao_cadastral.png" width="35" height="35"></a></td> <td width="1" height="63" align="center" rowspan="2"> <img border="0" src="divisor_menu_inferior.gif" width="1" height="49"></td> <td width="92" height="45" align="center"> <a href="o_que_e_a_solucao.php"> <img border="0" src="a_empresa.png" width="40" height="40"></a></td> <td width="1" height="63" align="center" rowspan="2"> <img border="0" src="divisor_menu_inferior.gif" width="1" height="49"></td> <td width="92" height="45" align="center"> <a href="seguranca.php"> <img border="0" src="seguranca.png" width="40" height="40"></a></td> <td width="1" height="63" align="center" rowspan="2"> <img border="0" src="divisor_menu_inferior.gif" width="1" height="49"></td> <td width="92" height="45" align="center"> <a href="seminario.php"> <img border="0" src="eventos.png" width="40" height="40"></a></td> <td width="1" height="63" align="center" rowspan="2"> <img border="0" src="divisor_menu_inferior.gif" width="1" height="49"></td> <td width="92" height="45" align="center"> <a href="fale_conosco.php"> <img border="0" src="contato.png" width="40" height="40"></a></td> </tr> <tr> <td width="92" height="18" align="center" valign="top"> <font size="1" face="Verdana"><a href="index.php"> <font color="#000000">Home</font></a></font></td> <td width="92" height="18" align="center" valign="top"> <font face="Verdana" size="1"><a href="parceiros.php"> <font color="#000000">Parceiros</font></a></font></td> <td width="92" height="18" align="center" valign="top"> <font face="Verdana" size="1"><a href="apresentacao.php"> <font color="#000000">Apresentação</font></a></font></td> <td width="92" height="18" align="center" valign="top"> <font face="Verdana" size="1"><a href="conheca_sede.php"> <font color="#000000">Sede</font></a></font></td> <td width="92" height="18" align="center" valign="top"> <font face="Verdana" size="1"> <a href="atualizacao_cadastral.php"><font color="#000000">Atua. Cadast.</font></a></font></td> <td width="92" height="18" align="center" valign="top"> <font face="Verdana" size="1"> <a href="o_que_e_a_solucao.php"><font color="#000000">A Empresa</font></a></font></td> <td width="92" height="18" align="center" valign="top"> <font face="Verdana" size="1"><a href="seguranca.php"> <font color="#000000">Segurança</font></a></font></td> <td width="92" height="18" align="center" valign="top"> <font face="Verdana" size="1"><a href="seminario.php"> <font color="#000000">Eventos</font></a></font></td> <td width="92" height="18" align="center" valign="top"> <font face="Verdana" size="1"><a href="fale_conosco.php"> <font color="#000000">Contato</font></a></font></td> </tr> </table> </td> </tr> </table> </td> </tr> <tr> <td style="text-indent: 0; word-spacing: 0; margin: 0" width="836" valign="top"> </td> </tr> </table> </td> </tr> <tr> <td style="text-indent: 0; word-spacing: 0; margin: 0" width="149" valign="top"> <? include("menu_esquerda.php"); ?></td> <td style="text-indent: 0; word-spacing: 0; margin: 0" width="18" valign="top"> </td> <td style="text-indent: 0; word-spacing: 0; margin: 0" width="506" valign="top"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="506" id="AutoNumber14"> <tr> <td valign="top" width="506"> <div align="left"> <table border="0" width="500" cellpadding="0" cellspacing="0"> <tr> <td bgcolor="#F6F6F6"> <p style="word-spacing: 0; margin-left: 8; margin-right: 8; margin-top: 0; margin-bottom: 0"> <font color="#000080" face="Verdana" size="2">ESQUECEU SUA <b>SENHA?</b></font></td> </tr> <tr> <td bgcolor="#F7F7F7"> <p style="word-spacing: 0; margin-left: 8; margin-right: 8; margin-top: 0; margin-bottom: 0"> </td> </tr> <tr> <td bgcolor="#F7F7F7"><?include("formulario_senha_perdida.php");?> </td> </tr> <tr> <td bgcolor="#F7F7F7"> <p style="margin-left: 8px; margin-right: 8px"> <span style="font-size: 8pt; color: black; font-family: Verdana"> </span></td> </tr> <tr> <td bgcolor="#F7F7F7"> <form action="http://www.netpoint.com.br/utils/forms/email.asp" method="post"> <input type=hidden name=para value="solucao@solucaoadm.com"> <input type=hidden name=assunto value="Atualização Cadastral"> <input type=hidden name=p_prox value="http://www.solucaoadm.com/pagina_confirmacao.htm"> <input type=hidden name=p_erro value="http://www.solucaoadm.com/pagina_de_erro.htm"> </td> </form> </tr> </table> </div> </td> </tr> <tr> <td valign="top" width="506"> </td> </tr> <tr> <td valign="top" width="506"> </td> </tr> <tr> <td valign="top" width="506"> </td> </tr> </table> </td> <td style="text-indent: 0; word-spacing: 0; margin: 0" width="18" valign="top"> </td> <td style="text-indent: 0; word-spacing: 0; margin: 0" width="145" valign="top"> <? include("menu_direita.php"); ?></td> </tr> <tr> <td style="text-indent: 0; word-spacing: 0; margin: 0" width="836" valign="top" colspan="5" height="133" background="rodape.jpg"> </td> </tr> </table> </center></div><script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script><script type="text/javascript">var pageTracker = _gat._getTracker("UA-6208219-1");pageTracker._trackPageview();</script></body></html>
formulario_login.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Login</title></head><body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0"><form action="verifica_usuario.php" method="post" name="login" id=""> <p align="left" style="margin-left: 8px; margin-right: 8px; margin-top:0px"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Você não está logado!</b><br /> <br /> Poderá acessar a área de Condomínio Online se logando agora mesmo abaixo:</font></p> <p align="left" style="margin-left: 8px; margin-right: 8px; margin-top:0px"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Usuário:<br /> <input name="usuario" type="text" id="usuario" /> <br /> Senha</font>: <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font><br /> <input name="senha" type="password" id="senha" /> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br /> </font><font face="Verdana" size="1"><a href="form_senha_perdida.php"><font color="#000080">Esqueceu sua senha?</font></a></font><br /> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <font face="Verdana" size="1"> <a href="form_senha_perdida.php"> </a></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="space.gif" width="8" height="8" /><br /> </font><font face="Verdana" size="1"><a href="form_senha_perdida.php"><font color="#000080"></font></a></font> <input type="image" name="Submit" src="botao_entrar.jpg" onclick="login.submit();" /> </font></p></form></body></html>
formulario_senha_perdida.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Formulário Nova Senha</title></head><body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0"><form name="form1" method="post" action="gerar_nova_senha.php"><p style="margin:0 8px; "><font size="2" face="Verdana">Por favor digite o seue-mail que está cadastrado em nosso banco de dados:</font></p><p style="margin:0 8px; "><font size="2" face="Verdana"><br /></font><font face="Verdana"><input name="email" type="text" id="email" /></font><font size="2" face="Verdana"></font><font face="Verdana"><input name="recupera" type="hidden" id="recupera" value="recupera" /><input type="submit" name="Submit" value="Gerar Senha" /></font></p></form></body></html>
functions.php
<?phpfunction session_checker(){ if(!isset($_SESSION['usuario_id'])){ header ("Location:formulario_login.php"); exit(); }}?>
gerar_nova_senha.php
<?phpinclude "config.php";$recupera = $_POST['recupera'];$email = $_POST['email'];switch($recupera){ case "recupera": recupera_senha($email); break; default: include "index.php"; break;}function recupera_senha($email){ if(!isset($email)){ echo "<script>alert('Você esqueceu de preencher seu e-mail. <strong>Use o mesmo e-mail que utilizou em seu cadastro.</strong>');</script>"; include "form_senha_perdida.php"; exit(); } // Checando se o email informado está cadastrado $sql_check = mysql_query("SELECT * FROM usuarios WHERE email='{$email}'"); $sql_check_num = mysql_num_rows($sql_check); if($sql_check_num == 0){ echo "<script>alert('Este e-mail não está cadastrado em nosso banco de dados.');</script>"; include "form_senha_perdida.php"; exit(); } // Se tudo OK vamos gerar uma nova senha e enviar para o email do usuário! function makeRandomPassword(){ $salt = "abchefghjkmnpqrstuvwxyz0123456789"; srand((double)microtime()*1000000); $i = 0; while ($i <= 7){ $num = rand() % 33; $tmp = substr($salt, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } $senha_randomica = makeRandomPassword(); $senha = md5($senha_randomica); $sql = mysql_query("UPDATE usuarios SET senha='{$senha}' WHERE email ='{$email}'"); $sql = "SELECT nome, sobrenome, usuario FROM usuarios WHERE email ='{$email}'"; $con = mysql_query($sql); // executa a consulta acima! if(mysql_num_rows($con) > 0){ // se a consulta retornar linhas... while($rs = mysql_fetch_object($con)){ $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: solucao@solucaoadm.com"; //COLOQUE TEU EMAIL $subject = "Sua nova senha - Seu Condominio Online"; $message = "Prezado(a) Sr(a). <strong>".$rs->nome." ".$rs->sobrenome."</strong>,<br /> Redefinimos sua senha:<br /><br /> <strong>Usuário</strong>: ".$rs->usuario."<br /> <strong>Nova Senha</strong>: {$senha_randomica}<br /><br /> Você pode logar-se agora mesmo em nosso site: <a href='http://www.solucaoadm.com/'>http://www.solucaoadm.com/</a><br /><br /> Obrigado.<br /><br /> Solução Administradora de Condomínios Ltda.<br /><br /><br /> Esta é uma mensagem automática, por favor não responda!"; mail($email, $subject, $message, $headers); echo "<script>alert('Sua nova senha foi gerada com sucesso e enviada para o seu e-mail. Por favor verifique seu e-mail!');</script>";include "index.php";}}}?>
verifica_usuario.php
<?phpsession_start(); // Inicia a sessioninclude "config.php";$usuario = $_POST['usuario'];$senha = $_POST['senha'];if((!$usuario) || (!$senha)){ echo "<script>alert('Por favor, todos campos devem ser preenchidos!');</script>";include("index.php");}else{ $senha = md5($senha); $sql = mysql_query("SELECT * FROM usuarios WHERE usuario='{$usuario}' AND senha='{$senha}' AND ativado='1'"); $login_check = mysql_num_rows($sql); if($login_check > 0){ while($row = mysql_fetch_array($sql)){ foreach( $row AS $key => $val ){ $$key = stripslashes( $val ); } $_SESSION['usuario_id'] = $usuario_id; $_SESSION['nome'] = $nome; $_SESSION['sobrenome'] = $sobrenome; $_SESSION['condominio'] = $condominio; $_SESSION['usuario'] = $usuario; $_SESSION['email'] = $email; $_SESSION['nivel_usuario'] = $nivel_usuario; $_SESSION['data_ultimo_login'] = $data_ultimo_login; $_SESSION['condominio2'] = $condominio2; mysql_query("UPDATE usuarios SET data_ultimo_login = now() WHERE usuario_id ='{$usuario_id}'"); header("Location: arearestrita/$condominio/$condominio.php?id=$usuario_id&user=$usuario"); } } else{ echo "<script>alert('Você não pode logar-se! Este usuário e/ou senha não são válidos! Por favor, tente novamente');</script>";include("index.php"); }}?>
Agradeço desde já quem se dispor a me ajudar
Um abraço a todos =D
Checkbox Para Lembrar Senha!
04/02/2009, 20:42
Olá!
Eu tenho um formulário de login e senha, porém a senha não grava, gostaria de colocar um "Lembrar senha" com uma checkbox para que o cookies fiquei gravado quando o usuário voltar ao meu site...
O código do formulário é o seguinte:
[codebox]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<form action="verifica_usuario.php" method="post" name="login" id="">
<p align="left" style="margin-left: 9px; margin-top:8px"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Usuário:<br />
<input name="usuario" type="text" id="usuario" size="16" style="border: 1px solid #C0C0C0" />
<br />
Senha</font>: <br />
<input name="senha" type="password" id="senha" size="16" style="border: 1px solid #C0C0C0" />
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br />
</font><font face="Verdana" size="1"><a href="form_senha_perdida.php"><font color="#000080">Esqueceu
sua senha?</font></a></font><br />
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <font face="Verdana" size="1">
<a href="form_senha_perdida.php"> </a></font><img src="space.gif" width="8" height="8" /><br />
<input type="image" name="Submit" src="botao_entrar.jpg" onclick="login.submit();" width="69" height="20" /></font></p>
</form>
</body>
</html>[/codebox]
E o código da pagina que verifica o cookies é o seguinte:
[codebox]<?php
session_start(); // Inicia a session
include "config.php";
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
if((!$usuario) || (!$senha)){
echo "<script>
alert('Por favor, todos campos devem ser preenchidos!');
</script>";
include("index.php");
}
else{
$senha = md5($senha);
$sql = mysql_query("SELECT * FROM usuarios WHERE usuario='{$usuario}' AND senha='{$senha}' AND ativado='1'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
while($row = mysql_fetch_array($sql)){
foreach( $row AS $key => $val ){
$$key = stripslashes( $val );
}
$_SESSION['usuario_id'] = $usuario_id;
$_SESSION['nome'] = $nome;
$_SESSION['sobrenome'] = $sobrenome;
$_SESSION['condominio'] = $condominio;
$_SESSION['usuario'] = $usuario;
$_SESSION['email'] = $email;
$_SESSION['nivel_usuario'] = $nivel_usuario;
$_SESSION['data_ultimo_login'] = $data_ultimo_login;
$_SESSION['condominio2'] = $condominio2;
mysql_query("UPDATE usuarios SET data_ultimo_login = now() WHERE usuario_id ='{$usuario_id}'");
header("Location: arearestrita/$condominio/$condominio.php?id=$usuario_id&user=$usuario");
}
}
else{
echo "<script>
alert('Você não pode logar-se! Este usuário e/ou senha não são válidos! Por favor, tente novamente');
</script>";
include("index.php");
}
}
?>[/codebox]
Agradeço desde já quem puder me ajudar =DD
Abraços.
Eu tenho um formulário de login e senha, porém a senha não grava, gostaria de colocar um "Lembrar senha" com uma checkbox para que o cookies fiquei gravado quando o usuário voltar ao meu site...
O código do formulário é o seguinte:
[codebox]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<form action="verifica_usuario.php" method="post" name="login" id="">
<p align="left" style="margin-left: 9px; margin-top:8px"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Usuário:<br />
<input name="usuario" type="text" id="usuario" size="16" style="border: 1px solid #C0C0C0" />
<br />
Senha</font>: <br />
<input name="senha" type="password" id="senha" size="16" style="border: 1px solid #C0C0C0" />
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br />
</font><font face="Verdana" size="1"><a href="form_senha_perdida.php"><font color="#000080">Esqueceu
sua senha?</font></a></font><br />
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <font face="Verdana" size="1">
<a href="form_senha_perdida.php"> </a></font><img src="space.gif" width="8" height="8" /><br />
<input type="image" name="Submit" src="botao_entrar.jpg" onclick="login.submit();" width="69" height="20" /></font></p>
</form>
</body>
</html>[/codebox]
E o código da pagina que verifica o cookies é o seguinte:
[codebox]<?php
session_start(); // Inicia a session
include "config.php";
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
if((!$usuario) || (!$senha)){
echo "<script>
alert('Por favor, todos campos devem ser preenchidos!');
</script>";
include("index.php");
}
else{
$senha = md5($senha);
$sql = mysql_query("SELECT * FROM usuarios WHERE usuario='{$usuario}' AND senha='{$senha}' AND ativado='1'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
while($row = mysql_fetch_array($sql)){
foreach( $row AS $key => $val ){
$$key = stripslashes( $val );
}
$_SESSION['usuario_id'] = $usuario_id;
$_SESSION['nome'] = $nome;
$_SESSION['sobrenome'] = $sobrenome;
$_SESSION['condominio'] = $condominio;
$_SESSION['usuario'] = $usuario;
$_SESSION['email'] = $email;
$_SESSION['nivel_usuario'] = $nivel_usuario;
$_SESSION['data_ultimo_login'] = $data_ultimo_login;
$_SESSION['condominio2'] = $condominio2;
mysql_query("UPDATE usuarios SET data_ultimo_login = now() WHERE usuario_id ='{$usuario_id}'");
header("Location: arearestrita/$condominio/$condominio.php?id=$usuario_id&user=$usuario");
}
}
else{
echo "<script>
alert('Você não pode logar-se! Este usuário e/ou senha não são válidos! Por favor, tente novamente');
</script>";
include("index.php");
}
}
?>[/codebox]
Agradeço desde já quem puder me ajudar =DD
Abraços.
- Fórum WMO
- → Viewing Profile: Tópicos: Ricardo KaNu
- Privacy Policy
- Regras ·