Ir para conteúdo
Fórum Script Brasil

Beraldo

Veteranos
  • Total de itens

    4.466
  • Registro em

  • Última visita

Tudo que Beraldo postou

  1. Beraldo

    Formulario Dando Erro

    Primeiramente, bem-vinda ao fórum. :) && $sugesti Não é sugesti, é sugestão. ;) Corrija e veja se funciona. Se houver mensagem de erro, poste-a. []'s
  2. Beraldo

    Calculo De Horas

    Eu prefiro converter tudo para segundos para realizar as operações: <?php $entrada = "2007-02-14 22:00:00"; $tempo = 6; $segs_entrada = strtotime ($entrada); $segs_tempo = $tempo * 60 * 60; $segs_saida = $segs_entrada + $segs_tempo; echo date ("d/m/Y H:i", $segs_saida); ?> []'s
  3. Beraldo

    Calculando Com Php

    HTML não, mas PHP, sim. Considerando que o formulário tem método POST: $v1 = (int) $_POST['valor1']; $v2 = (int) $_POST['valor2']; echo $v1 + $v2; Coloquei o (int) para ter certeza de que o valor usado na soma é inteiro, mas também pode-se usar o tipo double (ou float). Veja também: http://br2.php.net/settype http://br2.php.net/manual/pt_BR/language.o....arithmetic.php http://br2.php.net/manual/pt_BR/ref.math.php http://br2.php.net/manual/pt_BR/ref.bc.php []'s
  4. Vá ao site do Google ( http://www.google.com.br :P) e clique em Tudo Sobre o Google. Depois haverá um link Adicionar / Remover Site (ou algo assim). Clique ali, leia as instruções e divirta-se! :D Esse registro de site é gratuito, mas há outros tipos de publicação, que têm uma daterminada taxa. Mas aí eu já não sei dizer... []'s
  5. As funções são quase iguais. Dê uma olhada no Manual sobre as funções do MySQL: http://br.php.net/mysql Tente fazer, se não conseguir, volte aqui, que damos uma mãozinha. ;) []'s
  6. Essa semana desenvolvi um calendário para um cliente e resolvi postar o código-fonte básico do funcionamento dele. :D Além dos feriados fixos, também são exibidos os móveis. ;) Vocês verão que há a função MostrarCalendario() e MontarCalendario(). O motivo pelo qual essas duas funções existem é que o cliente pediu para exibir o mês atual e o próximo, então eu MontarCalendario() duas vexzes em MostrarCalendario(). Mantive dessa forma para, caso alguém pecise fazer isso, já está no meio do caminho. :D Adicionei a opção de mostrar o calendário em português ou inglês, porém ainda falta traduzir os feriados. Mas isso fica para outra hora. :P Lembrando que desenvolvi para PHP 5.0 ou superior. ;) <?php ############################################# # # # Autor: Roberto Beraldo Chaiben (Beraldo) # # E-Mail: rbchaiben[arroba]gmail.com # # # ############################################# /*******************************************/ /* Desenvolvido para PHP 5.0 ou superior */ /******************************************/ /* Classe para mostrar o calendário de qualquer mês e ano em língua portuguesa ou inglesa. */ class Calendario { //firiados fixos protected $feriados = array ( "01/01" => "Confraternização Universal", "21/04" => "Tiradentes", "01/05" => "Dia do Trabalho", "07/09" => "Independência do Brasil", "12/10" => "Nossa Senhora Aparecida", "02/11" => "Finados", "15/11" => "Proclamação da República", "25/12" => "Natal" ); /* Função __construct() Esta função é chamada automaticamente aqo instanciar o objeto Calendario. Ela adiciona à variável $feriados as datas dos feriados móveis e seus respectivos nomes. O parâmetro 'ano' existe para que sejam geradas corretamente as datas dos feriados móveis. Se ele não for passado, o ano corrente será considerado. */ public function __construct($ano = NULL) { $ano = ($ano == NULL) ? date("Y") : $ano; //adição de feriados móveis ao calendário //Páscoa $data_pascoa = date ("d/m/Y", easter_date($ano)); list ($dia_pascoa, $mes_pascoa, $ano_pascoa) = explode ("/", $data_pascoa); $this->feriados[$dia_pascoa . "/" . $mes_pascoa] = "Páscoa"; //carnaval => Páscoa - 47 dias $data_carnaval = $this->SubtrairDias ($data_pascoa, 47); list ($carnaval_dia, $carnaval_mes, $carnaval_ano) = explode ("/", $data_carnaval); $this->feriados[$carnaval_dia . "/" . $carnaval_mes] = "Carnaval"; //Corpus Christi => Páscoa + 60 dias $data_corpus = $this->SomarDias ($data_pascoa, 60); list ($corpus_dia, $corpus_mes, $corpus_ano) = explode ("/", $data_corpus); $this->feriados[$corpus_dia . "/" . $corpus_mes] = "Corpus Christi"; //Paixão de Cristo (Sexta-feira Santa) => Páscoa - 2 dias $data_paixao_cristo = $this->SubtrairDias ($data_pascoa, 2); list ($paixao_cristo_dia, $paixao_cristo_mes, $paixao_cristo_ano) = explode ("/", $data_paixao_cristo); $this->feriados[$paixao_cristo_dia . "/" . $paixao_cristo_mes] = "Paixão de Cristo"; /* O cálculo da data do Dia das Mães está como comentário, por não se tratar de um feriado. Caso queira que ele seja exibido no caléndário, basta descomentar esta parte do código,retirando o '\/*' da linha 71 e o '*\/' da linha 85. */ /* //Dia Das Mães => Segundo Domingo de Maio //para encontrar a data do Dia Das mães, procura-se o primeiro domingo de maio e soma-se 7 unidades ao dia encontrado. for ($m = 1; $m <= 15; $m++) { if (date ("w", mktime (0, 0, 0, 5, $m, $ano)) == 0) { //soma 7 dias ao primeiro domingo $dia_maes = $m + 7; break; } } $this->feriados[$dia_maes . "/05"] = "Dia das Mães"; */ /* O cálculo da data do Dia dos Pais está como comentário, por não se tratar de um feriado. Caso queira que ele seja exibido no caléndário, basta descomentar esta parte do código,retirando o '\/*' da linha 92 e o '*\/' da linha 106. */ /* //Dia Dos Pais => Segundo Domingo de Agosto //para encontrar a data do Dia Dos Pais, procura-se o primeiro domingo de agosto e soma-se 7 unidades ao dia encontrado. for ($m = 1; $m <= 15; $m++) { if (date ("w", mktime (0, 0, 0, 8, $m, $ano)) == 0) { //soma 7 dias ao primeiro domingo $dia_pais = $m + 7; break; } } $this->feriados[$dia_pais . "/08"] = "Dia dos Pais"; */ }//fim da função __construct() /* Função MostrarCalendario() Exibe o calendário na tela. O parâmetro 'mês' corresponde ao mês exibido no calendério. Se nenhum parâmetro for passado, o mês corrente será considerado. Esse parâmetro deve ser um inteiro entre 1 e 12. O parâmetro 'ano' corresponde ao ano exibido no calendário. Se não for especificado, será considerado o ano corrente. 'ano' deve ser especificado com quatro dígitos. O parêmetro 'lang' define a língua em que o calendário será exibido. 'pt' exibe o calendário em português; 'en', em inglês. Se esse parâmetro não for informado, será exibido em português. */ public function MostrarCalendario($mês = NULL, $ano = NULL, $lang = "pt") { $lang = strtolower ($lang); //verifica o valor de $lang, para definir setlocale() switch ($lang) { case "pt": setlocale (LC_TIME, "pt_BR", "ptb", "portuguese-brazil", "bra"); break; case "en": setlocale (LC_TIME, "en_US", "en"); break; default: setlocale (LC_TIME, "pt_BR", "ptb", "portuguese-brazil", "bra"); break; } //verificação do mês if ($mês != NULL) { if (!is_int ($mês) || $mês < 1 || $mês > 12) { echo "<p>Função <strong>". __FUNCTION__ ."</strong>: Valor incorreto para o parâmetro \"mês\".</p>"; return false; } } else { $mês = strftime ("%m"); } //verificação do ano if ($ano != NULL) { if (!is_int ($ano) || strlen($ano) != 4) { echo "<p>Função <strong>". __FUNCTION__ ."</strong>: Valor incorreto para o parâmetro \"ano\"</p>"; return false; } } else { $ano = strftime ("%Y"); } //exibe o calendário $this->MontarCalendario ($mês, $ano); } /* Função MontarCalendario() Monta o calendário, para que seja exibido quando a função for chamada pela MostrarCalendario(). */ protected function MontarCalendario($mês, $ano) { //dia de hoje $dia = strftime ("%d"); //nome do mês $nome_mes = strftime ("%B", mktime (0, 0, 0, $mês, 1, $ano)); //total de dias do mês corrente $dias_mes = date("t", mktime (0, 0, 0, $mês, 1, $ano)); //tabela que exibe o calendário echo " <table width=\"210\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"border: solid 1px #000;\"> <tr> <td colspan=\"7\" style=\"text-align: center; background: #ccc;\"> ". ucwords ($nome_mes) ." - ". $ano ." </td> </tr> <tr>\r\n"; //mostra os dias da semana abreviadamente (Dom a Sáb ou Sun a Sat) for ($i = 1; $i <= 7; $i++) { //escolhe-se o mês de julho, pois ele se inicia em um domingo $abrev_dia = ucwords (strftime ("%a", mktime (0, 0, 0, 7, $i, 2007))); echo "<td style=\"border-bottom: solid 1px #000;". (($abrev_dia == "Dom") ? " color: red;" : "") ."\">". $abrev_dia ."</td>\r\n"; } echo "</tr>\r\n"; $k = 1; for ($i = 1; $i <= 6; $i++) { echo "<tr>\r\n"; for ($j = 0; $j < 7; $j++) { $dias = date("w", mktime(0, 0, 0, $mês, $k, $ano)); if ($dias == $j AND $k <= $dias_mes) { $domingo = ""; $feriado = ""; if ($dias == 0) $domingo = " color: red;"; //verifica os feriados foreach ($this->feriados as $data_feriado => $nome_feriado) { list ($dia_feriado, $mes_feriado) = explode ("/", $data_feriado); if ($k == $dia_feriado AND $mês == $mes_feriado) { $feriado = " color: red; cursor: help;"; $feriado_nome = $nome_feriado; } } $hoje = ""; if ($k == $dia AND $mês == strftime("%m") AND $ano == strftime("%Y")) $hoje = " background: #ccc;"; echo "<td style=\"text-align: center;". ($feriado . $domingo . $hoje . "\"") . (($feriado != '') ? " title=\"". $feriado_nome ."\"" : "") .">" . sprintf("%02d", $k) . "</td>\r\n"; $k++; } else echo "<td> </td>\r\n"; } echo "</tr>"; } echo "</table>\r\n"; } /* Função SomarDias() Usada para calcular a data de feriados móveis. Esta função adiciona 'n_dias' à data 'data', passado como argumento, a qual deve estar no formato dd/mm/yyyy ou yyyy-mm-dd. O argumento 'forma' serve para especificar o formato da data retornada. Ele pode conter os seguintes valores: "pt" => Retornará a data no formato DD/MM/YYYY "en" => Retornará a data no formato YYYY-MM-DD Se 'forma' não for especificada, adotar-se-á a forma brasileira (pt). */ public function SomarDias ($data, $n_dias, $forma = "pt") { if (!is_int ($n_dias)) { echo "<p>Função <strong>". __FUNCTION__ ."</strong>: o argumento \"n_dias\" deve ser um número inteiro.</p>"; return false; } $forma = strtolower ($forma); if ($forma != "en" AND $forma != "pt") $forma = "pt"; if (preg_match ("/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/", $data)) list ($dia, $mês, $ano) = explode ("/", $data); elseif (preg_match ("/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/", $data)) list ($ano, $mês, $dia) = explode ("-", $data); else { echo "<p>Função <strong>". __FUNCTION__ ."</strong>: Formato de data inválido (". $data .").</p>"; return false; } //transforma $n_dias em segundos //86400 = 60 * 60 * 24 $segs_n_dias = $n_dias * 86400; // tranforma $data em timestamp $segs_data = strtotime ($ano . "-" . $mês . "-" . $dia); $segs_nova_data = $segs_data + $segs_n_dias; $nova_data = ($forma == "pt") ? date("d/m/Y", $segs_nova_data) : date("Y-m-d", $segs_nova_data); return $nova_data; } /* Função SubtrairDias() Usada para calcular a data de feriados móveis. Esta função subtrai 'n_dias' da data 'data', passado como argumento, a qual deve estar no formato dd/mm/yyyy ou yyyy-mm-dd. O argumento 'forma' serve para especificar o formato da data retornada. Ele pode conter os seguintes valores: "pt" => Retornará a data no formato DD/MM/YYYY "en" => Retornará a data no formato YYYY-MM-DD Se 'forma' não for especificada, adotar-se-á a forma brasileira (pt). */ public function SubtrairDias ($data, $n_dias, $forma = "pt") { if (!is_int ($n_dias)) { echo "<p>Função <strong>". __FUNCTION__ ."</strong>: O argumento \"n_dias\" deve ser um número inteiro.</p>"; return false; } $forma = strtolower ($forma); if ($forma != "en" AND $forma != "pt") $forma = "pt"; if (preg_match ("/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/", $data)) list ($dia, $mês, $ano) = explode ("/", $data); elseif (preg_match ("/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/", $data)) list ($ano, $mês, $dia) = explode ("-", $data); else { echo "<p>Função <strong>". __FUNCTION__ ."</strong>: Formato de data inválido (". $data .").</p>"; return false; } //transforma $n_dias em segundos //86400 = 60 * 60 * 24 $segs_n_dias = $n_dias * 86400; // tranforma $data em timestamp $segs_data = strtotime ($ano . "-" . $mês . "-" . $dia); $segs_nova_data = $segs_data - $segs_n_dias; $nova_data = ($forma == "pt") ? date("d/m/Y", $segs_nova_data) : date("Y-m-d", $segs_nova_data); return $nova_data; } } ?> Forma de usar: $Cal = new Calendario; $Cal->MostrarCalendario(); $Cal->MostrarCalendario(2, 2008); $Cal->MostrarCalendario(2, 2007, "en"); $Cal->MostrarCalendario(2, 2008, "en"); O código está bem comentado, mas se alguém tiver dúvidas, pode postá-las! Abraços
  7. Beraldo

    Calendario

    http://forum.imasters.com.br/index.php?sho...p;hl=calendario Esse está simples, mas funcional. Estou terminando um mais completo, com feriados e tal, e logo vou postar no sub-fórum Códigos Porntos. :D []'s
  8. Aprendi tudo na Internet. Não comprei livros, mas com certeza, se bem escolhidos, irão trazer-lhe muitos benefícios. Como o ESerra disse, é preciso tomar cuidado com apostilas da Internet, já que o PHP passou por muitas mudanças, fazendo com que muitos códigos antigos não funcionem nas atuais e futuras versões do PHP. Para iniciar, eu lhe recomendo o curso de PHP criado pelo pessoal do iMasters. O link é este: http://forum.imasters.com.br/index.php?showforum=159 O curso está dividido em módulos e é excelente! :D []'s
  9. Beraldo

    Enviar Arquivo .doc

    O arquivo no servidor está com cifrão. Retire-o e poste a mensagem de erro. []'s
  10. Poste seu código para vermos o que pode estar ocasionando isso. ;) []'s
  11. Beraldo

    Enviar Arquivo .doc

    Provavelmente o nome do campo do arquivo de upload não é "arquivo". assim funcionará: <input type="file" name="arquivo" />
  12. Se você tiver a URL exluir.php?dir=dir1&file=arquivo, vocÊ pegará esses dados assim: $path = $_GET['dir']; $arq = $_GET['file']; if (file_exists ($path . "/" . $arq)) unlink ($path . "/" . $arq; Veja urlendoe() e urldecode(). Use-as para que não haja caracteres inválidos na URL. []'s
  13. Beraldo

    Enviar Arquivo .doc

    No início do script,, coloque: error_reporting (E_ALL); ini_set ("display_errors", 1); E veja se aparece algum erro. Talvez o diretório não tenha permissão de escrita. []'s
  14. Beraldo

    Enviar Arquivo .doc

    Tente retirar o cifrão do 'arquivo' e deixar a linha do upload assim: if (move_uploaded_file($_FILES["$arquivo"]["tmp_name"], $nome_compl)) { Você também esqueceu os cifrões daqui: nome = '$nome', tel = '$tel', arquivo = '$nome', data = '$data'";
  15. Ah, pensei que você queria saber qual função estava retirando os valores repetidos... :) A função que apresenta a array daquela forma é realmente a print_r(). Se vocÊ der um echo em um array (echo $array), será apresentado Array. Coicidentemente isso equivaleria a: echo gettype ($array);//desde que $array seja um array Uso a tag <pre> para que sejam interpretados os espaços gerado pela função print_r(). []'s
  16. Beraldo

    Enviar Arquivo .doc

    Troque: if($REQUEST_METHOD == "POST") por if($_SERVER['REQUEST_METHOD'] == "POST") isso não gerará problemas se você rodar o script num servidor com register_globals = off. Aliás, não é recomendado usar register_globals = on. ;) isto está errado: $query = "Insert into ac_curriculos set Deveria ser: Insert Into tabela Values (valor1, valor2,...); Quanto à sua dúvida principal, o que acontece? Aparece algum erro ou o arquivo apenas não é enviado? []'s
  17. Você teria que colocar um link aqui: echo "<li>" . $file . $filesize . "<a href=\"excluir.php?dir=" . $path ."&file=" . $file. "\">Exluir</a></li>"; Daí você chama a função unlink() no excluir.php, usando as informações passadas na URL.
  18. Esta linha faz isso: $nomes_unique = array_unique ($nomes); ;) []'s
  19. DÊ uma olhada neste exemplo: <?php $nomes = array(); $sNome = "Adriana Bete Beraldo Maria João Adriana Beraldo João José Beraldo Bete"; $ex = explode (" ", $sNome); for ($z = 0; $z < count ($ex); $z++) { $nomes[$z] = $ex[$z]; } echo "<pre>"; print_r ($nomes); echo "</pre>"; $nomes_unique = array_unique ($nomes); echo "<pre>"; print_r ($nomes_unique); echo "</pre>"; ?> :D []'s
  20. A sintaxe SQL está correta, mas creio que você não conseguirá fazer com que esses registros não se repitam pois estão em tabelas diferentes.. O que você pode fazer é colocar todo o resultado do select em um array e apagar os repetidos usando array_unique() http://br.php.net/manual/pt_BR/function.array-unique.php []'s
  21. Beraldo

    Saber Onde Está Rodando

    System não é uma variável, por isso não pode resgatar aquele valor por script. Se você olhar no phpinfo, verá que há várias variáveis que exibem o diretório raiz do sistema, path, etc. É possível fazer uma verificação deles para saber o Sistema Operacional. Outra maneira eficiente é testar o PATH_SEPARATOR: if (PATH_SEPARATOR == ";") //windows else //unix Windows => ; Unix => : []'s
  22. Beraldo

    Saber Onde Está Rodando

    Acesse o phpinfo e veja a primeira linha (System). ;) phpinfo <?php phpinfo(); ?> []'s
  23. Leia as regras antes de postar. O título do seu tópico foi editado. Como citado pelo W.V, isso é puro HTML, mas como está dentro do echo, devem-se escapar as aspas: echo "<tr>"; echo "<td><img src=\"image.jpg\" alt=\"\" /><b>{$linha['sobrenome']}</b> {$linha['nome']}</td>"; echo "</tr>";
×
×
  • Criar Novo...