
david.lyonnais
Membros-
Total de itens
257 -
Registro em
-
Última visita
Tudo que david.lyonnais postou
-
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.
-
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> ";
-
[RESOLVIDO] Problema formulário com combobox
pergunta respondeu ao Mosaniel de david.lyonnais em PHP
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']; -
[RESOLVIDO] Problema formulário com combobox
pergunta respondeu ao Mosaniel de david.lyonnais em PHP
O nome aparece ou é so o id que não aparece? -
HELP - Recuperar valores do banco de dados
pergunta respondeu ao Perdida no Código de david.lyonnais em PHP
O erro esta no SQL então da um echo na variavel $busca para gente ver como esta ficando o sql. -
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."; }
-
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; } ?>
-
<?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...
-
HELP - Recuperar valores do banco de dados
pergunta respondeu ao Perdida no Código de david.lyonnais em PHP
A do Jefferson faz quase a mesma coisa e até mais simples que essa... -
Rapaz era pra ta funcionando pois isso consta no manual do mysql Link: Manual MySQL
-
Rapaz se você postar em Ajax,Java Script vai obter mais resultado.
-
Funcionou? @edit Se não funcionar tente da seguinte maneira mysql_query('update usuarios set posts=(posts +1) WHERE id_usuario = $iduser');
-
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!");
-
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.
-
Posta ai o erro.
-
@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é
-
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.
-
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 ?>.
-
Creio que agora o problema já é de outra sessão tenta tira sua duvida la em CSS , HTML .
-
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' ];
-
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...
-
Com funciona SQL Injection e como se prevenir?
pergunta respondeu ao HUGO BORGES de david.lyonnais em PHP
PDO é: Um pequeno tutorial de PDO nesse link: Tutorial PDO Essa classe "já vem embutido" com uma função anti SQL Injection. -
Com funciona SQL Injection e como se prevenir?
pergunta respondeu ao HUGO BORGES de david.lyonnais em PHP
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. -
Com funciona SQL Injection e como se prevenir?
pergunta respondeu ao HUGO BORGES de david.lyonnais em PHP
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(). -
Tenta tira as aspas da variavel $data O certo seria assim: select * from tabela where (databanco >= $data1 and databanco <= $data2);