Ir para conteúdo
Fórum Script Brasil

Leo Todeschini

Membros
  • Total de itens

    30
  • Registro em

  • Última visita

Tudo que Leo Todeschini postou

  1. Leo Todeschini

    Pdf

    Eu achei este artigo que pode te ajudar!!! Muito simples de entender e o mais legal... usa uma extensão open-source Ahh e de quebra é em português... o que você quer mais Leonardo Todeschini
  2. Leo Todeschini

    Mais Outra Ajuda?

    Bom... vamos lá... fiz um exemplo simples, porém completamente funcional... O formulário de envio pode ser um .php pu um .html, você decide... O código de form.php ou form.html seria: O código acima faz referência a um arquivo chamado sendmail.php, que ai está: Espero ter ajudado... Qualquer dúvida pode dizer!!!! Uma abraço Leonardo Todeschini
  3. Leo Todeschini

    Desafio Php

    Existe outras sim fsphp... Podemos citar funções de casting (conversão de tipo) da mesma linha de intval como: Função: strval Sintaxe: string strval ( mixed var) Objetivo: converte qualquer tipo NÃO string em um string... Ex.: $inteiro = 10; $str = "O resultado é ".$inteiro; Repare que será executado $str = "O resultado é ".strval(10); ou seja $str = "O resultado é "."10"; Outra Função: floatval Sintaxe: float floatval ( mixed var) Objetivo: converte uma variável em float... a mesma filosofia de intval Ex.: $variavel = '122.34343STRING'; $valor_float = floatval ($variavel); print $valor_float; // mostra 122.34343 (Obs.: Código retirado da documentação do PHP) Bom, uma coisa que muitas pessoas não sabem é que pode-se declarar variáveis em PHP, talvez nós não às declaramos por conveniência ou por preguiça (hehehe) ou quem sabe porque o PHP já faz isso pra nós... Vejamos como declarar variáveis em PHP: Sem declarações: $a = 10; // automaticamente essa variável se torna um inteiro, pela atribuição recebida.. $b = 20.48; // a mesma coisa acontece aqui.. pela atribuição a variável se torna um float... $c = $a + $b; // Na soma por questões de precedência... tudo é transformado em float e o resultado obtido em $c é 30.48 Com declarações: settype($a,"integer"); settype($b,"float"); settype($c,"float"); $a = 10; $b = 20.48; $c = $a + $b; Obs.: a vantagem aqui é que sabemos quais são os tipos das variáveis, porém vale lembrar que se $c tivesse sido declarado como um inteiro, tb teríamos um $c float no final.. por respeito a essa precedência de tipos. Nota: Os tipos suportados pelo PHP são: - boolean - integer - float - string - array - object - null //disponível só a partir da versão 4.2.0 do PHP Bom fsphp, acho que está ilustrado mais algumas funções que agem por debaixo dos panos em PHP, espero ter respondido a dúvida e obrigado por se interessar pelo tópico... Abraços Leonardo Todeschini, ou simplesmente Leo
  4. Leo Todeschini

    Desafio Php

    Deixarei minha resposta ao enigma... Bom vamos lá: Antes falarei sobre um tema que discuti com Daniel Kushner o diretor educacional da Zend (Empresa responsável pelo PHP que trabalhamos hj) em um email sobre uma dúvida que tive na função intval, cuja sintaxe é: int intval ( mixed var [, int base]) Bom, essa função é chamada automaticamente quando tentamos realizar uma operação lógica ou aritmética entre inteiros e strings, em especial nas strings, tentando transformar essas em um possível inteiro. O PHP só realiza esse casting (conversão de tipos) por não haver uma definição prévia das variáveis envolvidas num script. Então, se analisando uma situação do tipo: $a = (10=="10"); PHP trataria assim: $a = (10==intval("10")); O resultado disso é mais previsível... seria: $a = (10==10); $a = 1; Até ai tudo bem... mas nossos problemas e dúvidas ainda não se esgotaram.. Como seria o resultado de: $a = (10=="10a"); Ai sim dissecamos o modo de trabalho de intval, pois pensamos em qual seria a lógica no tratamento dessa string? Será que a conversão NÃO seria feita por se tratar dessa string possuir um caracter alpha? Ou trataria somente a parte numérica separadamente? Bem, a resposta é simples. intval lê a matriz unidimensional "10a" e verifica se esta começa com um número.. se sim então procura por números adjacentes até o fim ou até encontrar um alpha. Se encontrar um alpha depois de um número qualquer na posição 0 desconsidera o restante e fica com o início numérico convertido em inteiros. Se a função encontrar um alpha na posição 0 então já encara a string como 0. Interessante isso, porque inval é chamada sem ser mostrada, é chamada automaticamente no sistema interno do PHP. Agora fica fácil de resolver o problema: $a = (10=="10a"); Internamente seria: $a = (10==intval("10a")); Agora sabemos que intval considera o início inteiro e quando encontra o caractere alpha "a" o ignora, assim como ignoriaria tudo que viesse depois, mesmo sendo um número. O resultado então seria: $a = (10==10); ou seja $a=1; outra vez. Outros exemplos de caso: $a = (15=="aeiou15"); intval trataria a string "aeiou15" como "false" ou 0, porque a mesma inicia-se com um alpha.. logo tudo que vem depois foi ignorado... inclusive os caracteres numéricos. Traduzindo seria: $a = (15==0); ou seja $a=0; Outro exemplo: $a = (12=="12b13c14f"); Na solução, a função intval verifica que a posição 0 da string é numérica ai então analisa o que há de números após a posição 0, enquanto houver números esses serão considerados, em nosso caso a posição 0 e 1.. porém o que vem depois é totalmente desconsiderado pelo fato de existir um b na posição 2 da string... mesmo tendo números após a posição 2, todo o resto é desconsiderado. Tento em mãos essas informações.. é simples como 2+2 resolver o enigma, veja: $r = ((($a==$d)+(($a==$d)&&(!$b))+(12==$c))*2); Traduzindo: $r = (((10==intval("10b"))+((10==intval("10b"))&&(!false)+(12==intval("a12")))*2); $r = (((10==10) + ((10==10)&&(true)) + (12==0))*2); $r = (((1)+(1&&1)+(0))*2); $r = (((1)+(1)+(0))*2); $r = ((2)*2); $r = 4; Espero que depois de entender intval, possa fazer sentido a explicação que dei. O problema aqui Não era saber o resultado, e sim entender melhor o funcionamento interno do PHP, para que possamos entender certas armadilhas. Obrigado pela atenção de todos, e espero ter adicionado algum conhecimento a vocês.. Abraços, Leonardo Todeschini
  5. Leo Todeschini

    Desafio Php

    Pessoal... ninguém se aventura? Ou ainda não tiveram tempo de tentar?
  6. Leo Todeschini

    Chmod 777

    me explica uma coisa... você quer mudar essa permissão usando um script php? ou usando um programa? Tenho várias opções pra oferecer... (1) Utilize um utilitário que fiz que se encontra aqui (2) Utilizando um prompt do ms-dos Vá em Iniciar -> Executar -> Escreva command e pressione ok faça os seguintes comandos: ftp www.seudominio.com.br (Obs.: Lógico que seudominio deve ser o nome de teu site... caso não seja .com.br coloque a extensão apropriada) digite o seu login digite sua senha entre no diretório onde está o arquivo que você queira mudar as permissões Ex.: cd public_html/diretorio no diretorio... faça o seguinte quote chmod 0777 nome_do_arquivo.txt pronto.. a permissão foi modificada Nota: Só usei o prompt do ms-dos por saber q é algo que qualquer um tem em seu sistema operacional.. Caso esteja operando um sistema Linux sobre um GUI (Interface gráfica) faça os mesmos passos, porém em um shell de comando.. (pode-se abrir um com o comando ALT-F2 e digitando xterm na tela que aparecerá) (3) Usando um script PHP (Recomendo pela segurança) <?php // Configure as variáveis abaixo $servername = "Nome do seu servidor ftp"; $login = "Login do ftp server"; $senha = "Senha de acesso"; $perm = "0"."PERMISSÃO DESEJADA.. Ex.: 777"; $path = "Caminho de sua pasta ou arquivo Ex.: /public_html/diretorio/arquiv.ext"; $on_error = "Nome de um script de retorno caso aconteça um erro.. "; $on_success "Nome de um script de retorno caso tudo corra bem.." // Não modifique o código abaixo deste comentário se não souber o que está fazendo $ftpcon = @ftp_connect($servername); if (!$ftpcon) { echo "<script>alert('Houve um erro na conexão ftp com o servidor!');</script>"; echo "<meta http-equiv='refresh' content='0; url=$on_error'>"; exit; } else { $ftp_log = ftp_login($ftpcon,$login,$senha); if (!$ftp_log) { echo "<script>alert('Login Inválido!');</script>"; echo "<meta http-equiv='refresh' content='0; url=$on_error'>"; exit; } else { $command = "CHMOD ".$perm." ".$path; if (ftp_site($ftpcon,$command)) { echo "<script>alert('Alteração realizada com sucesso!\\nCaminho: $path\\nNova permissão: $perm');</script>"; echo "<meta http-equiv='refresh' content='0; url=$on_success'>"; exit; } else { echo "<script>alert('Houve um erro na tentativa de modificar as permissões de $path');</script>"; echo "<meta http-equiv='refresh' content='0; url=$on_error'>"; exit; } } ftp_close($ftpcon); } ?> Claro que existe formas de fazer isso utilizando programas como o WSFtp o CuteFTP, 3D-FTP e etc... existem muitos... o que eu quis mostrá-lo é uma visão geral de como fazer isso de várias formas... Espero ter ajudado... []'s Leonardo Todeschini
  7. Leo Todeschini

    Desafio Php

    É exatamente essa a questão... O porque do seguinte: 12 ser diferente de a12 e 10 ser igual a 10b Mas sua resposta não deixa de estar parcialmente correta
  8. Leo Todeschini

    Desafio Php

    Tentem desvendar o mistério do código abaixo! <? // Analise o script abaixo: $a = 10; $b = false; $c = "a12"; $d = "10b"; $r = ((($a==$d)+(($a==$d)&&(!$b))+(12==$c))*2); echo $r; // Pergunta: porque $r no final tem o valor 4? ?>
  9. Amigo, o phptriad mudou de nome, agora existe uma versão nova desta ferramenta chamada Sokkit Dê uma olhada...
  10. Tive esse problema tb... faz assim.. Baixe este pacote ftp://ftp.gnu.org/non-gnu/flex/flex-2.5.4a.tar.gz copie pra uma pasta temporária (Talvez já saiba de tudo isso, só por protocolo mesmo) Ex.: /root/flextmp nesta pasta faça o seguinte Obs.: (Você precisa ser root) tar xfvz flex-2.5.4a.tar.gz cd /flex-2.5.4a ./configure --prefix=/usr/local/flex make make install link /usr/local/flex/bin/flex /usr/bin/flex Pronto.... não terá mais esse problema... visto que o analisador léxico Flex já terá sido instalado, porém aconselho a instalar o Bison tb. O processo de instalação do bison é o mesmo do Flex, e endereço de onde baixá-lo é o seguinte: ftp://ftp.gnu.org/gnu/bison/bison-2.0.tar.gz Obs.: Bison é um analisador semântico que trabalha em conjunto ao Flex. Espero ter ajudado!
  11. Leo Todeschini

    Header (resolvido)

    Você pode usar o seguinte: <meta http-equiv='refresh' content='0; url=urlqualquer.php'> Modifique o valor 0 pelo número de segundos que você deseja esparar pelo redirecionamento e urlqualquer.php pela url da sua escolha
  12. É simples, você está violando a chave primária, ou seja, está tentando inserir um registro que já existe nesta tabela!
  13. Obrigado pela ajuda grande Fabyo. Estou ai às ordens tb se precisar.
  14. Cecília, posso te ajudar nesse problema, usando recursos simples do PHP. Caso tenha interesse, me encontre em leotodeschini@hotmail.com (MSN)
  15. Se você puder mandar essa base de dados pra mim ficaria muito agradecido. Você pode enviar para os seguintes emails leotodeschini@gmail.com leo@todeschini.info Muito Obrigado Estou no MSN em leotodeschini@hotmail.com
  16. Leo Todeschini

    Duvidas

    Bem bareta, você tem várias dúvidas que tomariam um certo tempo e espaço para serem resolvidas, mas tentarei de forma clara e resumida esclarecer o máximo que puder. 1º Como fazer a conexão com o bd??? R: Levarei em consideração que você trabalha com MySQL. Para se conectar use a função mysql_connect, sua sintaxe é a seguinte $bd = mysql_connect("host","nome_de_usuário","senha"); A váriável $bd recebe o resultado da conexão de forma booleana (0 ou 1) host = é o nome do host com o qual deseja se conectar, normalmente esse dado é preenchido com "localhost" ou o ip da máquina que hospeda o seu SGDB nome_de_usuário = é o usuário criado no MySQL senha = é a senha do usuário que você criou no MySQL. Para testar se tudo correu bem, você pode prosseguir assim: $bd = mysql_connect("host","nome_de_usuário","senha"); if ($bd) echo "Conexão com o MySQL realizada com sucesso!"; else { echo "Houve um erro na tentativa de se conectar ao MySQL"; exit; //Termina a execução do script. } O teste também pode ser feito no estilo pearl, o qual seria assim: $bd = mysql_connect("localhost","joao","123") or die("Houve um erro na tentativa de se conectar ao MySQL"); echo "Conexão com o MySQL realizada com sucesso!"; 2º Como fazer um select, insert ,delete e update no bd R: Responderei sua pergunta de uma forma diferente mas que resolve todos os seus problemas. Digamos que a pergunta seja: Como enviar um comando (query) SQL para o SGDB MySQL usando o PHP? Se souber como enviar comandos SQL para o SGDB pode fazer o que quiser ai é só SQL mesmo. Vamos lá, $bd = mysql_connect("localhost","joao","123") or die("Erro ao conectar o MySQL"); // Conecta com MySQL $sql = "select * from tabela where campo='pesquisa'"; // Instrução SQL $res = mysql_db_query("Nome do banco de dados",$sql,$bd) or die("Erro ao enviar query ao MySQL"); // Tenta enviar sua instrução a um banco de dados // Listando os registros obtidos em res while (list($campo1,$campo2,$campo3) = mysql_fetch_row($res)) { //Cada campo aqui está em uma variável.. $campo1, $campo2 e $campo3 echo "$campo1 $campo2 $campo3<br>"; } 3º Como é a session no php R: Sendo muito breve. session_start(); //Inicia um sessão no php session_register('variavel1','variável2','variavel3'); //você pode registrar várias variáveis em uma mesma sessão com o PHP. //no registro não use $ session_is_registered('variavel'); // Verifica se uma variável é registrada. // Não checa varias variáveis ao mesmo tempo // somente uma por vez session_unregister('variavel'); // Retira uma variável da sessão session_unset(); //Retira todas as variáveis da sessão session_destroy(); // Destroi todas as seções do browser atual 4º Como fazer upload em php.. R: Use a função move_uploaded_file("nome do arquivo","caminho de destino"); porém essa função apenas realiza o upload, a muito mais a saber além disso, existem fatores importantes como verificação de tipo [mime], tamanho, dimensões.. etc etc etc. Acho que uma expicação excelente pode ser encontrada em : http://www.phpbrasil.com/articles/article.php/id/745 é um artigo de Alfred Reinold Baudisch. 5º O arquivo é salvo no bd ou so o nome dele? R: O arquivo que você fez upload é salvo em seu host. você pode escrever o caminho desse arquivo no servidor em uma tabela se quiser e depois criar links para ele da forma que preferir. Gravar imagens em tabelas de bancos de dados não é uma coisa muito eficiente porque compromete a performance das pesquisas, pelo aumento do volume de dados. Bareta... espero ter ajudado, caso queira esclarecer alguma coisa, você pode me encontrar em: MSN: leotodeschini@hotmail.com Até mais!
  17. Alguém sabe como consigo buscar o endereço do cliente pelo CEP? Assim como é feito nos comércios eletrônicos! O cliente no ato do cadastramento digita o CEP e os dados de endereço são buscados automaticamente. Gostaria de alguma pista sobre como fazer. Se alguém pudesse me ajudar seria de grande valia. Obrigado
  18. T+ abração Obrigado pela ajuda amigo! Realmente veio em boa hora! Obrigado!
  19. Desculpem a falta de conhecimento, talvez seja uma coisa muito simples de ser resolvida ... mas vamos lá. Gostaria de enviar um email contendo html, porém não consegui utilizando tags html com a função mail do php, o código aparece no email que o cliente recebe e não a formatação desejada. Qual função ou qual configuração da função mail devo utilizar no caso de querer que o cliente interprete códigos html?? Obrigrado!
  20. Leo Todeschini

    Tradução

    :D Já recebi os arquivos Tommy, confira se estão certos: - ad_languages.php - ad_member.php - ad_moderator.php - ad_modlogs.php Quando estiver pronto ... envio ao seu email ... se precisarem de mais alguma coisa é só dizer!
  21. Leo Todeschini

    Tradução

    :D I'm here, If you want a little help, gimme the files and I'll do my part ... Estou sempre disponível para ideias como essa .... leo@todeschini.info já respondendo futuras perguntas ... odeio MSN! T+ Espero poder ajudar de alguma forma.
  22. Leo Todeschini

    Tradução

    :D I'm here, If you want a little help, gimme the files and I'll do my part ... Estou sempre disponível para ideias como essa .... leo@todeschini.info já respondendo futuras perguntas ... odeio MSN! T+ Espero poder ajudar de alguma forma.
  23. :o estou quase perdendo os cabelos por causa disso, Meu servidor é windows, e a má notícia é que sleep(), mesmo com o tempo em segundos tb não funciona .... reformulando a pergunta, o quero é que a pagina realize refreshes automáticos (abrindo ela mesmo de tempos em tempos) o que acontece é que esta pagina é a visão de uma tabela mysql, a qual os usuários inserem as novas mensagens. Por favor, me ajudem, realmente não sei mais o que fazer ....
×
×
  • Criar Novo...