Mensagens - kingless

Páginas: 1 2 3 4 5 ... 55
31
Desenvolvimento / PDB - Base de dados em PHP
« em: 07/Mar/2007 03:06 »
Fiz uma documentação melhor do PDB mas,  a documentação ainda tem alguns problemas com as letras depois resolvo isso.

PDB Doc:
http://www.kingless.net/doc/

32
Tutoriais / [PHP] Download Script
« em: 22/Fev/2007 21:36 »
Citação de: "asturmas"
Tou a falar do nome e descriçao por exemplo


Leste o que eu escrevi ?

A informação que esta neste link ->  http://www.kingless.net/index.php?fileinfo=ZG93bmxvYWQ=  
Não tem nada a ver com este script... Este script não mostra informações, este script serve apenas para fazer download e visualizar o código de fonte de ficheiros.

33
Tutoriais / [PHP] Download Script
« em: 22/Fev/2007 00:48 »
Citação de: "asturmas"
N usa bd?
Onde se guarda as infos?


Que infos ?

Se estas a falar desta info -> http://www.kingless.net/index.php?fileinfo=ZG93bmxvYWQ=
Essa info não tem nada a ver com este script... A info que esta nesse link é a info dos meus scripts que encontram-se disponíveis no meu site.

34
Tutoriais / [PHP] Download Script
« em: 22/Fev/2007 00:47 »
Citação de: "BlueEagle"
kingless,  não consegui por a funcionar :(, é preciso configurar algo?

Só é preciso mudar um valor no ficheiro download.php

Tenta fazer o seguinte e me diz se funciona

Saca o script:

http://www.kingless.net/download.php?filename=download.php

Depois saca o GeSHi para que os códigos de fonte dos ficheiros tenham um highlight fixe...

http://www.kingless.net/download.php?filename=GeSHi-1.0.7.17.tar.gz

Descomprimes o ficheiro GeSHi-1.0.7.17.tar.gz e coloca na pasta onde esta o script de download.

Depois cria um pasta com o nome downloads onde esta o script de download

Abre o ficheiro download.php e altera os seguintes valores que estão logo no principio do código

define( 'DOWNLOAD_PATH', ROOT_PATH );

para

define( 'DOWNLOAD_PATH', ROOT_PATH.DS.'downloads' );

e

define( 'GESHI', false );

para

define( 'GESHI', true );


Depois coloca os ficheiros que queres disponibilizar para download na pasta "downloads" que acabaste de criar


Para testar podes criar um ficheiro exemplo.html ou exemplo.php com algo escrito dentro e acesas a tua url assim para ver se funciona

http://www.url_do_site.com/pasta_do_script/download.php?filename=exemplo.php

Para ver o código que esta no ficheiro de exemplo

http://www.url_do_site.com/pasta_do_script/download.php?filename=exemplo.php;source


Não sou lá muito bom a explicar mas se funcionar fica já aqui a explicação sobre como por a funcionar o script para os outros utilizadores que tiverem duvida.

35
Tutoriais / [PHP] Download Script
« em: 21/Fev/2007 18:12 »
Script de download com funcionalidade de visualização do código de fonte dos ficheiros.

Download:
http://www.kingless.net/download.php?filename=download.php

Source Code:
http://www.kingless.net/download.php?filen...load.php;source

Detalhes:
http://www.kingless.net/index.php?fileinfo=ZG93bmxvYWQ=

36
Tutoriais / [PHP] Google Define
« em: 18/Fev/2007 18:41 »
Este script que criei vai buscar definições de palavras ao google... é uma ferramenta muito boa.

Download:
http://www.kingless.net/download.php?filename=define.php

Source Code:
http://www.kingless.net/download.php?filename=define.php;source

Demo:
http://www.kingless.net/define.php

Código: [Seleccione]

<?php
        
///////////////////////////////////////////
       /////         Google Define      ////// 
      ////  By kingless - blastelf@gmail.com //// 
     ///////////////////////////////////////////   
    /// Este script vai buscar definições   /// 
   // de palavras ao google.        // 
  ///////////////////////////////////////////

$google = new google;

$google->form&#40; $_POST &#41;;

$google->define&#40; $_POST &#41;;

class google &#123;

var $lang '';
var $num '';
var $define '';

function define&#40; $post &#41; &#123;

if&#40;empty&#40; $post['define'&#93; &#41;&#41; &#123;
die&#40; '</body></html>' &#41;;
&#125;

$this->define $post['define'&#93;;
$this->lang $post['lang'&#93;;

$this->num = empty&#40; $post['num'&#93; &#41; ? 1 &#58; $post['num'&#93;;

$data $this->getData&#40;&#41;;

if&#40;empty&#40; $data &#41;&#41; &#123;
return false;
&#125;

$defined $this->parse_data&#40; $data &#41;;

if&#40;!$defined&#41; &#123;
$msg  'Não foi encontrada nenhuma definição para <b>'$this->define .'</b>. <br />Sugestões&#58;<blockquote>- Verifique que nenhuma palavra contém erros ortográficos.<br>- <a href="http&#58;//www.google.pt/search?hl=pt-PT&amp;q='$this->define .'"> procura na web </a>  por documentos que contêm <b>"'$this->define .'"</b><br></blockquote></body></html>';

die&#40; $msg &#41;;
&#125;

echo $defined;
&#125;

function parse_data&#40; $data &#41; &#123;

$define explode&#40; '<ul type="disc">', $data &#41;;

if&#40;!empty&#40; $define[1&#93; &#41;&#41; &#123;
$define explode&#40; '</ul>', $define[1&#93; &#41;;

preg_match_all&#40; '/<a href="&#40;.*?&#41;">/', $define[0&#93;, $links &#41;;

foreach&#40; $links[1&#93; as $link &#41; &#123;
$pattern[&#93; = "/". preg_quote&#40; $link, '/'  &#41; ."/";
$replace[&#93; = "http&#58;//www.google.pt". $link;
&#125;

$define preg_replace&#40; $pattern, $replace, $define[0&#93; &#41;;

$define explode&#40; '<p></p>', $define &#41;;

$defined '';

for&#40;$x = 0; $x < $this->num; $x++ &#41; &#123;
if&#40;count&#40; $define &#41; >= $this->num&#41; &#123;
$defined .= $define[$x&#93;.'<p></p>';
&#125;
&#125;

if&#40;empty&#40; $defined &#41;&#41; &#123;
foreach&#40; $define as $value &#41; &#123;
$defined .= $value."<p></p>";
&#125;
&#125;

return $this->fix_string&#40; $defined &#41;.'</body></html>';
&#125;

return false;
&#125;

function fix_string &#40; $string &#41; &#123;
$pattern = array&#40; 'ã', 'á', 'à', 'â', 'Â', 'À', 'Ã<81>', 'Ã', 'Ê', 'È', 'É', 'ê', 'é', 'è', 'Ã<8d>', 'ÃŒ', 'Ĩ', 'ÃŽ', 'í', 'ì', 'î', 'Ä©', 'ô', 'õ', 'ó', 'ò', 'ô', 'Ô', 'Õ', 'Ó', 'Ó', 'û', 'ú', 'Å©', 'ù', 'u', 'Û', 'Ú', 'Ù', 'Ũ', 'ç', 'Ç' &#41;;

$replace = array&#40; 'ã', 'á', 'à', 'â', 'Â', 'À', 'Á', 'Ã', 'Ê', 'È', 'É', 'ê', 'é', 'è', 'Í', 'Ì', '&#296;', 'Î', 'í', 'ì', 'î', '&#297;', 'ô', 'õ', 'ó', 'ò', 'ô', 'Ô', 'Õ', 'Ó', 'Ó', 'û', 'ú', '&#361;', 'ù', 'u', 'Û', 'Ú', 'Ù', '&#360;', 'ç', 'Ç' &#41;;

return str_replace&#40; $pattern, $replace, $string &#41;;
&#125;

function getData &#40;&#41; &#123;

$fp fsockopen&#40; 'www.google.pt', 80, $errno, $errstr, 2 &#41;;

if&#40;!$fp&#41; &#123;
die&#40; "Não foi possivel conectar ao google $errno &#40;$errstr&#41;"&#41;;
&#125;

$header 'GET /search?q=define%3A'urlencode&#40; $this->define &#41; .'&hl=pt-PT&oi=definel&defl='. $this->lang ." HTTP/1.1\r\n";
$header .= "Host&#58; www.google.pt\r\n";
$header .= "User-Agent&#58; &#123;$_SERVER['HTTP_USER_AGENT'&#93;&#125;\r\n";
$header .= "Referer&#58; http&#58;//www.google.pt/webhp?hl=pt-PT&btnG=Pesquisar\r\n";
$header .= "Connection&#58; close\r\n\r\n";

fwrite&#40; $fp, $header &#41;;

$data '';

while&#40;!feof&#40; $fp &#41;&#41; &#123;
$data .= fgets&#40; $fp, 4000 &#41;;
&#125;

fclose&#40; $fp &#41;;

return $data;
&#125;

function form &#40; $value = '' &#41;  &#123;

$html[&#93; = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
$html[&#93; = '<html>';
$html[&#93; = '<head>';
$html[&#93; = '<title>Google Define criado por kingless - blastelf@gmail.com</title>';
$html[&#93; = '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />';
$html[&#93; = '<meta name="keywords" content="google, define, google define, kingless, defined, php, php5" /> ';
$html[&#93; = '<meta name="description" content="Script escrito em PHP que utiliza a funçao define do google para procurar por definições de plavavras" />';
$html[&#93; = '<style type="text/css">';
$html[&#93; = '#form &#123; font-size&#58; 0.9em; font-family&#58; verdana, arial; margin-left&#58; auto; margin-right&#58; auto; &#125;';
$html[&#93; = '#definir &#123; border&#58; 1px solid silver; &#125;';
$html[&#93; = '.input &#123; border&#58; 1px solid silver; &#125;';
$html[&#93; = 'a&#58;link, a&#58;visited, a&#58;hover, a&#58;active &#123; text-decoration&#58; none; &#125;';
$html[&#93; = '</style>';
$html[&#93; = '</head>';
$html[&#93; = '<body>';

$define = empty&#40; $value['define'&#93; &#41; ? '' &#58; $value['define'&#93;;
$num = empty&#40; $value['num'&#93; &#41; ? 1 &#58; $value['num'&#93;;

$form[&#93; = '<form action="" method="post">';
$form[&#93; = '<table id="form"><tr><td>Definir&#58;</td> <td><input class="input" type="text" name="define" value="'. $define .'" /></td></tr>';
$form[&#93; = '<tr><td>Idioma&#58;</td> <td><select class="input" name="lang">';
$form[&#93; = '<option value="pt">Português</option>';
$form[&#93; = '<option value="en">Inglês</option>';
$form[&#93; = '<option value="es">Espanhol</option>';
$form[&#93; = '<option value="fr">Francês</option>';
$form[&#93; = '<option value="nl">Holandês</option>';
$form[&#93; = '<option value="it">italiano</option>';
$form[&#93; = '<option value="es">Espanhol</option>';
$form[&#93; = '<option value="all">Todas as linguas</option>';
$form[&#93; = '</select></td></tr>';
$form[&#93; = '<tr><td># Resultados&#58;</td> <td><input class="input" type="text" name="num" value="'. $num .'" /></td></tr>';
$form[&#93; = '<tr> <td align="right" colspan="2"><input id="definir" type="submit" name="definir" value="definir" /></td></tr></table>';
$form[&#93; = '</form> <br />';

echo implode&#40; "\r\n", $html &#41;;
echo implode&#40; "\r\n", $form &#41;;
&#125;
&#125;
?>


37
Tutoriais / [PHP] Localização através do ip
« em: 10/Fev/2007 00:35 »
Citação de: "=IceBurn="
O código está bem organizado!

Para mim isso é uma das coisas mais importantes!!!

Citação de: "=IceBurn="
o problema é que a funcionalidade disto é muito relativa, se o webmaster resolver alterar o código fonte, lá se vai a detecção. Claro, sempre se pode alterar depois o código php, mas para quem não percebe patavina do que está no código não se safa.

Foi por isso que coloquei logo no principio do código o seguinte:

"Caso ocorra algum erro no script envie-me um email <blastelf@gmail.com>"

Logo que eu recebesse o email corrigia o código e publicava :wink:  :P

Citação de: "=IceBurn="

E pronto, eu não estou em LX, estou a 150 Kms de LX...  logo os resultados não são muito fiáveis.

Em quase todos sites (ou mesmo todos) onde podes obter a tua localização geológica através do teu IP o resultado vai ser igual ou muito parecido.  

Citação de: "=IceBurn="

De qualquer modo, é de apreciar o trabalho que fizeste Kingless!

thanks  :)

38
Tutoriais / [PHP] Localização através do ip
« em: 09/Fev/2007 20:07 »
Citação de: "BlueEagle"
Meu IP: 85.241.###.###
País: Portugal
Estado/Provincia: Coimbra
Cidade: Serrazina
Caixa Postal:
Latitude: 40.083302
Longitude: -8.533300
ISP: Telepac - Comunicacoes Interactivas
Organização: SA

Achei graça ao Serrazina nem sei se isso fica em Coimbra  :lol:

Serrazina fica em Coimbra  :P

39
Tutoriais / [PHP] Localização através do ip
« em: 09/Fev/2007 19:57 »
Citação de: "Tomahock"
Isso só ve o nosso ip ou nós é que inserimos o ip que queremos que ele analise?


Este script é mais para ser utilizado em web sites onde se quer detectar o país, cidade, ip etc... do utilizador que visita o nosso website e também para quem quer fazer tipo estatísticas dos países, ip, etc que visitam o site .

Se quiseres procurar por informações de um certo IP tens uma boa ferramenta => http://www.ip-adress.com/  
 :wink:

40
Tutoriais / [PHP] Localização através do ip
« em: 09/Fev/2007 19:51 »
O problema já foi resolvido :) O script já esta a funcionar muito bem  :D

Demo:
http://www.kingless.net/ip.php

Solução Headers:
Código: [Seleccione]

   $query = "iq={$_SERVER['REMOTE_ADDR']}&submit=lookup+any+ip";
$out  = "POST / HTTP/1.0\r\n";
$out .= "Host: www.ip-adress.com\r\n";
$out .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";
$out .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$out .= "Accept-Language: pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$out .= "Accept-Encoding: gzip,deflate\r\n";
$out .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
$out .= "Keep-Alive: 300\r\n";
$out .= "Connection: keep-alive\r\n";
$out .= "Referer: http://www.ip-adress.com/\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: ". strlen( $query ) ."\r\n\r\n";
$out .= "$query\r\n";

Tenho  que agradecer ao membro "djthyrax" da comunidade Portugal a programar por ter me ajudado a resolver este problema :)

41
Tutoriais / [PHP] Localização através do ip
« em: 09/Fev/2007 18:47 »
Parece que o script não esta a funcionar como eu esperava  :(, eu pensava que fsockopen fosse buscar o conteúdo ao site com o ip do utilizador e não do servidor  ¬¬ , mas o que interessa é o código  :D

Tentei resolver o problema alterando os headers e até tentei usar a biblioteca CURL do PHP mas não funcionou, vou deixar aqui os códigos que usei para tentar resolver o problema.

Headers que alterei:
Código: [Seleccione]
$var = "iq=ok&submit=". urlencode( "lookup any ip" );
$out  = "POST / HTTP/1.0\r\n";
$out .= "Host: localhost\r\n";
$out .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: ". strlen( $var ) ."\r\n\r\n";
$out .= "$var\r\n";


CURL LIB:
Código: [Seleccione]
<?php
 
$ch 
curl_init&#40;&#41;;
 
curl_setopt&#40;$ch, CURLOPT_URL, "http&#58;//www.ip-address.com/"&#41;;
curl_setopt&#40;$ch, CURLOPT_CONNECTTIMEOUT, 5 &#41;;
curl_setopt&#40;$ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'&#93;&#41;;
curl_setopt&#40;$ch, CURLOPT_POST, true&#41;;
curl_setopt&#40;$ch, CURLOPT_POSTFIELDS, "iq=72.14.207.99&submit=". urlencode&#40; "lookup any ip" &#41;&#41;;
curl_setopt&#40;$ch, CURLOPT_TIMEOUT, 5 &#41;;
curl_setopt&#40;$ch, CURLOPT_FOLLOWLOCATION, true&#41;;
curl_setopt&#40;$ch, CURLOPT_RETURNTRANSFER, true&#41;;
 
$data curl_exec&#40;$ch&#41;;
 
curl_close&#40;$ch&#41;;
 
echo $data;


Acho que não há mais nada que se possa fazer, mas é sempre bom programar "for fun"   :D

42
Tutoriais / [PHP] Localização através do ip
« em: 09/Fev/2007 02:18 »
Acabei de criar um script que detecta o ip, país, cidade, estado, caixa postal, imagem da bandeira do páis, entre outros... aqui fica o código  :)

Download:
http://www.kingless.net/download.php?filename=ip.php

Source code:
http://www.kingless.net/download.php?filename=ip.php;source

Código: [Seleccione]

<?php
         
/////////////////////////////////////////////////////|
        ///////      Localização através do IP       //////// | Base de dados em            
       //////             by kingless                ///////  | http&#58;//www.ip-adress.com/              
      /////          <blastelf@gmail.com>             ///// S////////////////////////   
     ///////////////////////////////////////////////////// G/  Caso ocorra algum  //
    //// Este script detecta o país, cidade, estado  //// U/  erro no script     //
   /// caixa postal &#40;só de alguns paí­ses&#41;, isp,      /// B/  envie-me um email  //
  // imagem da bandeira do país...                  /// <blastelf@gmail.com>   //
 ///////////////////////////////////////////////////////////////////////////////

class ip &#123;

    
var $timeout 5;
    var 
$ip '';
    var 
$pais '';
    var 
$cidade '';
    var 
$estado '';
    var 
$isp '';  
    var 
$img '';
    var 
$org '';
    var 
$caixa_postal '';
    var 
$latitude '';
    var 
$longitude '';
    var 
$vars = array&#40; 'pais' => 'IP country', 'estado' => 'IP state', 'cidade' => 'IP city', 'caixa_postal' => 'IP postcode', 'latitude' => 'latitude', 'longitude' => 'longitude', 'isp' => 'isp', 'org' => 'organization' &#41;;


    
function ip&#40;&#41; &#123;
        
        
$data $this->getData&#40;&#41;;

        
if&#40;empty&#40; $data &#41;&#41; &#123;
            
return false;
        &
#125;
        
        
$data $this->parse_data&#40; $data &#41;;

        
$this->setVars&#40; $data &#41;;

        
return true;
    &
#125;

    
function getData&#40;&#41; &#123;

        
$fp fsockopen&#40; 'www.ip-adress.com', 80, $errno, $errstr, 5 &#41;;

        
if&#40;!$fp&#41; &#123;
                
return false;
        &
#125;

        
$query "iq=&#123;$_SERVER['REMOTE_ADDR'&#93;&#125;&submit=lookup+any+ip";
        
$out  "POST / HTTP/1.0\r\n";
        
$out .= "Host&#58; www.ip-adress.com\r\n";
        
$out .= "User-Agent&#58; &#123;$_SERVER['HTTP_USER_AGENT'&#93;&#125;\r\n";
        
$out .= "Accept&#58; text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n"
        
$out .= "Accept-Language&#58; pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
        
$out .= "Accept-Encoding&#58; gzip,deflate\r\n";
        
$out .= "Accept-Charset&#58; ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
        
$out .= "Keep-Alive&#58; 300\r\n";
        
$out .= "Connection&#58; keep-alive\r\n";
        
$out .= "Referer&#58; http&#58;//www.ip-adress.com/\r\n";
        
$out .= "Content-Type&#58; application/x-www-form-urlencoded\r\n";
        
$out .= "Content-Length&#58; "strlen&#40; $query &#41; ."\r\n\r\n";
        
$out .= "$query\r\n";

        
fwrite&#40;$fp, $out&#41;;

        
$data '';

        while &
#40;!feof&#40;$fp&#41;&#41; &#123;
                
$data .= fgets&#40;$fp, 13422&#41;;
        
&#125;

        
fclose&#40; $fp &#41;;

        
return $data;
    &
#125;

    
function parse_data&#40; $data &#41; &#123;
        
        
foreach&#40; $this->vars as $set => $var &#41; &#123;
            
if&#40;$exp = explode&#40; '<font face="verdana" size="2">'. $var .'&#58;</font></th>', $data &#41;&#41; &#123;
                
if&#40;!empty&#40; $exp[1&#93; &#41;&#41; &#123;
                    
$exp explode&#40; '<td bgcolor="#FFFFCC"><font face="verdana" size="2">', $exp[1&#93;  &#41;;
                    
$res[$set&#93; = explode&#40; '</font></td>', $exp[1&#93; &#41;;
                
&#125;
            
&#125;

            
if&#40;$set == "pais"&#41; &#123;
                
$exp explode&#40; '<font face="verdana" size="2">'. $var .'&#58;</font></th>', $data &#41;;
                
$exp explode&#40; '<td bgcolor="#FFFFCC">', $exp[1&#93; &#41;;
                
$exp explode&#40; '<font face="verdana" size="2">', $exp[1&#93; &#41;;
                
                
preg_match&#40; '<img src="&#40;.*?&#41;">', $exp[1&#93;, $img &#41;;

                
$exp explode&#40; '<img src="'. $img[1&#93; .'">', $exp[1&#93; &#41;;
                
                
$res["img"&#93; = "http&#58;//www.ip-adress.com". $img[1&#93;;
                
$res[$set&#93; = explode&#40; '</font>', $exp[1&#93; &#41;;
            
&#125;
        
&#125;
        
return $res;
    &
#125;

    
function setVars&#40; $data &#41; &#123;
        
foreach&#40; $this->vars as $var => $valor &#41; &#123;
            
if&#40;!empty&#40; $data[$var&#93;[0&#93; &#41;&#41; &#123;
                
$this->$var trim&#40;$data[$var&#93;[0&#93;&#41;;
            
&#125;            
        
&#125;
        
$this->img $data['img'&#93;;
        
$this->ip $_SERVER['REMOTE_ADDR'&#93;;
    
&#125;
&#125;
?>




Exemplo:
Código: [Seleccione]

<?php

include&#40; 'ip.php' &#41;;

$ip = new ip&#40;&#41;;

$msg[&#93; = "<b>Meu IP&#58;</b> $ip->ip";
$msg[&#93; = "<b>País&#58;</b> $ip->pais <img src=\"$ip->img\">";
$msg[&#93; = "<b>Estado/Provincia&#58;</b> $ip->estado";
$msg[&#93; = "<b>Cidade&#58;</b> $ip->cidade";
$msg[&#93; = "<b>Caixa Postal&#58;</b> $ip->caixa_postal";
$msg[&#93; = "<b>Latitude&#58;</b> $ip->latitude";
$msg[&#93; = "<b>Longitude&#58;</b> $ip->longitude";
$msg[&#93; = "<b>ISP&#58;</b> $ip->isp";
$msg[&#93; = "<b>Organização&#58;</b> $ip->org";

echo implode&#40; "\r\n<br />", $msg &#41;;
?>


43
Tutoriais / [PHP] Calculadora
« em: 07/Fev/2007 17:54 »
Citação de: "bfms"
Gostei... falta ai um botão para limpar no caso da pessoa querer fazer nova conta  :wink:

Já me tinha lembrado disso ontem  :) e arranjei uma solução que foi apenas colocar um link onde diz "Calculadora" e quando se quiser limpar é só clicar em "Calculadora". Essa foi a solução mais rápida que consegui arranjar para não ter que alterar o design da calculadora.  :wink:

Já agora.. Acabei de adicionar mais uma pequena função ao meu script de downloads para mostrar o source code com sintaxe colorida.

http://www.kingless.net/download.php?filename=calc.php;source

44
Tutoriais / [PHP] Calculadora
« em: 06/Fev/2007 23:19 »
Acabei de criar uma simples calculadora em PHP, é muito simples porque fiz tudo a correr (1 hora) por enquanto só é possível calcular 2 números de cada vez e deve ter algumas bugs.  :)

Demo:
http://www.kingless.net/calc.php

Download:
http://www.kingless.net/download.php?filename=calc.php

Source Code:
http://www.kingless.net/download.php?filename=calc.php;source

Código: [Seleccione]

<?php
     
////////////////////////////
    //// Calculadora em PHP ////
   ///      by kingless     ///
  //  <blastelf@gmail.com>  //
 ////////////////////////////
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Calculadora criada por kingless - blastelf@gmail.com</title>
<style type="text/css">

td {

color: #FFFF00;
font-weight: bold;
text-align: center;
border: 1px solid #000099;
}

input#calc {

background-color: #759475;
text-align: right;
color: #222722;
border-color: #000099;

}

table#calculadora {
border: 1px solid  #000099;
background-color: #3300cc;
}

#titulo {

font-family: arial, verdana, sans serif;
font-size: 1em;
font-weight: bold;
text-align: center;
}

</style>
</head>
<body>

<?php

class calculadora &#123;

var $nums '';
var $calc '';
var $op '';

function mostrar &#40;&#41; &#123;

$num = @$_GET['num'&#93;[0&#93;;
$calc = @$_GET['calc'&#93;;

if&#40;empty&#40; $num &#41; AND empty&#40; $calc &#41;&#41; &#123;
return false;
&#125;

if&#40;!isset&#40; $display &#41;&#41; &#123;
$display $calc;
&#125;

$this->nums .= empty&#40; $num &#41; ? $display &#58; $display.$num;

$this->setOperacao&#40;&#41;;

if&#40;!empty&#40; $this->op &#41;&#41; &#123;
$this->calc $this->nums.rawurldecode&#40; $this->op &#41;.$num;
&#125;

return $this->calcular&#40;&#41;;
&#125;

function setOperacao &#40;&#41; &#123;
if&#40;!empty&#40; $_GET['op'&#93; &#41;&#41; &#123;
$this->op $_GET['op'&#93;;
&#125;
&#125;

function calcular&#40;&#41; &#123;

$calc = empty&#40; $this->calc &#41; ? $this->nums &#58; $this->calc;

if&#40;isset&#40; $_GET['resultado'&#93; &#41;&#41; &#123;
if&#40;preg_match&#40; '/^&#40;[0-9&#93;+&#41;&#40;\/|\*|\+|\-&#41;&#40;[0-9&#93;+&#41;+$/', $calc, $match &#41;&#41; &#123;
switch&#40; $match[2&#93; &#41; &#123;
case "+"&#58;
return $match[1&#93;+$match[3&#93;;
break;
case "-"&#58;
return $match[1&#93;-$match[3&#93;;
break;
case "/"&#58;
return $match[1&#93;/$match[3&#93;;
break;
case "*"&#58;
return $match[1&#93;*$match[3&#93;;
break;
&#125;
&#125; else &#123;
return "Ocorreu um erro";
&#125;
&#125;
return $calc;
&#125;
&#125;
$calc = new calculadora&#40;&#41;;
?>


<form action="" method="get">

<!-- Calculadora criada por kingless <blastelf@gmail.com> -->

<table id="calculadora" cellpadding="10" cellspacing="0" align="center">
<tr>
   <td align="center" colspan="4">
       <span id="titulo">Calculadora</span><br/>
        <input id="calc" type="text" name="calc" value="<?=$calc->mostrar();?>" />
    </td>
</tr>
<tr>
   <td>
      <input type="submit" name="num[]" value="7" />
   </td>
   <td>
      <input type="submit" name="num[]" value="8" />
   </td>
   <td>
      <input type="submit" name="num[]" value="9" />
   </td>
   <td>
      <input type="submit" name="op" value="/" />
   </td>
</tr>
<tr>
   <td>
      <input type="submit" name="num[]" value="4" />
   </td>
   <td>
       <input type="submit" name="num[]" value="5" />
   </td>
   <td>
       <input type="submit" name="num[]" value="6" />
   </td>
   <td>
       <input type="submit" name="op" value="*" />
   </td>
</tr>
<tr>
    <td>
       <input type="submit" name="num[]" value="1" />
    </td>
     <td>
<input type="submit" name="num[]" value="2" />
    </td>
    <td>
       <input type="submit" name="num[]" value="3" />
    </td>
    <td>
       <input type="submit" name="op" value="-" />
    </td>
</tr>
<tr>
   <td>
       <input type="submit" name="num[]" value="0" />
   </td>
   <td>
       <input type="submit" name="num[]" value="." />
   </td>
   <td>
       <input type="submit" name="resultado" value="=" />
   </td>
   <td>
       <input type="submit" name="op" value="+" />
   </td>
</tr>
</table>
</form>
</body>
</html>

45
Hosting / AlojaGratis
« em: 03/Fev/2007 19:57 »
O design esta excelente  :wink:

Páginas: 1 2 3 4 5 ... 55