Jump to content

Search the Community

Showing results for tags 'Php'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Calendars

  • Comunidade iMasters

Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 6606 results

  1. Stopassolli

    Logar no site receita PHP + cURL

    Olá a todos. Preciso importar dados da NFe/CTe com a chave + captcha. A idéia é igual a sites como www.danfeonline.com.br que ao informar a chave + captcha, faz login e pega-se o HTML, filtrando as informações necessárias. Segue abaixo alguns códigos que estou tentando fazer este processo, sem sucesso até o momento - estou parado no problema de "sessão expirou". A idéia geral do código abaixo foi extraída da função para importar dados do CNPJ posta aqui no iMaster. getcaptcha.php $pasta_cookies = 'cookies/'; define('COOKIELOCAL', str_replace('\\', '/', realpath('./')).'/'.$pasta_cookies); define('HTTPCOOKIELOCAL', 'http://'.$_SERVER['SERVER_NAME'].str_replace(pathinfo($_SERVER['SCRIPT_FILENAME'],PATHINFO_BASENAME),'',$_SERVER['SCRIPT_NAME']).$pasta_cookies); // inicia sessão @session_start(); $cookieFile_fopen = HTTPCOOKIELOCAL.session_id(); $cookieFile = COOKIELOCAL.session_id(); $url = 'http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8%3d'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);// salva os dados de sessão curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);// atualiza os dados de sessão se estiverem desatualizados curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0'); // não utilizar returntransfer , este script replica imagem captcha da receita sem necessidade de gravar a imagem $html = curl_exec($ch); curl_close($ch); // se tiver imagem , mostra if(!empty($html)){ $id_preciso_input = array( "__EVENTTARGET", "__EVENTARGUMENT", '__VIEWSTATE', '__VIEWSTATEGENERATOR', '__EVENTVALIDATION', 'ctl00_ContentPlaceHolder1_token', 'ctl00_ContentPlaceHolder1_captchaSom' ); $id_preciso_img = "ctl00_ContentPlaceHolder1_imgCaptcha"; $dom = new DOMDocument; @$dom->loadHTML($html); //PEGANDO VALORES DE INPUT foreach($dom->getElementsByTagName('input') as $link) { $id_input = $link->getAttribute('id'); if(in_array($id_input,$id_preciso_input)){ for($i=0;$i<count($id_preciso_input);$i++){ if($id_input==$id_preciso_input[$i]){ if($id_preciso_input[$i]=="ctl00_ContentPlaceHolder1_captchaSom"){$name_input = "captchaSom";} elseif($id_preciso_input[$i]=="ctl00_ContentPlaceHolder1_token"){$name_input = "token";} else{$name_input=$link->getAttribute('name');} $valor_input[$name_input] = $link->getAttribute('value'); } } } } if(!empty($valor_input)){$_SESSION["valor_input"] = $valor_input;} //PEGANDO A IMAGEM foreach($dom->getElementsByTagName('img') as $link) { $id_imagem = $link->getAttribute('id'); if($id_imagem==$id_preciso_img){ $valor = $link->getAttribute('src'); $texto = explode(",",$valor); $data = base64_decode($texto[1]); $img = imagecreatefromstring($data); header('Content-type: image/jpg'); imagejpeg($img); } } } processa.php <?php require('funcoes2.php'); $chave_acesso = $_POST['txtChaveAcessoCompleta']; $captcha = $_POST['txtCaptcha']; $dados_form = array( "__EVENTTARGET" => $_POST["__EVENTTARGET"], "__EVENTARGUMENT" => $_POST["__EVENTARGUMENT"], '__VIEWSTATE' => $_POST["__VIEWSTATE"], '__VIEWSTATEGENERATOR' => $_POST["__VIEWSTATEGENERATOR"], '__EVENTVALIDATION' => $_POST["__EVENTVALIDATION"], 'ctl00$ContentPlaceHolder1$token' => $_POST["token"], 'ctl00$ContentPlaceHolder1$captchaSom' => $_POST["captchaSom"], 'hiddenInputToUpdateATBuffer_CommonToolkitScripts' => $_POST["hiddenInputToUpdateATBuffer_CommonToolkitScripts"] ); // pega html resposta da receita $getHtmlCNPJ = getHtmlCNPJ($chave_acesso, $captcha, $dados_form); print_r($getHtmlCNPJ); ?> funcoes2.php <?php // define caminho absoluto e relativo para arquivo cookie $pasta_cookies = 'cookies/'; define('COOKIELOCAL', str_replace('\\', '/', realpath('./')).'/'.$pasta_cookies); define('HTTPCOOKIELOCAL', 'http://'.$_SERVER['SERVER_NAME'].str_replace(pathinfo($_SERVER['SCRIPT_FILENAME'],PATHINFO_BASENAME),'',$_SERVER['SCRIPT_NAME']).$pasta_cookies); // inicia sessão @session_start(); // função para pegar o que interessa function pega_o_que_interessa($inicio,$fim,$total){ $interesse = str_replace($inicio,'',str_replace(strstr(strstr($total,$inicio),$fim),'',strstr($total,$inicio))); return($interesse); } // função para pegar a resposta html da consulta pelo CPF na página da receita function getHtmlCNPJ($chave_acesso, $captcha, $dados_form){ $campos_post = $dados_form; $conteudo = ""; $cookieFile = COOKIELOCAL.session_id(); $cookieFile_fopen = HTTPCOOKIELOCAL.session_id(); if(!file_exists($cookieFile)){return false;} else{ // pega os dados de sessão gerados na visualização do captcha dentro do cookie $file = fopen($cookieFile_fopen, 'r'); while (!feof($file)){$conteudo .= fread($file, 1024);} fclose ($file); $explodir = explode(chr(9),$conteudo); $sessionName = trim($explodir[count($explodir)-2]); $sessionId = trim($explodir[count($explodir)-1]); $cookie = $sessionName.'='.$sessionId; } header("Set-Cookie: $sessionName=$sessionId; path=/; www.receita.fazenda.gov.br; httpOnly" ); if(!empty($_SESSION["valor_input"])){$valor_input = $_SESSION["valor_input"];} $campos_post = http_build_query($campos_post, NULL, '&'); $ch = curl_init('http://www.nfe.fazenda.gov.br/portal/consultaCompleta.aspx?tipoConteudo=XbSeqxE8pl8='); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_POST,count($campos_post)); curl_setopt($ch, CURLOPT_POSTFIELDS, $campos_post); // aqui estão os campos de formulário curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile); // dados do arquivo de cookie curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile); // dados do arquivo de cookie curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0'); curl_setopt($ch, CURLOPT_COOKIE, $cookie); // dados de sessão curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 3); curl_setopt($ch, CURLOPT_REFERER, "www.nfe.fazenda.gov.br"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $html = curl_exec($ch); curl_close($ch); return $html; } // Função para extrair o que interessa da HTML e colocar em array function parseHtmlCNPJ($html) { // respostas que interessam - aqui dentro colocar id dos campos para pegar os dados $campos = array(); // caracteres que devem ser eliminados da resposta $caract_especiais = array( chr(9), chr(10), chr(13), ' ', '</b>', ' ', '<b>MATRIZ<br>', '<b>FILIAL<br>' ); // prepara a resposta para extrair os dados $html = str_replace('<br><b>','<b>',str_replace($caract_especiais,'',strip_tags($html,'<b><br>'))); echo $html; $html3 = $html; // faz a extração for($i=0;$i<count($campos);$i++) { $html2 = strstr($html,utf8_decode($campos[$i])); $resultado[] = trim(pega_o_que_interessa(utf8_decode($campos[$i]).'<b>','<br>',$html2)); $html=$html2; } // extrai os CNAEs secundarios , quando forem mais de um if(strstr($resultado[5],'<b>')) { $cnae_secundarios = explode('<b>',$resultado[5]); $resultado[5] = $cnae_secundarios; unset($cnae_secundarios); } // devolve STATUS da consulta correto if(!$resultado[0]) { if(strstr($html3,utf8_decode('O número do CNPJ não é válido'))) {$resultado['status'] = 'CNPJ incorreto ou não existe';} else {$resultado['status'] = 'Imagem digitada incorretamente';} } else {$resultado['status'] = 'OK';} return $resultado; } ?> index.php <html> <head> <title>Pegar dados NFe na receita</title> </head> <body> <form method="post" action="processa.php"> <p><span class="titleCats">Chave de acesso</span> <br /> <input type="text" name="txtChaveAcessoCompleta" maxlength="44" required /> <b style="color: red">Chave</b> <br /> <img src="getcaptcha.php" border="0"> <br /> <input type="text" name="txtCaptcha" maxlength="6" required /> <b style="color: red">Código da imagem</b> <br /> </p> <p> <?php session_start(); //echo "<pre>";print_r($_SESSION["valor_input"]);echo "</pre>";die(); ?> <input name="ctl00$ContentPlaceHolder1$btnConsultar" type="submit" value="Continuar" /> <input name="__EVENTTARGET" type="hidden" value="<?php echo $_SESSION["valor_input"]["__EVENTTARGET"]; ?>"/> <input name="__EVENTARGUMENT" type="hidden" value="<?php echo $_SESSION["valor_input"]["__EVENTARGUMENT"]; ?>"/> <input name="__VIEWSTATE" type="hidden" value="<?php echo $_SESSION["valor_input"]["__VIEWSTATE"]; ?>"/> <input name="__VIEWSTATEGENERATOR" type="hidden" value="<?php echo $_SESSION["valor_input"]["__VIEWSTATEGENERATOR"]; ?>"/> <input name="__EVENTVALIDATION" type="hidden" value="<?php echo $_SESSION["valor_input"]["__EVENTVALIDATION"]; ?>"/> <input name="token" type="hidden" value="<?php echo $_SESSION["valor_input"]["token"]; ?>"/> <input name="captchaSom" type="hidden" value="<?php echo $_SESSION["valor_input"]["captchaSom"]; ?>"/> <input name="hiddenInputToUpdateATBuffer_CommonToolkitScripts" type="hidden" value=""/> </p> </form> </body> </html>
  2. Olá, to fazendo a gravação no banco recebido de um formulário, ta gravando, só que quero que apareça uma mensagem após a gravação, que foi recebido com sucesso. Mas está dando o erro abaixo. To travada nisso faz 2 dias, não sei como resolver. Ou alguma sugestão de alteração de gravação, para json, estou aberta a sugestões. A PHP Error was encountered Severity: Notice Message: Undefined variable: alerta Filename: public/contato.php Line Number: 72 Backtrace: File: D:\xampp\htdocs\alertweb\application\views\public\contato.php Line: 72 Function: _error_handler File: D:\xampp\htdocs\alertweb\application\views\public\index.php Line: 7 Function: include File: D:\xampp\htdocs\alertweb\application\controllers\Inicio.php Line: 45 Function: view File: D:\xampp\htdocs\alertweb\index.php Line: 292 Function: require_once aqui está a controller public function Contato(){ $mensagem = null; if($this->input->post('enviarContato') === 'enviarContato'){ $nome = $this->input->post('nome'); $email = $this->input->post('email'); $telefone = $this->input->post('telefone'); $assunto = $this->input->post('assunto'); $texto = $this->input->post('texto'); $this->load->model('InicioModel'); $this->InicioModel->gravarContato($nome,$email,$telefone,$assunto,$texto); if($this->InicioModel->gravarContato === true){ $mensagem = array('class' => 'success', 'mensagem' => 'Mensagem enviada com sucesso, retornaremos em breve.' ); }else{ $mensagem = array('class' => 'danger', 'mensagem' => 'Ocorreu um erro! Favor, tentar mais tarde.' ); } } $dados = array('alerta' => $mensagem); $this->load->view('public/index', $dados); } e aqui está a view <div class="col-md-9 col-xs-9 col-lg-9 col-sm-9"> <form class="form-horizontal" action="<?php echo base_url('Inicio/contato');?>" method="post"> <fieldset> <!-- Text input--> <div class="form-group"> <label class="col-md-4 control-label" for="nome">Nome</label> <div class="col-md-5"> <input id="nome" name="nome" type="text" placeholder="Digite o seu nome" class="form-control input-md" required=""> </div> </div> <!-- Text input--> <div class="form-group"> <label class="col-md-4 control-label" for="email">E-mail</label> <div class="col-md-5"> <input id="email" name="email" type="text" placeholder="Digite o seu e-mail" class="form-control input-md" required=""> </div> </div> <!-- Text input--> <div class="form-group"> <label class="col-md-4 control-label" for="telefone">Telefone</label> <div class="col-md-5"> <input id="telefone" name="telefone" type="text" placeholder="Digite o seu telefone" class="form-control input-md" required=""> </div> </div> <!-- Text input--> <div class="form-group"> <label class="col-md-4 control-label" for="assunto">Assunto</label> <div class="col-md-5"> <input id="assunto" name="assunto" type="text" placeholder="Digite o assunto do contato" class="form-control input-md" required=""> </div> </div> <!-- Textarea --> <div class="form-group"> <label class="col-md-4 control-label" for="texto"></label> <div class="col-md-5"> <textarea class="form-control textarea" id="texto" name="texto" style="height: 200px;"></textarea> </div> </div> <div class="form-group"> <label class="col-md-4 control-label" for="texto"></label> <div class="col-md-5"> <button class="btn btn-default" type="submit" name="enviarContato" value="enviarContato">Enviar <i class="fa fa-envelope-o"></i></button> </div> </div> <?php if($alerta != null){?> <div class="form-group"> <div class="col-md-12"> <div class="col-md-4"></div> <center> <div class="col-md-4"> <div class="alert alert-<?php echo $alerta['class'];?>"> <?php echo $alerta['mensagem'];?> </div> </div> </center> </div> </div> <?php }?> </fieldset> </form> </div> </div>
  3. luccasrodrigo

    Sistema de Busca com Paginação

    Quando faço a consulta obtenho o seguinte resultado [imagem1] Ao clicar para ir para página 2, obtenho o seguinte resultado [imagem2] Ou seja, na página "1" tudo funcionando com o total de resultados exibidos (10) e com os total de links (2), só que ao ir para página "2", aparece muito mais links, o que indica que ele consultou e retornou toda tabela, preencheu com a quantidade respectiva de links e mostrou o conteúdo errado na página 2. Obs: 19 campos com o termo CONFEF; 10 resultados por paginação; 4 links para página anterior e seguinte; 77 campos na tabela duvidas; [imagem1] [imagem2] formulario.php <body> <form name="frmBusca" method="post" enctype="multipart/form-data" action="pesquisa.php?pag=1" > <input type="text" name="palavra" /> <input type="submit" value="Buscar" /> </form> </body> pesquisa.php <!-- Inicio do Sistema de Busca Interna --> <?php //Se pg não existe atribui 1 a variável pag $pag = (isset($_GET['pag'])) ? (int)$_GET['pag'] : 1 ; if($pag=='0'){ $pag = '1'; } // Pegamos a palavra $palavra = trim($_POST['palavra']); $maximo = '10'; //Atribui a variável inicio o inicio de onde os registros vão ser mostrados por página, exemplo 0 à 10, 11 à 20 e assim por diante $inicio = ($pag * $maximo) - $maximo; $sql = "SELECT * FROM duvidas WHERE resposta LIKE '%$palavra%' LIMIT ".$inicio. ", ". $maximo; try { $consulta = $conecta->prepare($sql); $consulta->execute(); $conecta->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $resultado = $consulta->fetchAll();// Recuperar todos valores encontrados $count = $consulta->rowCount(PDO::FETCH_ASSOC);// Quantos registros foram encontrados }catch (PDOException $erro) { die("Não foi possível conectar ao banco de dados :" . $erro->getMessage()); } if ($count != 0) { foreach($resultado as $res){ $pergunta = $res['pergunta']; $id = $res['id']; echo '<br>'; echo '<a href="http://cref14.org.br/visualizar_resposta.php?id='.$id.'">• <span style="color:black; font-size:10px;">'.$pergunta.'</span></strong>'; echo '<br>'; } //echo "Foram encontrados ".$count." registro(s)"; } // Se não houver registros else { echo "Nenhum produto foi encontrado com a palavra ".$palavra.""; } ?> <!-- Fim Sistema de Busca Interna --> <!-- Inicio Paginação --> <?php // Query de consulta $sql = "SELECT * FROM duvidas WHERE resposta LIKE '%$palavra%'"; try { $consulta = $conecta->prepare($sql); $consulta->execute(); $conecta->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $resultado = $consulta->fetchAll();// Recuperar todos valores encontrados $count = $consulta->rowCount(PDO::FETCH_ASSOC);// Quantos registros foram encontrados }catch (PDOException $erro) { die("Não foi possível conectar ao banco de dados :" . $erro->getMessage()); } $paginas = ceil($count/$maximo); $links = '4'; echo '</br></br></br><ul id="paginacao">'; echo '<li><a href="pesquisa.php?pag=1" >Primeira</a></li>'; for($i = $pag-$links; $i <= $pag-1; $i++){ if($i <= 0){ }else{ echo '<li><a href="pesquisa.php?pag='.$i.'">'.$i.'</a></li>'; } } echo "<li>$pag</li>"; for($i = $pag+1; $i <= $pag+$links; $i++){ if($i > $paginas){ }else{ echo '<li><a href="pesquisa.php?pag='.$i.'">'.$i.'</a></li>'; } } echo '<li><a href="pesquisa.php?pag='.$paginas.'">Última</a></li></br></br></br>'; echo'</ul>'; ?> <!-- Fim Paginação -->
  4. Galera eu preciso fazer com que cada pagina do meu pdf saia com o cabeçalho e o rodape usando o Mpdf meu código esta assim <?php require_once APPLICATION_PATH.'/componentes/mpdf60/mpdf.php'; ob_start(); ?> <!DOCTYPE html> <html> <title>    Impressão     </title> <head> </head> <body> <div id='tudo'> <?php $nome = $this->nome[0]['cz00_nome']; $dataini = $this->dataToBr($this->datainicio); $datafim = $this->dataToBr($this->datafim); ?> <?php $topo = "<div id='tituloid'><b>$nome</b></div> <div id='subtituloid'><b>Relatório Remoções</b></div> <div id='periodoid'><b>Periodo de $dataini à $datafim</b></div> <br> <div id='datatopo'><b>Data</b></div> <div id='pacientetopo'><b>Paciente</b></div> <div id='origemtopo'><b>Origem</b></div> <div id='destinotopo'><b>Destino</b></div> <div id='kmpercorridotopo'><b>Km Percorrido</b></div> <div id='valorkmtopo'><b>Valor por Km</b></div> <div id='totaltopo'><b>Total</b></div> <div id='lotetopo'><b>Lote</b></div> <div id='utitopo'><b>UTI</b></div> <div id='regiaotopo'><b>Regiao</b></div> <div id='borda'></div>";?> <?php foreach ($this->dados as $val){?> <div id='nomeconvenio'><?php //echo $val['cz02_nome']?></div> <?php if($val['cz06_dtat'] == ""){?> <div id='dataconvenio'> </div> <?php }else{?> <div id='dataconvenio'><?php echo $this->dataToBr($val['cz06_dtat'])?></div> <?php }?> <?php if($val['cz04_nome'] == ""){?> <div id='nomepaciente'> </div> <?php }else{?> <div id='nomepaciente'><?php echo $val['cz04_nome']?></div> <?php }?> <?php if($val['cz0601_cidadeorigem'] == ""){?> <div id='cidadeorigem'> </div> <?php }else{?> <div id='cidadeorigem'><?php echo utf8_decode($val['cz0601_cidadeorigem'])?></div> <?php }?> <?php if($val['cz0601_cidadedestino'] == ""){?> <div id='cidadedestino'> </div> <?php }else{?> <div id='cidadedestino'><?php echo utf8_decode($val['cz0601_cidadedestino'])?></div> <?php }?> <?php if($val['cz0601_totalkm'] == ""){?> <div id='kmpercorrido'> </div> <?php }else{?> <div id='kmpercorrido'><?php echo $val['cz0601_totalkm']?></div> <?php }?> <?php if($val['cz2124_02vlrkm'] == ""){?> <div id='valorkm'> </div> <?php }else{?> <div id='valorkm'><?php echo $this->moeda($val['cz2124_02vlrkm'])?></div> <?php }?> <?php if ($val['cz0601_totalkm'] == '' && $val['cz2124_02vlrkm'] == ''){?> <div id='total'> <?php echo 0,00//$this->moeda($val['cz2124_02vlrkm'])?> </div> <?php }else{?> <?php $totalkm = $val['cz0601_totalkm']; $valorkm = $val['cz2124_02vlrkm']; $total = ($totalkm * $valorkm); ?> <div id='total'> <?php echo $this->moeda($total)?> </div> <?php }?> <?php if($val['cz2124_02lote'] == ""){?> <div id='lote'> </div> <?php }else{?> <div id='lote'><?php echo $val['cz2124_02lote']?></div> <?php }?> <?php if($val['cz2124_02modalidade'] == ""){?> <div id='uti'> </div> <?php }else{?> <div id='uti'><?php echo $val['cz2124_02modalidade']?></div> <?php }?> <?php if($val['cz2124_02modalidade'] == ""){?> <div id='regiao'> </div><br> <?php }else{?> <div id='regiao'><?php echo $val['cz2124_02regiao']?></div><br> <?php }?> <?php }?> </div> </body> </html> <?php $datahoje = date('Y-m-d'); $html = ob_get_clean(); $html = utf8_encode($html); $rodape = "<div id=''>$datahoje</div>"; $rodape = utf8_encode($rodape); $topo = utf8_encode($topo); $mpdf = new mPDF('utf-8', 'A4-L',7,'MS Serif',5,5,10,5); $mpdf->WriteHTML($html); $mpdf->SetHTMLHeader($topo,'O',true); $mpdf->SetHTMLFooter($rodape); $mpdf->Output('relatorio-remocao-convenio.pdf',I); exit(); ?>
  5. ppaulo.777

    Cotação Dolár para Euro Automática

    Opa pessoal, blz? Estou precisando de uma class do php que pegue a cotação em tempo real do dólar (USD) para euro (EUR) ! Há algum script em php para isso ? Obrigado !
  6. Procuro programadores em PHP (de preferência), ou linguagens que "conversem" com HTML/CSS, experientes e com portfolio; O projeto é revolucionário, portanto não posso dar maiores explicações aqui. Interessados enviem email com curriculo e portfolio para brunomosciatti@outlook.com
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.