Ir para conteúdo
Fórum Script Brasil

Beraldo

Veteranos
  • Total de itens

    4.466
  • Registro em

  • Última visita

Tudo que Beraldo postou

  1. Script postado por: Fabyo Sistema de ler email POP3 com extenção IMAP do PHP descomente a linha do php.ini extension=php_imap.dll obs: esse exemplo não tem suporte a MIME Esse exemplo faz: tratamento de erros vê quantos emails você tem pega o assunto,remetente,data/hora e a mensagem <?php /* Fabyo Guimaraes data = 06/02/2005*/ $servidor = "seu_servidor"; $usuario = "usuario"; $senha = "senha"; @ini_set('display_errors', '0'); $mbox = imap_open("{pop3.$servidor/pop3:110}", $usuario . "@" . $servidor, $senha , OP_HALFOPEN); $erro[] = imap_last_error(); // testo se tem email no servidor if ($erro[0] == "Mailbox is empty") { echo "não tem nenhuma mensagem"; exit; } // verifico se esta certo o usuario e senha elseif ($erro[0] == "POP3 connection broken in response") { echo "Usuario ou a senha estao errados"; exit; } // testo se o servidor esta certo elseif ($erro[0] == "Host not found (#11004): pop3.$servidor") { echo "O servidor $servidor esta errado"; exit; } // se a $erro estiver vazia ele continua if ($erro[0] == "") { $numero_mensagens = imap_num_msg($mbox); $numero_mens_nao_lidas = imap_num_recent($mbox); if ($numero_mensagens == 1) { echo "você tem $numero_mensagens mensagem"; } else { echo "você tem $numero_mensagens mensagens"; } echo "<br><br>"; for($i = 1;$i <= imap_num_msg($mbox);$i++) { $headers = imap_header($mbox, $i); $assunto = $headers->subject; $message_id = $headers->message_id; $toaddress = $headers->toaddress; $to = $headers->to; $remetente = $to[0]->personal; $email_remetente = $to[0]->mailbox; $servidor_remetente = $to[0]->host; $data = $headers->date; $data = strtotime($data); $data = date("d/m/Y H:i:s", $data); echo "Assunto = $assunto - Remetente = $email_remetente@$servidor_remetente Data = $data <a href=\"imap.php?id=$i\">Ler Mensagem</a><br>"; } echo "<br>"; if (isset($_GET["id"])) { $id = $_GET["id"]; $mensagem = imap_fetchbody($mbox, $id, 1); echo nl2br(quoted_printable_decode($mensagem)); } imap_close($mbox); } ?>
  2. Script postado por: Fabyo Anti SQL Injection e tags HTML Essa função que eu fiz é bem simples e basica é mais pra usuarios iniciantes terem noção de como proteger suas paginas contra comandos sql malicioso e ainda proteger suas paginas contra tags html que quando não são tratadas o usuario malicioso pode inserir no seu banco <marquee>Texto</marquee> <font color="cor_fonte">texto</font>. etc... /* Fabyo Guimaraes de Oliveira 17/12/2004*/ function anti_injection($string){ $string = str_ireplace(" or ", "", $string); $string = str_ireplace("select ", "", $string); $string = str_ireplace("delete ", "", $string); $string = str_ireplace("create ", "", $string); $string = str_replace("#", "", $string); $string = str_replace("=", "", $string); $string = str_replace("--", "", $string); $string = str_replace(";", "", $string); $string = str_replace("*", "", $string); $string = trim($string); $string = strip_tags($string); $string = addslashes($string); return $string; } //aqui eu pego todos os dados vindos do form //e tratos todos de uma vez e já cria as variaveis correspondentes foreach ($_POST as $campo => $valor) { $$campo = anti_injection ($valor); }
  3. Não costumo ter esse problema. Poste seu código. []'s
  4. Eu também, mas ontem li um texto (cujo link, infelizmente, acabei perdendo), no qual o(a) autor(a) dizia que era possível colocar mais de uma meta tag igual. Talvez até seja possível, mas será que é necessário? ... dessa eu não sabia... é melhor usar os dois, então! :D []'s
  5. Saudações, pessoal! :D Há um limite de caracteres para o content de uma meta tag description ou keywords, por exemplo? Se houver, posso colocar mais de uma? Ex: <meta name="keywords" content="palavras-chave, teste, beraldo" /> <meta name="keywords" content="mais palavras-chave aqui" /> <meta name="description" content="Uma descricao bem longa do site" /> <meta name="description" content="Outra descrição bem longa do site" /> Há diferenças entre estas duas meta tags? <meta http-equiv="cache-control" content="no-cache" /> e <meta http-equiv="pragma" content="no-cache" /> Preciso sempre usar as duas, caso eu não queira que a página não seja armazenada em cache, ou somente uma delas é suficiente? Valeu []'s
  6. http://www.maujor.com/tutorial/menutooltip.php Movendo para JavaScript []'s
  7. Script postado por: Illidan Função para apagar um diretório e todo o seu conteúdo Se você já tentou apagar uma pasta pelo PHP, viu como é um processo chato caso ela esteja cheia de arquivos e subpastas com mais arquivos dentro. É que o PHP só apaga um diretório se ele estiver completamente vazio. Então criei esta função em que você só informa uma pasta "raiz", e ela automaticamente exterminará todo o conteúdo que houver no diretório antes de apagá-lo... Vou postar duas funções que fazem isso (uma normal e a outra recursiva... tem pra todos os gostos :D o resutado final é o mesmo). :rolleyes: Abraços! Atenção! Arquivos apagados pelo PHP não podem ser recuperados. Portanto, tenha muito cuidado ao utilizar esta função. Saiba bem o que está fazendo antes de colocar este script para executar. Não me responsabilizo por qualquer arquivo (inclusive as fotos do topless da Angélica) que você possa perder pelo mau uso desta função. <?php //Forma de utilizar a função $dir = 'diretorio/que/sera/removido/'; removeTree($dir); // ou removeTreeRec($dir), dependendo da função que você copiar ?> function removeTree($rootDir) /** * Função para remover um diretório sem ter que apagar manualmente cada arquivo e pasta dentro dele * * ATENÇÃO! * * Muito cuidado ao utilizar esta função! Ela apagará todo o conteúdo dentro do diretório * especificado sem pedir qualquer confirmação. Os arquivos não poderão ser recuperados. * Portanto, só utilize-a se tiver certeza de que deseja apagar o diretório. * * * Autor: Carlos Reche * E-mail: carlosreche@yahoo.com * * Por favor, mantenha os créditos : ) * */ { if (!is_dir($rootDir)) { return false; } if (!preg_match("/\\/$/", $rootDir)) { $rootDir .= '/'; } $stack = array($rootDir); while (count($stack) > 0) { $hasDir = false; $dir = end($stack); $dh = opendir($dir); while (($file = readdir($dh)) !== false) { if ($file == '.' || $file == '..') { continue; } if (is_dir($dir . $file)) { $hasDir = true; array_push($stack, $dir . $file . '/'); } else if (is_file($dir . $file)) { unlink($dir . $file); } } closedir($dh); if ($hasDir == false) { array_pop($stack); rmdir($dir); } } return true; } function removeTreeRec($rootDir) /** * Função recursiva para remover um diretório sem ter que apagar manualmente cada arquivo e pasta dentro dele * * ATENÇÃO! * * Muito cuidado ao utilizar esta função! Ela apagará todo o conteúdo dentro do diretório * especificado sem pedir qualquer confirmação. Os arquivos não poderão ser recuperados. * Portanto, só utilize-a se tiver certeza de que deseja apagar o diretório. * * * Autor: Carlos Reche * E-mail: carlosreche@yahoo.com * * Por favor, mantenha os créditos : ) * */ { if (!is_dir($rootDir)) { return false; } if (!preg_match("/\\/$/", $rootDir)) { $rootDir .= '/'; } $dh = opendir($rootDir); while (($file = readdir($dh)) !== false) { if ($file == '.' || $file == '..') { continue; } if (is_dir($rootDir . $file)) { removeTreeRec($rootDir . $file); } else if (is_file($rootDir . $file)) { unlink($rootDir . $file); } } closedir($dh); rmdir($rootDir); return true; }
  8. Script postado por:Fabyo Paginação com banco de dados MySQL Efetua uma busca no banco de dados MySQL e retorna os resultados, separando-os por páginas. <?php mysql_connect("localhost"); mysql_select_db("banco"); $re = mysql_query("SELECT count(*) as total FROM tabela"); $total = mysql_result($re, 0, "total"); $pagina = 0; if(isset($_GET["pagina"])) { $pagina = $_GET["pagina"]; } $limite = 10; $paginas = ceil($total / $limite); $inicio = $pagina * $limite; $sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $limite"); $conta = mysql_num_rows($sql); while($l = mysql_fetch_array($sql)) { $nome = $l["nome"]; echo $nome."<br>"; } if($pagina > 0) { $menos = $pagina - 1; $url = $_SERVER["PHP_SELF"]."?pagina=".$menos; echo "<a href=\"$url\">Anterior</a>"; } for($i = 1;$i < $paginas; $i++) { $url = $_SERVER["PHP_SELF"]."?pagina=".$i; echo " | <a href=\"$url\">$i</a>"; } if($pagina < $paginas) { $mais = $pagina + 1; $url = $_SERVER["PHP_SELF"]."?pagina=".$mais; echo " | <a href=\"$url\">Próxima</a>"; } ?>
  9. Beraldo

    Duvida Rodape Do Site

    E não aparece nenhum erro? Isso só acontece com o rodapé? Não ocorre com a coluna direita (column_right.php)? A contante DIR_WS_INCLUDES termina com a barra ("/") que separa os diretórios? []'s
  10. Posição na tela? Acho que você precisa usar CSS, não JavaScript. Já tentou com CSS? Se eu entendi errado, explique melhor. :P []'s
  11. Script postado por: Fabyo Formulário de E-Mail com Anexo Fiz esse formulario que envia email com anexoe validação de email email.html CODE <html> <head> <script language="javascript" type="text/javascript"> function checa_formulario(email){ if (email.nome.value == ""){ alert("Por Favor não deixe o seu nome em branco!!!"); email.nome.focus(); return (false); } if (email.email_from.value == ""){ alert("Por Favor não deixe o seu email em branco!!!"); email.email_from.focus(); return (false); } if (email.email.value == ""){ alert("não deixe o email destinatario em branco!!!"); email.email.focus(); return (false); } if (email.assunto.value == ""){ alert("não deixe o assunto em branco!!!"); email.assunto.focus(); return (false); } } </script> <title>Enviando texto</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- .email { text-transform: lowercase; } .texto { color: #0000FF } .style1 {color: #FF0000} --> </style> </head> <body onLoad="document.email.nome.focus();"> <form onsubmit="return checa_formulario(this)" action="envia.php" method="post" enctype="multipart/form-data" name="email"> <h1 align="center" class="style1">Formulario de email com anexo </h1> <table width="32%" border="0" align="center"> <tr> <td><div align="right"><span class="texto">Nome</span></div></td> <td><input name="nome" type="text" id="nome"></td> </tr> <tr> <td width="33%"><div align="right" class="texto">De:</div></td> <td width="67%"><input name="email_from" type="text" class="email"></td> </tr> <tr> <td><div align="right" class="texto">Para</div></td> <td><input name="email" type="text" class="email"> </tr> <tr> <td><div align="right" class="texto">Assunto</div></td> <td><input name="assunto" type="text" id="assunto"></td> </tr> <tr> <td><div align="right" class="texto">Mensagem</div></td> <td><textarea name="mensagem" cols="50" rows="10" id="mensagem"></textarea></td> </tr> <tr> <td><div align="right" class="texto">Anexo</div></td> <td><input name="arquivo" type="file"></td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Enviar"></td> </tr> </table> </form> </body> </html> envia.php QUOTE <?php //pego os dados enviados pelo formulario $nome = $_POST["nome"]; $email = $_POST["email"]; $mensagem = $_POST["mensagem"]; $assunto = $_POST["assunto"]; $email_from = $_POST["email_from"]; //formato o campo da mensagem $mensagem = wordwrap( $mensagem, 50, "<br>", 1); //valido os emails if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){ echo"<center>Digite um email valido</center>"; echo "<center><a href=\"java script:history.go(-1)\">Voltar</center></a>"; exit; } if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email_from)){ echo "<center>Digite um email valido</center>"; echo "<center><a href=\"java script:history.go(-1)\"><center>Voltar</center></a>"; exit; } $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary\n"; $mens .= "Content-Transfer-Encoding: 8bits\n"; $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain $mens .= "$mensagem\n"; $mens .= "--$boundary\n"; $mens .= "Content-Type: ".$arquivo["type"]."\n"; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; $mens .= "Content-Transfer-Encoding: base64\n\n"; $mens .= "$anexo\n"; $mens .= "--$boundary--\r\n"; $headers = "MIME-Version: 1.0\n"; $headers .= "From: \"$nome\" <$email_from>\r\n"; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; $headers .= "$boundary\n"; //envio o email com o anexo mail($email,$assunto,$mens,$headers); echo"Email enviado com Sucesso!"; } //se não tiver anexo else{ $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: \"$nome\" <$email_from>\r\n"; //envia o email sem anexo mail($email,$assunto,$mensagem, $headers); echo"Email enviado com Sucesso!"; } ?> ----- Uma alternativa mais simples e confiável é utilizar o PHPMailer
  12. Script postado por: Fabyo Comandos básicos para PostgreSQL //conecta ao banco //gravando no banco //lista os dados do banco UPDATE, DELETE,etc... fica por conta de vocês que não tem nenhum segredo é igual ao mysql ;) Manual do php referente ao Postgre onde baixar o postgre,phpPgAdmin,pgAdmin,psqlodbc,pgmanager: Manual do Postgresql site oficial Postgresql site Oficial
  13. Script postado por: Illidan Reduzir uma string sem cortar palavras ao meio Esta função reduz uma string até um limite máximo de caracteres sem cortar palavras ao meio. Pode-se reduzir a string pela sua extremidade direita (padrão da função), esquerda, ambas ou pelo centro. Por padrão, serão adicionados três pontos "..." à parte reduzida da string, mas pode-se modificar isto através do parâmetro $append. Por exemplo, você poderia querer que ela incluísse três pontos entre parênteses: "(...)", ou que ela não incluísse coisa alguma: "". A função remove também o excesso de espaços (" ", <TABS> ou <ENTERS>), de forma que ela tentará retornar o máximo de palavras sem exceder o limite imposto por $max_length. Exemplos de como utilizar: <?php $str = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."; echo str_reduce($str, 100); /* Retornará: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut ..." */ echo str_reduce($str, 100, "(...)", STR_REDUCE_LEFT); /* Retornará: "(...) cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." */ ?> Obs: pra reduzir por ambas as extremidades, você deverá passar dois valores no quarto parâmetro da função. Para isso, utilize o operador bit a bit "|" desta forma: Código-fonte da função: <?php define("STR_REDUCE_LEFT", 1); define("STR_REDUCE_RIGHT", 2); define("STR_REDUCE_CENTER", 4); /* * function str_reduce (str $str, int $max_length [, str $append [, int $position [, bool $remove_extra_spaces ]]]) * * @return string * * Reduz uma string sem cortar palavras ao meio. Pode-se reduzir a string pela * extremidade direita (padrão da função), esquerda, ambas ou pelo centro. Por * padrão, serão adicionados três pontos (...) à parte reduzida da string, mas * pode-se configurar isto através do parâmetro $append. * Mantenha os créditos da função. * * @autor: Carlos Reche * @data: Jan 21, 2005 */ function str_reduce($str, $max_length, $append = NULL, $position = STR_REDUCE_RIGHT, $remove_extra_spaces = true) { if (!is_string($str)) { echo "<br /><strong>Warning</strong>: " . __FUNCTION__ . "() expects parameter 1 to be string."; return false; } else if (!is_int($max_length)) { echo "<br /><strong>Warning</strong>: " . __FUNCTION__ . "() expects parameter 2 to be integer."; return false; } else if (!is_string($append) && $append !== NULL) { echo "<br /><strong>Warning</strong>: " . __FUNCTION__ . "() expects optional parameter 3 to be string."; return false; } else if (!is_int($position)) { echo "<br /><strong>Warning</strong>: " . __FUNCTION__ . "() expects optional parameter 4 to be integer."; return false; } else if (($position != STR_REDUCE_LEFT) && ($position != STR_REDUCE_RIGHT) && ($position != STR_REDUCE_CENTER) && ($position != (STR_REDUCE_LEFT | STR_REDUCE_RIGHT))) { echo "<br /><strong>Warning</strong>: " . __FUNCTION__ . "(): The specified parameter '" . $position . "' is invalid."; return false; } if ($append === NULL) { $append = "..."; } $str = html_entity_decode($str); if ((bool)$remove_extra_spaces) { $str = preg_replace("/\s+/s", " ", trim($str)); } if (strlen($str) <= $max_length) { return htmlentities($str); } if ($position == STR_REDUCE_LEFT) { $str_reduced = preg_replace("/^.*?(\s.{0," . $max_length . "})$/s", "\\1", $str); while ((strlen($str_reduced) + strlen($append)) > $max_length) { $str_reduced = preg_replace("/^\s?[^\s]+(\s.*)$/s", "\\1", $str_reduced); } $str_reduced = $append . $str_reduced; } else if ($position == STR_REDUCE_RIGHT) { $str_reduced = preg_replace("/^(.{0," . $max_length . "}\s).*?$/s", "\\1", $str); while ((strlen($str_reduced) + strlen($append)) > $max_length) { $str_reduced = preg_replace("/^(.*?\s)[^\s]+\s?$/s", "\\1", $str_reduced); } $str_reduced .= $append; } else if ($position == (STR_REDUCE_LEFT | STR_REDUCE_RIGHT)) { $offset = ceil((strlen($str) - $max_length) / 2); $str_reduced = preg_replace("/^.{0," . $offset . "}|.{0," . $offset . "}$/s", "", $str); $str_reduced = preg_replace("/^[^\s]+|[^\s]+$/s", "", $str_reduced); while ((strlen($str_reduced) + (2 * strlen($append))) > $max_length) { $str_reduced = preg_replace("/^(.*?\s)[^\s]+\s?$/s", "\\1", $str_reduced); if ((strlen($str_reduced) + (2 * strlen($append))) > $max_length) { $str_reduced = preg_replace("/^\s?[^\s]+(\s.*)$/s", "\\1", $str_reduced); } } $str_reduced = $append . $str_reduced . $append; } else if ($position == STR_REDUCE_CENTER) { $pattern = "/^(.{0," . floor($max_length / 2) . "}\s)|(\s.{0," . floor($max_length / 2) . "})$/s"; preg_match_all($pattern, $str, $matches); $begin_chunk = $matches[0][0]; $end_chunk = $matches[0][1]; while ((strlen($begin_chunk) + strlen($append) + strlen($end_chunk)) > $max_length) { $end_chunk = preg_replace("/^\s?[^\s]+(\s.*)$/s", "\\1", $end_chunk); if ((strlen($begin_chunk) + strlen($append) + strlen($end_chunk)) > $max_length) { $begin_chunk = preg_replace("/^(.*?\s)[^\s]+\s?$/s", "\\1", $begin_chunk); } } $str_reduced = $begin_chunk . $append . $end_chunk; } return htmlentities($str_reduced); } ?>
  14. Se você quiser enviar as fotos como anexo em e-mails em vez de fazer upload delas, dê uma olhada na parte E-Mail deste link: http://forum.imasters.com.br/index.php?showtopic=192916 []'s
  15. Beraldo

    Duvida Rodape Do Site

    Tente excluir completamente o sistema no servidor e enviar novamente. Se persistir o problema, limpe o cache do seu navegador. Aparebtemente, não há erros no script. []'s
  16. Script postado por: Fabyo Função para mostrar o signo <?php function signo($d, $m) { if ($m == "3" AND $d >= "20") { $signo = "Áries"; } //Áries 20/03 a 20/04 elseif ($m == "4" AND $d <= "20") { $signo = "Áries"; } //Áries 20/03 a 20/04 elseif ($m == "4" AND $d >= "21") { $signo = "Touro"; } //Touro 21/04 a 20/05 elseif ($m == "5" AND $d <= "20") { $signo = "Touro"; } //Touro 21/04 a 20/05 elseif ($m == "5" AND $d >= "21") { $signo = "Gêmeos"; } //Gêmeos 21/05 a 20/06 elseif ($m == "6" AND $d <= "20") { $signo = "Gêmeos"; } //Gêmeos 21/05 a 20/06 elseif ($m == "6" AND $d >= "21") { $signo = "Câncer"; } //Câncer 21/06 a 21/07 elseif ($m == "7" AND $d <= "21") { $signo = "Câncer"; } //Câncer 21/06 a 21/07 elseif ($m == "7" AND $d >= "22") { $signo = "Leão"; } //Leão 22/07 a 22/08 elseif ($m == "8" AND $d <= "22") { $signo = "Leão"; } //Leão 22/07 a 22/08 elseif ($m == "8" AND $d >= "23") { $signo = "Virgem"; } //Virgem 23/08 a 22/09 elseif ($m == "9" AND $d <= "22") { $signo = "Virgem"; } //Virgem 23/08 a 22/09 elseif ($m == "9" AND $d >= "23") { $signo = "Libra"; } //Libra 23/09 a 22/10 elseif ($m == "10" AND $d <= "22") { $signo = "Libra"; } //Libra 23/09 a 22/10 elseif ($m == "10" AND $d >= "23") { $signo = "Escorpião"; } //Escorpião 23/10 a 21/11 elseif ($m == "11" AND $d <= "21") { $signo = "Escorpião"; } //Escorpião 23/10 a 21/11 elseif ($m == "11" AND $d >= "22") { $signo = "Sagitário"; } //Sagitário 22/11 a 21/12 elseif ($m == "12" AND $d <= "21") { $signo = "Sagitário"; } //Sagitário 22/11 a 21/12 elseif ($m == "12" AND $d >= "22") { $signo = "Capricórnio"; } //Capricórnio 22/12 a 21/01 elseif ($m == "1" AND $d <= "21") { $signo = "Capricórnio"; } //Capricórnio 22/12 a 21/01 elseif ($m == "1" AND $d >= "21") { $signo = "Aquário"; } //Aquário 21/01 a 18/02 elseif ($m == "2" AND $d <= "18") { $signo = "Aquário"; } //Aquário 21/01 a 18/02 elseif ($m == "2" AND $d >= "19") { $signo = "Peixes"; } //Peixes 19/02 a 19/03 elseif ($m == "3" AND $d <= "19") { $signo = "Peixes"; } //Peixes 19/02 a 19/03 else { $signo = "Não Reconhecido"; } return $signo; } $dia = 18; $mês = 05; $signo = signo($dia,$mês); echo "Seu signo é : $signo"; ?>
  17. Script postado por: Fabyo Mostrar valor monetário por extenso
  18. Script postado por: Fabyo Converter Datas Função para conveter datas Se ela estiver assim 0000-00-00, ela converte para 00/00/0000. Se ela estiver assim 00/00/0000, ela converte para 0000-00-00. function converte_data($data){ if (strstr($data, "/")){//verifica se tem a barra / $d = explode ("/", $data);//tira a barra $invert_data = "$d[2]-$d[1]-$d[0]";//separa as datas $d[2] = ano $d[1] = mês etc... return $invert_data; } elseif(strstr($data, "-")){ $d = explode ("-", $data); $invert_data = "$d[2]/$d[1]/$d[0]"; return $invert_data; } else{ return "Data invalida"; } } outro jeito mais simples: $data = "0000-00-00"; $arr = explode("-", $data); $nova_data = "$arr[2]/$arr[1]/$arr[0]"; //00/00/0000 mais simples ainda: $snova_data = implode("-", array_reverse(explode("/", $data)));
  19. Script postado por: Illidan Manipulando dados Datetime do MySQL Função para manipular as informações trazidas pelo campo "datetime" do MySQL function converte_datetime($datetime) { if (preg_match("/^\d{4}(-\d{2}){2} (\d{2}:){2}\d{2}$/", $datetime)) { $array['dia'] = substr($datetime, 8, 2); $array['mês'] = substr($datetime, 5, 2); $array['ano'] = substr($datetime, 0, 4); $array['hora'] = substr($datetime, 11, 2); $array['minuto'] = substr($datetime, 14, 2); $array['segundo'] = substr($datetime, 17, 2); $array['data'] = $array['dia'] . '/' . $array['mês'] . '/' . $array['ano']; $array['horario'] = substr($datetime, 11, 8); return $array; } else { return false; } } Forma de utilizá-la: Abraços!
  20. Beraldo

    Como faço Pra Ligar No Mysql?

    Dê uma olhada aqui: http://br.php.net/mysql http://www.mysql.com Você já tem o MySQL instalado e funcionando na sua máquina?
  21. Script postado por: dmetallica :: ADODB :: *Pessoal fiz essa classe para abstrair as rotinas de acesso a base com o MySQL assim ficando mais fácil e mais parecido com ASP. OBS: Feito para PHP 5.0.1 e MySQL 4.0 /* * Classe: ADODB * Finalidade: Abstrair o acesso a base de dados MySQL deixando assim o desenvolvimento mais rapido e eficiente. * Design Pattern: Singleton a conexão está com singleton. * Data: 07/12/2005 00:41:00.000 * Autor: Diego Pacheco * Contato: pacheco_programador@hotmail.com * */ class ADODB { /* Identificador da conexão com o banco */ static private $id_cnn = null; /* Identificador da ultima query executada! */ static private $query = null; /* Identificador do registro que está sendo lido agora! */ static private $recordSet = null; /* Construtor vazio que será usado para fazer o pattern Singleton. */ private function __construct() {} /* Metodo que conecta com a base e devolve uma conexão com o banco */ static public function getInstance($host,$banco,$usuario,$senha) { if (!isset(self::$id_cnn)) { self::$id_cnn = mysql_connect($host,$usuario,$senha); mysql_select_db($banco,self::$id_cnn); } return self::$id_cnn; } /* Metodo que executa uma query */ static public function execute($sql) { self::$query = mysql_query($sql,self::$id_cnn); return self::$query; } /* Metodo que informa quantas linhas existem na query */ static public function rowsAfected() { return mysql_num_rows(self::$query); } /* Metodo que anda para o proximo registro retorna true quando acabou os registros! */ static public function EOF() { self::$recordSet = mysql_fetch_array(self::$query); return (!(self::$recordSet)); } /* Metodo que retorna o campo de um registro */ static public function fields($campo) { return self::$recordSet[$campo]; } /* Metodo que retorna o número do erro da base */ static public function getErrNum() { return mysql_errno(); } /* Metodo que retorna a mensagem de erro da base. */ static public function getErrDesc() { return mysql_error(); } /* Destrutor da classe ao objeto ser destruido ele fecha a conexão com o banco! */ function __destruct() { mysql_close(self::id_cnn); } } ?> Exemplo Funcional: <?php include("ADODB.php"); /* Conecta com a base de dados. */ ADODB::getInstance("localhost","gem","root",""); /* Executa um SQL */ ADODB::execute("Select * from encontros "); /* Percore os dados */ while (!ADODB::EOF()) { /* Pega o campo data e imprime na tela. */ echo "Data: ".ADODB::fields("data")."<BR>"; } /* Mostra o total de tuplas */ echo "<BR> Total de Registros: ".ADODB::rowsAfected()."<BR>"; /* Executa um SQL qualquer(Força o erro!) */ ADODB::execute("insert master_not_exist into (val) values(1) "); /* Verifica se deu erro */ if (ADODB::getErrNum()!=0) { /* Pega o número e a descrição do erro */ echo "Num Erro: ".ADODB::getErrNum()."<BR>"; echo "Desc Erro: ".ADODB::getErrDesc()."<BR>"; } else { echo "Não deu erro!"; } ?> :: B)
  22. Script postado por: dmetallica :: DataGrid 2.0 :: :: Pessoal eu dei uma aperfeiçoada na minha DataGrid, nesta nova versão temos: >> Paginação de paginação semelhante ao google. >> possiblidade de colocar CSS na tabela de paginação. >> Submição de chaves cfme clique em linha. (DETALHE POR LINHA). só lembrando que fiz isso com PHP 5.0 e MySQL 4.0 segue os novos fontes: HTML.php <?php /* * Classe: HTML * Finalidade: Abstrair o acesso HTML como visualizações e montagem de componentes. * Design Pattern: ... * Data: 08/12/2005 00:05:00.000 * Autor: Diego Pacheco * Contato: pacheco_programador@hotmail.com * */ class HTML { private function __construct() {} /******************************************************** * * Metodo que Cria uma DataTable com: * >>> Cabeçalho * >>> Valores da Base * >>> Ordenação por cabeçãlho * >>> Paginação * >>> Paginação de Páginas, semelhante ao google. * >>> Clique na coluna e submeti com as chaves para a variavel determinada. (DETALHE POR CHAVE). * * PARRAMETROS: * * > id_table :: String contendo o nome da tabela, será atribuido ao id também. * > class_css :: String [opcional] o nome da classe css que a tabela se adpta. * > campos :: array com todos os rotulos da tabela(TH). * > valores :: array com os valores, nome extatos da base que será listados. * > orderbys :: array [opcional] com os orders bys a serem executados com suas respectivas colunas. * > sql :: String sql a ser executada para montar a DataGrid. * > cnn :: Conexão ativa com a base de dados. * > regs_pag :: número total de registros por páginas, default 10. * > sql_count :: sql com a agregate function count(), obrigatório para poder fazer a paginação. * > table_cor :: [OPCINAL]Corringa que pode ter qualquer conteúdo: HTML,CSS,JS que será colocado no cab da tabela. * > tr_cor :: [OPCINAL]Corringa que pode ter qualquer conteúdo: HTML,CSS,JS que será colocado no TR da tabela. * > css_pag :: [OPCINAL] class CSS para a formatação da tag <p> na paginação. * > tot_pag_pag :: [OPCINAL] número de paginas por paginas, ou sejá paginação de paginas. default 5. * > $dados_chave_sbm :: [OPCIONAL] array com as chaves que ao usuário clicar na tabela serão submetidos. * > $nome_var_chave_sbm :: [OPCIONAL] nome da variavel que será pega por $_GET[] ao submeter as chaves da tabela. * * OBS: * * 1. Os arrays "valores" e "campos" devem ter o mesmo tamanho. * 2. O array "orderbys" prescisa ter a mesma ordem dos arrays "valores" e "campos". * ********************************************************************************/ static public function createDataGrid($id_table,$class_css = "",$campos,$valores,$orderbys = "",$sql,$cnn,$regs_pag = 10,$sql_count,$table_cor = "",$tr_cor = "",$css_pag = "",$tot_pag_pag = 5,$dados_chave_sbm = "",$nome_var_chave_sbm = "") { /* Pega o Total de Campos e Valores. */ $iTotCampos = count($campos); $iTotValores = count($valores); $iTotOrderBys = ( ( $orderbys == "" ) ? 0 : count($orderbys) ); $iTotchaves = ( ( $dados_chave_sbm == "" ) ? 0 : count($dados_chave_sbm) ); /* Executa o SQL Count e descobe quantos registros tem. */ $query_count = mysql_query($sql_count,$cnn); $array_count = mysql_fetch_array($query_count); $iTotRegistros = $array_count[0]; /* Pega o Total de Paginas */ $iTotPaginas = ceil($iTotRegistros/$regs_pag); /* Remanejá a pagina Atual. */ if (!isset($_GET['dtgdpagat'])) { $pagina_atual = 1; } else { $pagina_atual = $_GET['dtgdpagat']; } /* Pega o Fator Registro/Pagina */ $fator = ($regs_pag*($pagina_atual-1)); /* Pega a paginação da paginação Atual. */ $pag_pag_atual = 0; if (isset($_GET['dtgdpgpgat'])) { $pag_pag_atual = $_GET['dtgdpgpgat']; } /* Monta o Cabeçalho da Tabela. */ $sHtmlBuffer = "<TABLE name=\"$id_table\" id=\"$id_table\" $table_cor class=\"$class_css\" >\n"; /* Remanejá a ordenação da tabela para ASC e DESC conforme o click! */ $tipo_ord = "ASC"; if (isset($_GET['ordaddtgd'])) { $tipo_ord = $_GET['ordaddtgd']; if ($_GET['ordaddtgd']=="ASC") $tipo_ord = "DESC"; else $tipo_ord = "ASC"; } /* Monta os Rotulos da Tabela. */ $sHtmlBuffer .= "<TR>\n"; for($i=0;$i<$iTotCampos;$i++) { if ( ($iTotOrderBys!=0) && ($valores[$i]==@$orderbys[$i]) ) $sHtmlBuffer .= "<TH onClick=\"window.location.href = '".$_SERVER['PHP_SELF']."?orddtgd=$orderbys[$i]&ordaddtgd=$tipo_ord'\" style=\"CURSOR: HAND;\" >".$campos[$i]."</TH>\n"; else $sHtmlBuffer .= "<TH>".$campos[$i]."</TH>\n"; } $sHtmlBuffer .= "</TR>\n"; /* Verifica se foi solicitada uma ordenação caso for aplica ao sql. */ if (isset($_GET['orddtgd'])) { $sql .= " ORDER BY ".$_GET['orddtgd']." ".$_GET['ordaddtgd']; } /* Monta a Clausula SQL já Paginada! */ $sql .= " LIMIT ".$fator.",".$regs_pag; /* Excecuta o SQL. */ $query = mysql_query($sql,$cnn); /* Percore todos os resultados. */ $count = 0; while (($array = mysql_fetch_array($query))!=null) { /* Monta os Valores da Tabela. */ $sHtmlBuffer .= "<TR id=\"tr".$id_table."".$count."\" ".$tr_cor; $sBufferChaves = ""; /* Verifica se foi passada alguma chave. */ if ($iTotchaves!=0) { /* Percoré todas as chaves da tabela. */ for($j=0;$j<$iTotchaves;$j++) { $sBufferChaves .= $array[$dados_chave_sbm[$j]].";"; } } /* Monta Js do detahle da tabela. */ if ($sBufferChaves!="") { $sHtmlBuffer .= " onClick=\" window.location.href = '".$_SERVER['PHP_SELF']. "?".$nome_var_chave_sbm."=".$sBufferChaves."'; \" Style=\"CURSOR: HAND;\" "; } $sHtmlBuffer .= " >\n"; for($i=0;$i<$iTotValores;$i++) { $sHtmlBuffer .= "<TD>"; if ($array[$valores[$i]]=="") { $sHtmlBuffer .= " "; } else { $sHtmlBuffer .= $array[$valores[$i]]; } $sHtmlBuffer .= "</TD>\n"; } $sHtmlBuffer .= "</TR>\n"; $count++; } /* Fecha a tabela */ $sHtmlBuffer .= "</TABLE>\n"; /* Mostra a Lista de Páginas. */ $sHtmlBuffer .= "<TABLE id=\"tbPag$id_table\" name=\"tbPag$id_table\" >"; $sHtmlBuffer .= "<TR>"; $sHtmlBuffer .= "<TD><p class=\"$css_pag\" >"; /* Mostra paginação somente no caso de ter duas paginas. */ if ($iTotPaginas>1) { /* Determina a pagina atual da paginação de paginas. */ $count = 0; if ($pag_pag_atual==0) $i = 1; else $i = $pag_pag_atual; /* Mostra o rotulo/link para primeira pagina */ if ($pagina_atual==1) { $sHtmlBuffer .= " [1ª]"; } else { $sHtmlBuffer .= "[<a href=\"".$_SERVER['PHP_SELF']. "?dtgdpagat=1"; if (isset($_GET['orddtgd'])) $sHtmlBuffer .= "&orddtgd=".$_GET['orddtgd']; if (isset($_GET['ordaddtgd'])) $sHtmlBuffer .= "&ordaddtgd=".$_GET['ordaddtgd']; $sHtmlBuffer .= " \" >1ª</a>]"; } /*Monta o Paginador de paginas para traz. */ if ( ($pag_pag_atual-1!="") && (($pag_pag_atual-1)>0)) { $ant_pag = ($pag_pag_atual-$tot_pag_pag); $sHtmlBuffer .= " - <a href=\"".$_SERVER['PHP_SELF']. "?dtgdpagat=".($ant_pag+($tot_pag_pag-1))."&dtgdpgpgat=".$ant_pag.""; if (isset($_GET['orddtgd'])) $sHtmlBuffer .= "&orddtgd=".$_GET['orddtgd']; if (isset($_GET['ordaddtgd'])) $sHtmlBuffer .= "&ordaddtgd=".$_GET['ordaddtgd']; $sHtmlBuffer .= " \" > << </a>"; } /* Monta o link para todas as outras paginas! */ for(;$i<$iTotPaginas+1;$i++) { if ($tot_pag_pag==$count) break; if ($pagina_atual==$i) { $sHtmlBuffer .= " - ".$i; } else { $sHtmlBuffer .= " - <a href=\"".$_SERVER['PHP_SELF']. "?dtgdpagat=".$i."&dtgdpgpgat=".$pag_pag_atual.""; if (isset($_GET['orddtgd'])) $sHtmlBuffer .= "&orddtgd=".$_GET['orddtgd']; if (isset($_GET['ordaddtgd'])) $sHtmlBuffer .= "&ordaddtgd=".$_GET['ordaddtgd']; $sHtmlBuffer .= " \" >".$i."</a>"; } $count++; } /*Monta o Paginador de paginas para frente */ if (($pag_pag_atual+$tot_pag_pag-1)!=$iTotPaginas) { $prox_pag = ($pag_pag_atual+($i-$pag_pag_atual)); $sHtmlBuffer .= " - <a href=\"".$_SERVER['PHP_SELF']. "?dtgdpagat=".$prox_pag."&dtgdpgpgat=".$prox_pag.""; if (isset($_GET['orddtgd'])) $sHtmlBuffer .= "&orddtgd=".$_GET['orddtgd']; if (isset($_GET['ordaddtgd'])) $sHtmlBuffer .= "&ordaddtgd=".$_GET['ordaddtgd']; $sHtmlBuffer .= " \" > >> </a>"; } /* Montagem do link de ultima pagina para a paginação. */ if ($pagina_atual==$iTotPaginas) { $sHtmlBuffer .= " [ultima]"; } else { $prox_pag = ($iTotPaginas-$tot_pag_pag+1); $sHtmlBuffer .= " [<a href=\"".$_SERVER['PHP_SELF']. "?dtgdpagat=".$iTotPaginas."&dtgdpgpgat=".$prox_pag.""; if (isset($_GET['orddtgd'])) $sHtmlBuffer .= "&orddtgd=".$_GET['orddtgd']; if (isset($_GET['ordaddtgd'])) $sHtmlBuffer .= "&ordaddtgd=".$_GET['ordaddtgd']; $sHtmlBuffer .= " \" >ultima</a>]"; } /* Fecha a Tabela de Paginação */ $sHtmlBuffer .= "</p></TD>"; $sHtmlBuffer .= "</TR>"; $sHtmlBuffer .= "</TABLE>"; } /* Liberá a query da memoria do banco. */ mysql_free_result($query); /* Mostra a DataGrid na tela */ echo $sHtmlBuffer; } } ?> Teste Funcional. teste.php <style> .pag { COLOR: darkblue; BACKGROUND-COLOR: gainsboro; } </style> <?php include_once("HTML.php"); $cnn = mysql_connect("localhost","root",""); mysql_select_db("banco",$cnn); $sql = "Select * from encontros"; $sql_count = "Select count(*) from encontros"; $rot = array("Data","Descrição","Inicio"); $val = array("data","descricao","inicio"); $orderbys = array("data","descricao"); $chaves = array("cod","data"); $tablela_cor = "cellSpacing=\"1\" cellPadding=\"1\" width=\"100%\" border=\"3\" bordercolor=\"steelblue\""; $tr_cor = ""; HTML::createDataGrid ("dtgdDados", "", $rot, $val, $orderbys, $sql,$cnn, 5,$sql_count, $tablela_cor, $tr_cor,"pag",5, $chaves, "testeChaves"); if (isset($_GET['testeChaves'])) echo "Chaves vindas como: [testeChaves]= ".$_GET['testeChaves']; ?> </BODY> :: E eras isso, até a prox. :: B)
  23. Script postado por: dmetallica :: DataGrid :: *Pessoal fiz uma classe que gerá uma datagrid, agora ficou muito mais facil e rápido de gerar uma tabela com paginação e ordenação! *Atenção: Fiz esse código com PHP 5.0.1 e para Mysql 4.0 segue o código: HTML.php <?php /* * Classe: HTML * Finalidade: Abstrair o acesso HTML como visualizações e montagem de componentes. * Design Pattern: ... * Data: 08/12/2005 00:05:00.000 * Autor: Diego Pacheco * Contato: pacheco_programador@hotmail.com * */ class HTML { private function __construct() {} /****************************************************************************************************************** * * Metodo que Cria uma DataTable com: * >>> Cabeçalho * >>> Valores da Base * >>> Ordenação por cabeçãlho * >>> Paginação * * PARRAMETROS: * * > id_table :: String contendo o nome da tabela, será atribuido ao id também. * > class_css :: String [opcional] o nome da classe css que a tabela se adpta. * > campos :: array com todos os rotulos da tabela(TH). * > valores :: array com os valores, nome extatos da base que será listados. * > orderbys :: array [opcional] com os orders bys a serem executados com suas respectivas colunas. * > sql :: String sql a ser executada para montar a DataGrid. * > cnn :: Conexão ativa com a base de dados. * > regs_pag :: número total de registros por páginas, default 10. * > sql_count :: sql com a agregate function count(), obrigatório para poder fazer a paginação. * > table_cor :: [OPCINAL]Corringa que pode ter qualquer conteúdo: HTML,CSS,JS que será colocado no cab da tabela. * > tr_cor :: [OPCINAL]Corringa que pode ter qualquer conteúdo: HTML,CSS,JS que será colocado no TR da tabela. * * OBS: * * 1. Os arrays "valores" e "campos" devem ter o mesmo tamanho. * 2. O array "orderbys" prescisa ter a mesma ordem dos arrays "valores" e "campos". * ******************************************************************************************************************/ static public function createDataGrid($id_table,$class_css = "",$campos,$valores,$orderbys = "",$sql,$cnn,$regs_pag = 10,$sql_count,$table_cor = "",$tr_cor = "") { /* Pega o Total de Campos e Valores. */ $iTotCampos = count($campos); $iTotValores = count($valores); $iTotOrderBys = ( ( $orderbys == "" ) ? 0 : count($orderbys) ); /* Executa o SQL Count e descobe quantos registros tem. */ $query_count = mysql_query($sql_count,$cnn); $array_count = mysql_fetch_array($query_count); $iTotRegistros = $array_count[0]; /* Pega o Total de Paginas */ $iTotPaginas = ceil($iTotRegistros/$regs_pag); /* Remanejá a pagina Atual. */ if (!isset($_GET['dtgdpagat'])) { $pagina_atual = 0; } else { $pagina_atual = $_GET['dtgdpagat']; } /* Pega o Fator Registro/Pagina */ $fator = ($regs_pag*$pagina_atual); /* Monta o Cabeçalho da Tabela. */ $sHtmlBuffer = "<TABLE name=\"$id_table\" id=\"$id_table\" $table_cor class=\"$class_css\" >\n"; /* Remanejá a ordenação da tabela para ASC e DESC conforme o click! */ $tipo_ord = "ASC"; if (isset($_GET['ordaddtgd'])) { $tipo_ord = $_GET['ordaddtgd']; if ($_GET['ordaddtgd']=="ASC") $tipo_ord = "DESC"; else $tipo_ord = "ASC"; } /* Monta os Rotulos da Tabela. */ $sHtmlBuffer .= "<TR>\n"; for($i=0;$i<$iTotCampos;$i++) { if ( ($iTotOrderBys!=0) && ($valores[$i]==@$orderbys[$i]) ) $sHtmlBuffer .= "<TH onClick=\"window.location.href = '".$_SERVER['PHP_SELF']."?orddtgd=$orderbys[$i]&ordaddtgd=$tipo_ord'\" style=\"CURSOR: HAND;\" >".$campos[$i]."</TH>\n"; else $sHtmlBuffer .= "<TH>".$campos[$i]."</TH>\n"; } $sHtmlBuffer .= "</TR>\n"; /* Verifica se foi solicitada uma ordenação caso for aplica ao sql. */ if (isset($_GET['orddtgd'])) { $sql .= " ORDER BY ".$_GET['orddtgd']." ".$_GET['ordaddtgd']; } /* Monta a Clausula SQL já Paginada! */ $sql .= " LIMIT ".$fator.",".$regs_pag; /* Excecuta o SQL. */ $query = mysql_query($sql,$cnn); /* Percore todos os resultados. */ $count = 0; while (($array = mysql_fetch_array($query))!=null) { /* Monta os Valores da Tabela. */ $sHtmlBuffer .= "<TR id=\"tr".$id_table."".$count."\" ".$tr_cor." >\n"; for($i=0;$i<$iTotValores;$i++) { $sHtmlBuffer .= "<TD>"; if ($array[$valores[$i]]=="") { $sHtmlBuffer .= " "; } else { $sHtmlBuffer .= $array[$valores[$i]]; } $sHtmlBuffer .= "</TD>\n"; } $sHtmlBuffer .= "</TR>\n"; $count++; } /* Fecha a tabela */ $sHtmlBuffer .= "</TABLE>\n"; /* Mostra a Lista de Páginas. */ for($i=0;$i<$iTotPaginas;$i++) { $sHtmlBuffer .= "|<a href=\"".$_SERVER['PHP_SELF']. "?dtgdpagat=".$i; if (isset($_GET['orddtgd'])) $sHtmlBuffer .= "&orddtgd=".$_GET['orddtgd']; if (isset($_GET['ordaddtgd'])) $sHtmlBuffer .= "&ordaddtgd=".$_GET['ordaddtgd']; $sHtmlBuffer .= " \" >".$i."</a>"; } $sHtmlBuffer .= "|"; /* Liberá a query da memoria do banco. */ mysql_free_result($query); /* Mostra a DataGrid na tela */ echo $sHtmlBuffer; } } ?> Teste Funcional teste.php <? include_once("HTML.php"); $cnn = mysql_connect("localhost""root",""); mysql_select_db("banco",$cnn); $sql = "Select * from pessoas"; $sql_count = "Select count(*) from pessoas"; $rot = array("Idade","Nome","Sexo"); $val = array("idade","nome","sexo"); $orderbys = array("idade","nome"); $tablela_cor = "cellSpacing=\"1\" cellPadding=\"1\" width=\"100%\" border=\"3\" bordercolor =\"steelblue\""; $tr_cor = ""; HTML::createDataGrid("dtgdDados","",$rot,$val,$orderbys,$sql,$cnn,5,$sql_count,$tablela_cor,$tr_cor); ?> :: B)
  24. Beraldo

    Como faço Pra Ligar No Mysql?

    Você quer saber como se faz o quê? Explique melhor sua dúvida. []'s
  25. Beraldo

    Duvida Rodape Do Site

    Sem querer ser chato, mas poderia traduzir esta parte para mim? A essência de sua dúvida está aí, mas não consegui entender essa parte. []'s
×
×
  • Criar Novo...