Ir para conteúdo
Fórum Script Brasil

david.lyonnais

Membros
  • Total de itens

    257
  • Registro em

  • Última visita

Tudo que david.lyonnais postou

  1. Tenta isso. //Seguinte formato (ddd)3333-3333 $tel = $_POST['tel'];//Pega o telefone no formulario $ret = array('(',')','-'); $tel = str_replace($ret,"",$tel);//retira o hifen e os parenteses //Verifica se o telefone é valido. if (!preg_match('/^[0-9]{11}$/', $tel)) { echo "Telefone inválido"; } Opá, trouxe uma maneira mais facil <?php //Seguinte formato: (DDD) 3333-3333 $telefone = $_POST['tel']; if (!preg_match('/^\([0-9]{3}\) [0-9]{4}-[0-9]{4}$/', $telefone)) { echo "Telefone inválido"; } ?> Ou você pode em JavaScript impedir letras e adicionar os parenteses e cochete sozinho.
  2. Nessa linha $subforums .= '<a href="view_forum.php?f='.$id_subforum.'"><img border="no" src="'.U_STYLE_THEME_PATH.'/images/icon_subforum.gif">'.$name_subforum.'</a> '; Troque por isso: $subforums .= "<a href='view_forum.php?f=".$id_subforum."'><img border='no' src='".U_STYLE_THEME_PATH."/images/icon_subforum.gif'>".$name_subforum."</a> ";
  3. Nesse trecho.. $nome = $_POST[nome]; $localidade = $_POST[localidade]; $escudo = $_FILES[escudo]; $camp = $_POST[camp]; Ta faltando as aspas Seria assim $nome = $_POST['nome']; $localidade = $_POST['localidade']; $escudo = $_FILES['escudo']; $camp = $_POST['camp'];
  4. O nome aparece ou é so o id que não aparece?
  5. O erro esta no SQL então da um echo na variavel $busca para gente ver como esta ficando o sql.
  6. Coloque isso antes do insert $query = mysql_query("SELECT nome,email FROM usuarios WHERE nome = '$nome' OR email = '$email'"); $row = mysql_num_rows($query); if($row > 0){ $error[4] = "Usuario ou email já existente."; }
  7. david.lyonnais

    Hora do servidor

    O certo seria esse: <?php $hora0 = time('d/m/Y H:i:s'); //Coloque a cidade e seu fuso no array. $fusos = array( 'Cidade2'=> -3, 'Cidade1'=> +12 ); foreach($fusos as $cidade => $fuso){ $c = ($fuso + 3) * 3600; $r = $hora0 + $c; $data = date('d/m/Y H:i:s',$r); $hora[$cidade] = $data; } foreach($hora as $cidade => $hora_cidade){ echo $cidade ."-".$hora_cidade; } ?>
  8. david.lyonnais

    Hora do servidor

    <?php $hora0 = time('d/m/Y H:i:s'); //Coloque a cidade e seu fuso no array. $fusos = array( 'Cidade2'=> -3, 'Cidade1'=> +12 ); foreach($fusos as $cidade => $fuso){ $c = $fuso * 3600; $r = $hora0 + $c; $data = date('d/m/Y H:i:s',$r); $hora[$cidade] = $data; } foreach($hora as $cidade => $hora_cidade){ echo $cidade ."-".$hora_cidade; } ?> Tenta isso...
  9. A do Jefferson faz quase a mesma coisa e até mais simples que essa...
  10. Rapaz era pra ta funcionando pois isso consta no manual do mysql Link: Manual MySQL
  11. Rapaz se você postar em Ajax,Java Script vai obter mais resultado.
  12. Funcionou? @edit Se não funcionar tente da seguinte maneira mysql_query('update usuarios set posts=(posts +1) WHERE id_usuario = $iduser');
  13. Como a resposta de Romero Dias foi bastante esclarecedora, eu vim aqui pra mostrar um possivel erro no parte de conexão ao banco de dados. Nessa linha: $conexao = mysql_connect("$Server_site", "$Login_admin", "$Senha_admin") or die ("O servidor não responde!"); $banco = mysql_select_db("$db") or die ("Não foi possivel conectar-se ao banco de dados!"); Que seria certo sem as aspas nas variaveis Ficando assim: $conexao = mysql_connect($Server_site, $Login_admin, $Senha_admin) or die ("O servidor não responde!"); $banco = mysql_select_db($db) or die ("Não foi possivel conectar-se ao banco de dados!");
  14. Tenta o seguinte: update nome_tabela set nome_campo=nome_campo +1; No seu caso ficaria algo parecido com isso. update nome_tabela set post=post +1; Lembrando o campo post tem que ser int.
  15. @EDIT2----------------------- Esqueci da função ceil() pra arrendondar para saber o numero máximo de paginas @EDIT------------------------- A versão 2.1 vem com mais uma função,pagination(), que é basicamente a fusão das dPagina,rPagina e qPagina. -Você pode tanto usar ela ou usar as outras 3. -Ela recebe os seguintes parametros pagination($sql,$registro_pagina,$pagina_atual,$variavel_pagina) e retorna a resposta do mysql_query(). Ex.: <?php include ('dpagination.php'); $pag = new dPagination(); if(!isset($_GET['pg'])){ $pagina = 1; }else{ $pagina = $_GET['pg']; } $res = $pag->pagination('SELECT * FROM produtos',2,$pagina,'pg'); ?> -Adicionei mais um tipo de passar as paginas tem como default o estilo(Anterior | Proximo), adicionei o estilo(1-2-3-4-5-6-7) onde mostra as proximas pagina e a margem é passada por parametro e tem como default margem de 3 paginas. -Para escolher o primeiro tipo você pode passar nada por parametro ou passar 0 ex.: $paginas = $pag->linkPaginas() ou $paginas = $pag->linkPaginas(0) -Para escolher o segundo tipo você pode fazer de duas maneiras, passando 1 no primeiro parametro e usando margem default ou passar 1 e a margem. ex.: $paginas = $pag->linkPaginas(1); ou $paginas = $pag->linkPaginas(1,4); ---------------------------- Opa, venho agora trazer uma classe que facilita a paginação de dados. Dados Nome: dPagination 2.2 Autor: David Guilherme Data: 11/01/2011 dpagination.php <?php //--------------------------------- //Classe: dPagination 2.2 //Autor: David Guilherme //Data:11/01/2011 //---------------------------------- class dPagination{ //Propiedades private $antPagina; private $proxPagina; private $pagina; private $regPagina; private $rowQuery; private $varPagina; public $numReg; function pagination($sql = 0,$registro_pagina = 0,$pagina_atual = 0,$variavelPagina = 0){ if($pagina_atual != 0 and is_string($variavelPagina)){ $this->dPagina($pagina_atual,$variavelPagina); }else{ echo "Erro 001: Falta do 3 ou 4 paramêtro."; exit; } if($registro_pagina > 0){ $this->rPagina($registro_pagina); }else{ echo "Erro 002: Falta do 2 paramêtro."; exit; } if(is_string($sql)){ $res = $this->qPagina($sql); }else{ echo "Erro 003: Falta do 1 paramêtro."; exit; } return $res; } function dPagina($pagina_atual,$variavelPagina){ $this->pagina = $pagina_atual; $this->varPagina = $variavelPagina; } function rPagina($registro_pagina){ $this->regPagina = $registro_pagina; } function qPagina($sql){ $minlimit = $this->regPagina * ($this->pagina - 1); $maxlimit = $this->regPagina; $sql2 = $sql." Limit ".$minlimit.",".$maxlimit; $res = mysql_query($sql); $this->rowQuery = mysql_num_rows($res); $res2 = mysql_query($sql2); $this->numReg = mysql_num_rows($res2); if($this->pagina > 1){ $pg = $this->pagina - 1; $this->antPagina = "?".$this->varPagina."=".$pg; }else{ $this->antPagina = 0; } $limit = $maxlimit + $minlimit; if($this->rowQuery > $limit){ $pg = $this->pagina + 1; $this->dpsPagina = "?".$this->varPagina."=".$pg; }else{ $this->dpsPagina = 0; } return $res2; } function linkPaginas($tipo = 0,$margem = 3){ $pagina = $_SERVER['PHP_SELF']; if($tipo == 0){ if(!is_string($this->antPagina)){ $url[0] = "<span style='color: #333333;'>Anterior</span>"; }else{ $url[0] = "<a href='".$pagina.$this->antPagina."'>Anterior</a>"; } if(!is_string($this->dpsPagina)){ $url[1] = "<span style='color: #333333;'>Próxima</span>"; }else{ $url[1] = "<a href='".$pagina.$this->dpsPagina."'>Próxima</a>"; } } if($tipo == 1){ $maxpag = ceil($this->rowQuery / $this->regPagina); $i = 0; $j = $margem; $z = ($margem * 2) + 1; while($i < $z){ if($j > 0){ $r = $this->pagina - $j; $verif = 0; }elseif($j < 0){ $r = -1; $u = $this->pagina + ($j * (-1)); }else{ $r = -1; $url[$i] = "<span style='color: #333333;'>".$this->pagina."</span>"; $i++; } if( $r > 0 ){ $url[$i] = "<a href='".$pagina."?".$this->varPagina."=".$r."'>".$r."</a>"; $i++; } if($u <= $maxpag and $r < 0 and isset($u) ){ $url[$i] = "<a href='".$pagina."?".$this->varPagina."=".$u."'>".$u."</a>"; $i++; } if($u > $maxpag ){ break; } $j--; } } return $url; } } ?> Tutorial de uso: Metodo: -dPagina($pagina_atual,$variavelPagina);Primeiro paramêtro é a pagina atual ,o segundo é o nome da variavel que é passada via get Função: Ele serve pra você informa a classe a pagina atual, ou seja, o numero que estiver na variavel passada por get. Exemplo: <?php include ('conexao.php'); include ('davvpagination.php'); $pag = new dPagination(); if(!isset($_GET['pg'])){ $pagina = 1; }else{ $pagina = $_GET['pg']; } $pag->dPagina($pagina,'pg'); ?> Metodo: -rPagina($resgistro_pagina);Você informa quantos registros vai ter por página. Função: Informa a classe quantos registros seram exibido por página. Exemplo: <?php include ('conexao.php'); include ('dpagination.php'); $pag = new dPagination(); if(!isset($_GET['pg'])){ $pagina = 1; }else{ $pagina = $_GET['pg']; } $pag->dPagina($pagina,'pg'); $pag->rPagina(10); ?> Metodo: -qPagina($sql);Aqui você passara o codigo sql para a consulta. Função: Fazer a consulta no banco de dados e retorna a variavel de resposta do mysql_query(). OBS.:Não presisa colocar a cláusula limit pois a propia classe se encarrega de colocar. Exemplo: <?php include ('conexao.php'); include ('dpagination.php'); $pag = new dPagination(); if(!isset($_GET['pg'])){ $pagina = 1; }else{ $pagina = $_GET['pg']; } $pag->dPagina($pagina,'pg'); $pag->rPagina(10); $res = $pag->qPagina('SELECT * FROM usuarios'); echo "<table border='1'>"; while($dados = mysql_fetch_array($res)){ echo "<tr>"; echo "<td>".$dados['id']."</td>"; echo "<td>".$dados['login']."</td>"; echo "<td>".$dados['senha']."</td>"; echo "<td>".$dados['email']."</td>"; echo "</tr>"; } echo "</table>"; ?> Metodo: -linkPaginas(); Função: Tipo 1: Montar os links anterior e proxima, retornando um array com chave [0] para anterior e chave [1] para proxima. Tipo 2: Basta usar foreach no array com os links. Exemplo Tipo 1: <?php include ('conexao.php'); include ('dpagination.php'); $pag = new dPagination(); if(!isset($_GET['pg'])){ $pagina = 1; }else{ $pagina = $_GET['pg']; } $res = $pag->pagination('SELECT * FROM usuarios',10,$pagina,'pg'); $paginas = $pag->linkPaginas(); echo $paginas[0]."|".$paginas[1]; echo "<table border='1'>"; while($dados = mysql_fetch_array($res)){ echo "<tr>"; echo "<td>".$dados['id']."</td>"; echo "<td>".$dados['login']."</td>"; echo "<td>".$dados['senha']."</td>"; echo "<td>".$dados['email']."</td>"; echo "</tr>"; } echo "</table>"; echo $paginas[0]."|".$paginas[1]; ?> Exemplo Tipo 2: <?php include ('pagination.php'); $pag = new dPagination(); if(!isset($_GET['pg'])){ $pagina = 1; }else{ $pagina = $_GET['pg']; } $res = $pag->pagination('SELECT * FROM usuarios',10,$pagina,'pg'); $paginas = $pag->linkPaginas(1,5); echo "<table>"; while($dados = mysql_fetch_array($res)){ echo "<tr>"; echo "<td>".$dados['id']."</td>"; echo "<td>".$dados['login']."</td>"; echo "<td>".$dados['senha']."</td>"; echo "<td>".$dados['email']."</td>"; echo "</tr>"; } echo "</table>"; foreach($paginas as $key => $valor){ if($key == (count($paginas) - 1)){ echo $valor; }else{ echo $valor.'|'; } } ?> Simplifica e muito o trabalho de paginação, exibir dados com paginas fico mais fácil com essa classe. Qualquer dúvida é so postar ai. Comentem.. Até
  16. update? Sistema de post é o seguinte, você cria uma tabela chamada post Tabela - Post ------------------ -Id -Id_usuario -titulo -campo_qualquer -campo_qualquer -autor -campo_qualquer ... ------------------- Dai pro usuario inserir um post basta você criar uma pagina para a inserção desse post com um form para o usuario preencher. Dai é so usa INSERT INTO post VALUES(...) Ve se clarea seus pensamentos o que eu acabei de dizer.
  17. Essa página tem que estar na pasta do servidor, deve ser htdocs ou www,se ela já tiver lá verifique se as tags php estão certas Se tiverem <??> Pode ainda não funcionar , pra resolver é so fazer o que o cara do post de cima sugeriu. Eu recomendo usar <?php ?>.
  18. Creio que agora o problema já é de outra sessão tenta tira sua duvida la em CSS , HTML .
  19. Retire o arroba da frente da query pra que possa mostrar algum erro se tiver @mysql_query(" E na query slq tabm encontrei um erro INSERT INTO comentarios VALUES (NULL, '$dados', '$pag', '$iduser', '$data', '$hora') Se $iduser é um inteiro não presisa das aspas o certo seria assim INSERT INTO comentarios VALUES (NULL, '$dados', '$pag', $iduser, '$data', '$hora') Se aparece algum erro posta ai. @edit Nessa linha $iduser = print $_SESSION[ 'user_id' ]; Você podereria retirar o print, ficando assim $iduser = $_SESSION[ 'user_id' ];
  20. Aproveitei esse dia de folga dos meus afazeres e sem nada pra fazer e aproveitando que estava estudando PDO criei a seguinte class se vai ser é inútil essa class eu não to muito ai pois so foi para aprendizado e diversão =) Eu poderia ter dado uma arrumada deixando mais limpo mais tinha acabado o dia e eu queria termina-lo logo. Segue o codigo: <?php class davvUsuarios { var $dusuarios = array(); var $tabela; var $pdo; var $stm; function davvUsuarios($dsn,$usuarios,$senha){ $this->pdo = new PDO($dsn,$usuarios,$senha); } function addUsuario(){ $sql = 'INSERT INTO '.$this->tabela.' VALUES ('; foreach($this->dusuarios as $campo => $valor){ $sql .= ':'.$campo.','; } $sql = substr($sql,0,strlen($sql)-1).')'; try{ $this->stm = $this->pdo->prepare($sql); $this->stm->execute($this->dusuarios); } catch (PDOException $e){ echo $e->getMessage(); } } function upUsuario($where){ $sql = 'UPDATE '.$this->tabela.' SET '; $idwhere = ' WHERE '; foreach($this->dusuarios as $campo => $valor){ if($campo == $where){ $idwhere .= $campo.' = :'.$campo; }else{ $sql .= $campo.'= :'.$campo.', '; } } $sql = substr($sql,0,strlen($sql)-2).$idwhere; try{ $this->stm = $this->pdo->prepare($sql); $this->stm->execute($this->dusuarios); } catch (PDOException $e){ echo $e->getMessage(); } return $res; } function delUsuario($idcampo,$id){ $sql = 'DELETE FROM '.$this->tabela.' WHERE '.$idcampo.' = '.$id; try{ $this->stm = $this->pdo->prepare($sql); $this->stm->execute(); } catch (PDOException $e){ echo $e->getMessage(); } return $res; } function setUsuario($prop,$valor){ $this->dusuarios[$prop] = $valor; } function setTabela($tabela){ $this->tabela = $tabela; } function viewUsuario($view = 0,$sql2 = 0){ $sql = "SELECT * FROM ".$this->tabela; if($view == 0){ $sql .= " WHERE "; if(sizeof($this->dusuarios) > 0){ foreach($this->dusuarios as $campo => $valor){ $sql .= " ".$campo." = :".$campo." AND"; } $sql = substr($sql,0,strlen($sql)-4); } } elseif($sql2 != 0 and $view == 1 or $view == 2){ $sql = $sql2; $verif = $view; } try{ $this->stm = $this->pdo->prepare($sql); if($view == 0 or $verif == 1){ $this->stm->execute($this->dusuarios); }elseif($view == 1 or $verif == 2){ $this->stm->execute(); } } catch (PDOException $e){ echo 'Erro:'.$e->getMessage(); } } } ?> Tutorial de uso: Conectando: É da mesma forma que você se conecta no pdo passa as informações do mesmo modo. <?php include ("davvusuarios.class.php"); $dav = new davvUsuarios('mysql:host=localhost;dbname=usuarios','usuario','senha'); ?> Para incluir dados você precisa setar os campo com seu valores e a tabela para depois chamar a função que adicionara OBS.:So setar o valor do id se for pra da um id especifico se tiver no auto_increment não setar id. Sintaxe: setUsuario(string Campo_tabela, string Valor_do_campo); addUsuario(); Não recebe parametro. Inserindo: <?php $dav->setTabela('usuarios'); $dav->setUsuario('login','David'); $dav->setUsuario('senha','flamengo'); $dav->addUsuario(); ?> Para modificar so precisa setar os valores que serão modificados e coloca o campo da clasula where no parametro(mais antes tem que setar o campo); Modificando <?php $dav->setUsuario('id',1); $dav->setUsuario('senha','r10edomengao'); $dav->upUsuario('id'); ?> Para excluir basta chamar a função delUsuario($idcampo,$id)(Ou seja você passa no 1 parametro o campo da clasula where e o valor no 2 parametro) Excluindo <?php $dav->delUsuario('id',1); ?> Para exibir os dados, a varias opções. Exibindo 1. Opção passando nenhum parametro você ira colocar na clasula where todos os campos setados <?php $dav->setUsuario('login','David'); $dav->setUsuario('senha','r10edomengao'); $dav->viewUsuario(); ?> 2.Opção mostrar todos registro da tabela so passar 1 como parametro(não necessario setar nenhum campo). <?php $dav->viewUsuario(1); ?> 3.Opção você faz a query personalizada pegando valores dos campos setados , basta colocar 1 no primeiro parâmetro e no segundo a query. <?php $dav->setUsuario('id',2); $dav->viewUsuario(1,'SELECT * FROM usuarios id > :id'); ?> 4.Opção você faz a query personalizada sem pegar os valores nos campos setados, basta colocar 2 no primeiro parâmetro e no segundo a query. <?php $dav->viewUsuario(2,'SELECT * FROM usuarios id > 2'); ?> E para mostra o registros na tela basta fazer do jeito que você faria sem não tivesse usando a classe OBS.:stm é o objeto que executa a função execute($this->stm->execute();) <?php while($fetch = $dav->stm->fetch(PDO::FETCH_OBJ)){ echo $fetch->id."<br>"; } ?> Pronto é so isso...
  21. PDO é: Um pequeno tutorial de PDO nesse link: Tutorial PDO Essa classe "já vem embutido" com uma função anti SQL Injection.
  22. Pra mostrar erro você pode fazer assim: Vai mudar totalmente a função. <?php // Metodo anti-injection function anti_sql_inject($sql) { // Remove palavras que contenham sintaxe sql $sql = trim($sql); //limpa espaços vazio $sql = strip_tags($sql); //tira tags html e php $pattern = "/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\|\"|\')/"; $match = preg_match($pattern,$sql); if($match){ echo "<script>alert('ERRO. SQL Inject detectado.'); history.back();</script>"; exit; } return $sql; } ?> Para testar tenta colocar no input que vai passar via post: uma aspa simple ' Se retorna o erro sql inject já ta funfando se retorna nada qr dizer que não ta funcionando ai você volta aqui pra eu a gente ver onde pode esta o erro. Pronto.
  23. Deprecated: Function sql_regcase() is deprecated Quer dizer que a função caio em desuso tenta coloca o seguinte //Metodo anti-injection function anti_injection($sql) { // remove palavras que contenham sintaxe sql $sql = preg_replace("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/","",$sql); $sql = trim($sql);//limpa espaços vazio $sql = strip_tags($sql);//tira tags html e php $sql = addslashes($sql);//Adiciona barras invertidas a uma string return $sql; Retire a função slq_regcase().
  24. Tenta tira as aspas da variavel $data O certo seria assim: select * from tabela where (databanco >= $data1 and databanco <= $data2);
×
×
  • Criar Novo...