Ir para conteúdo
Fórum Script Brasil

Rafael Rocha B.

Membros
  • Total de itens

    90
  • Registro em

  • Última visita

Tudo que Rafael Rocha B. postou

  1. Olá Fábio, Quando o usuário se autentica você salva o login dele na sessão, certo? Nesse processo você pode salvar na sessão o estado ao qual ele pertence e utilizar essa variável de sessão para fazer suas consultas no banco, por exemplo: SELECT * FROM usuarios WHERE estado = $_SESSION['estado_admin']. Espero ter ajudado.
  2. Olá Felipe, Você diz que a variável: $campolodinrecuperacao está nula quando a utiliza no UPDATE, porém também está usando tal variável no WHERE do SELECT, e dá certo?? Você tem certeza de está setando corretamente essa variável com os dados que vem do form? Será que essa variável já não está chegando nula no seu script php? Dá um var_dump() (http://php.net/var_dump) nela pra saber qual o valor que está armazenado lá. Dica: var_dump($campolodinrecuperacao); //veja qual o valor da variável nesse ponto do script die();//serve para parar a execução do script $selecionandorecuperador = mysql_query("SELECT * FROM user WHERE nome ='$campolodinrecuperacao' and email = '$campoemailrecuperaoca'"); Resumindo, você precisa 'debugar' seu código para encontrar o erro, analisar linha a linha os valores das variáveis que podem estar ocasionando o erro, e existem funções php para isso, uma delas é a var_dump(). Espero ter ajudado.
  3. Olá fabianoweb, Até onde sei você está enviando uma query pro banco mas não está tratando seu retorno. Da uma olhadinha aqui: http://www.php.net/mysqli_query. Não sei ao certo como funciona a mysqli, só usei a mysql (sem o I no fim), mas tente usar funções para tratar o retorno da query, na mysql_query, por exemplo, trato da seguinte forma: $conexao = mysql_connect ("localhost", "root", "") or die ('ERRO: ' . mysqli_error()); mysql_select_db ($conexao ,"site_teste"); $result = mysql_query($conexao, "SELECT OBTER_PRIORIDADE(3)" ) or die( mysqli_error()); while($row = mysql_fetch_array($result)){ echo $row["indice_1"] . " - " $row["indice_2"]; }
  4. Pois é Diogo, como o Eserra falou, use sessão, é mais fácil, ficaria da seguinte forma: Na página cadastro.php onde você recebe os dados do form (index.html) você setaria variáveis de sessão para as mesmas estarem disponíveis para toda sua aplicação: cadastro.php session_start(); $_SESSION['valor1'] = $_POST['valor1']; $_SESSION['valor2'] = $_POST['valor2']; Para ter acesso a esses dados em outra página, na potencia.php, por exemplo, você faria: session_start(); pow($_SESSION['valor1']); pow($_SESSION['valor2']); Da mesma forma na potencias.php. Para mais esclarecimentos sobre sessões em php, leia: http://blog.thiagobelem.net/aprendendo-a-u...sessoes-no-php/ http://www.revistaphp.com.br/artigo.php?id=79 http://www.php.net/manual/pt_BR/ref.session.php
  5. Olá pessoal, Estou gerando um DOC de maneira bem simples: $arquivo = "documento.doc"; $html .= "<div style='width: 800px;'>"; $html .= "<h1>texto_1</h1>"; $html .= "<h1>texto_2</h1>"; $html .= "</div>"; header("Content-type: application/msword; charset=UTF-8"); header("Content-Disposition: attachment; filename=".$arquivo.""); echo $html; //Mostrando o arquivo Porém, quando faço o download do DOC e o abro no Word a página fica estendida, sem margens corretas, e sem delimitação de página (por mais que eu aperte ENTER para quebrar as linhas a segunda página nunca chega). Alguém tem algum toque pra configurar esses detalhes? Desde já grato pela atenção,
  6. Em primeiro lugar, obrigado pela atenção fulvio. Consegui entender mais ou menos o que você disse. Bem, um dos sistemas que gera boleto aqui na empresa não me da acesso algum ao código por ser de uma grande empresa, então não sei como eles fazem para gerar o nosso número. Enfim, vou dar um exemplo do nosso número do boleto que os sistemas geram: Sistema 1 (ao qual não tenho acesso ao código) 12000070767-8 (pelo o que entendi esse 120 é fixo) Sistema 2 (o que estou desenvolvendo) 000000000001-9 Se eu colocar uma numeração fixa no início, por exemplo: 140000000001-9 já elimina totalmente a possibilidade de duplicidade, certo?
  7. Olá pessoal, Alguns anos depois e aqui estou eu com dificuldades na geração de boletos para o Santander. A documentação que encontrei sobre a geração do Nosso Número e DV foi nesse site: http://boletophp.com.br/ Porém, não sei se está atualizada, já procurei bastante algum tipo de manuel fornecido pelo Santander e não encontro. No manual que baixei do site acima tem a seguinte afirmação: FÓRMULA PARA CÁLCULO DO DÍGITO VERIFICADOR NO NÚMERO BANCÁRIO (NOSSO NÚMERO) Exemplo 01 O NÚMERO BANCÁRIO é composto por 3 partes; 3 (três) dígitos para o número da Agência (constante); 7 (sete) dígitos para a numeração sequencial; e 1 (um) dígito verificador; Beleza, mas a agência aqui da empresa tem 4 dígitos. E essa parte dos 7 dígitos, tem que ser obrigatoriamente 7 digitos? Estou meio perdido, já pesquisei bastante e não encontro uma solução. OBS: Existe outro sistema que também gera boletos pra mesma empresa, será que isso pode causar algum problema? Pois existe a possibilidade do meu sistema que é novo gerar um 'nosso número' que já tenha sido gerado anteriormente por esse outro sistema. Desde já grato pela atenção,
  8. Opa RRE, Legal sua iniciativa. Você tem algum conhecimento de programação? Já sabe o básico de PHP, SQL, HTML? Pois para criar um sisteminha desses é necessário uma base mínima de programação. Caso não tenha esse conhecimento e queira disponibilizar logo esse 'serviço' lhe aconselho a procurar um CMS.
  9. Olá pessoal, Estou precisando comparar datas direto na consulta sql, com o objetivo de otimizar o tempo de processamento. Tenho a seguinte consulta: $sql = "SELECT data_fim, id FROM produtos"; $query = mysql_query($sql); while($linha = mysql_fetch_assoc($query)){ $hoje = date("Y-m-d"); $fim = strtotime($linha['data_fim']); $hoje = strtotime($hoje); if($fim < $hoje) {//aqui faço um update} ... //Obs: o campo data_fim é do tipo DATE no sql. O banco de dados no qual estou fazendo a consulta é muito grande, então sempre que entro na página que chama essa função leva séculos para carregar. Ao meu ver a solução seria comparar a data do banco com a data atual direto na consulta SQL, porém não consegui fazer e nem achei nada que me ajudasse na web. Alguém já passou por essa situação? Alguém pode me dar uma luz? Obrigado pela atenção,
  10. Já havia tentando colocar 'none' na opção escala da página. Só que mesmo assim as margens brancas continuam. Tentei várias configurações na impressora mas mesmo assim as bordas continuam.
  11. Opa pessoal, Galera, estou gerando um arquivo em PDF nas dimensões de um papel A4. Quando gero o arquivo fica tudo ok, o tamanho fica exatamente igual a de um papel A4, só que quando vou imprimir ficam umas bordas brancas enormes embaixo e do lado direito, com se ficasse sobrando espaço. Não onde estou errando, já imprime em 3 impressoras diferentes e o problema continua. Alguém tem alguma dica do que possa ser? <?php include_once("fpdf/fpdf.php"); $nome = "Nome de teste"; $descricaoEvento = "participou do XXII Congresso ... com carga horário total de 20 (vinte) horas."; $dia = "14"; $pdf = new FPDF('L', 'mm', 'A4'); //$pdf = new FPDF('L','mm',array(297,210)); //(*) $pdf->AddPage(); $pdf->setFont('times', 'B', 12); $pdf->Cell(0,0, $pdf->Image("images/bg.png", 0, -1, 297, 210)); //Logo Marca (*) $pdf->Cell(0,0, $pdf->Image("images/logo.png", 57, 1, 50, 45)); //TÍTULO DO EVENTO - part 1 (*) $pdf->setFont('times', 'B', 35); $pdf->setXY(140, 10); $pdf->Cell(70,8, "XXII Congresso ", 0, 1, 'C'); //TÍTULO DO EVENTO - part 2 (*) $pdf->setXY(140, 25); $pdf->Cell(70,8, "de ...", 0, 1, 'C'); //TRAÇO (*) $pdf->setFont('times', 'B', 20); $pdf->setXY(105, 36); $pdf->Cell(80,8, "____________________________", 0, 1, 'C'); //CERTIFICADO (*) $pdf->setFont('times', 'B', 40); $pdf->setXY(106, 55); $pdf->Cell(80,8, "CERTIFICADO", 0, 1, 'C'); //Certificados que (*) $pdf->setFont('times', "", 20); $pdf->setXY(105, 70); $pdf->Cell(80,8, "Certificados que", 0, 1, 'C'); //Nome do participante $pdf->setFont('times', 'B', 23); $pdf->setXY(8, 80); $pdf->MultiCell(280,15, $nome, 0, 'C'); //Descrição do evento $pdf->setFont('times', "", 18); $pdf->setXY(35, 95); $pdf->MultiCell(230,15, $descricaoEvento, 0, 'C'); //Data $pdf->setFont('times', "", 20); $pdf->setXY(5, 145); $pdf->MultiCell(280,15, "Fortaleza,". $dia ." de novembro de 2010.", 0, 'C'); //Assinatura Presidente (*) $pdf->Cell(0,0, $pdf->Image("images/assinaturas/Dr ... - assinatura1.png", 57, 155, 40, 25)); //Assinatura Secretário Geral (*) $pdf->Cell(0,0, $pdf->Image("images/assinaturas/Dr ... - assinatura.png", 195, 156, 50, 20)); //Nome presidente (*) $pdf->setFont('times', "", 12); $pdf->setXY(40, 175); $pdf->Cell(80,5, "Edmar Guedes", 0, 1, 'C'); //Presidente (*) $pdf->setFont('times', "", 12); $pdf->setXY(28, 179); $pdf->Cell(100,5, "Presidente", 0, 1, 'C'); //Presidente 2 (*) $pdf->setFont('times', "", 12); $pdf->setXY(28, 183); $pdf->Cell(100,5, "Sociedade ...", 0, 1, 'C'); //Nome Secretário Geral (*) $pdf->setFont('times', "", 12); $pdf->setXY(185, 175); $pdf->Cell(80,5, "...", 0, 1, 'C'); //Secretário Geral (*) $pdf->setFont('times', "", 12); $pdf->setXY(175, 179); $pdf->Cell(100,5, "Secretário Geral", 0, 1, 'C'); //Secretário Geral 2 (*) $pdf->setFont('times', "", 12); $pdf->setXY(175, 183); $pdf->Cell(100,5, "Sociedade ...", 0, 1, 'C'); //Realização (*) $pdf->setFont('times', "", 10); $pdf->setXY(99, 163); $pdf->Cell(100,5, "Realização:", 0, 1, 'C'); //Mini-logo (*) $pdf->Cell(0,0, $pdf->Image("images/miniLogo.png", 142, 168, 15, 10)); //Sociedade ... (*) $pdf->setFont('times', "", 10); $pdf->setXY(130, 178); $pdf->MultiCell(40,5, "Sociedade ...", 0, 'C'); //Saída de dados (*) $pdf->Output("arquivo", "I"); ?>
  12. Pessoal, alguém consegue enxergar o que está faltando para o conteúdo que está dentro da 1° div ficar sobrepondo a animação em flash? Já tentei de tudo, mas o texto sempre fica por trás do flash. <div style="width:100%;height:100%;position:absolute;left:0px;top:0px;z-index:2;"> <p>Conteúdo Conteúdo Conteúdo Conteúdo Conteúdo</p> </div> <div style="width:100%;height:100%;position:absolute;left:0px;top:0px;z-index:1;"> <embed src="flash.swf" width="1010" height="600" style="z-index:0;"></embed> </div>
  13. Pessoal, continuei pesquisando sobre o assunto e encontrei uma fonte que diz ter a solução. Quem se interessar segue o link. http://osvdb.org/12184
  14. Olá pessoal, Alguém já ouviu falar sobre um ataque a sites chamado 'Information Disclosure', e sobre alguma função PHP que posso inibir esse tipo de ataque? Pesquisei bastante na web e em livros mas não encontrei nada sobre esse tema relacionado com o PHP.
  15. Pra você ter noção o banco nem usuários tem. Ainda precisa criá-los de dar as permissões necessárias. Mas pra isso vou precisar alterar todos os arquivos que fazem conexão com o banco, que são mais de 100 ( eu disse que o sistema é muito mal programado, rs ). O cara que fez não teve a brilhante ideia de fazer um única arquivo com as conexões e chamar quando necessário. Existe autenticação sim. Mas no caso, eu só queria saber mesmo como faço pra verificar se um script está sendo executado no servidor, crio que aumenta a segurança.
  16. Muito bom o link. Valeu dica Romero. O artigo tem várias dicas de como tornar uma estrutura segura. Porém, não fala da questão que eu perguntei. Estou dando manutenção em um sistema muito mal programado, e tem um hacker invadindo e apagando o banco. Já validações de dados para prevenir o mysql injection, xss, e ativei o safe_mode do PHP para evitar que scripts que não estejam no servidor sejam executados. Mesmo com o safe_mode gostaria de verificar se o arquivo está sendo executado no servidor através de código, só pra prevenir.
  17. Olá pessoal, Gostaria de saber como faço para verificar se um arquivo está realmente sendo executado no meu servidor, para impedir que um hacker execute um script de outro servidor. Dei uma olhada nos livros que tenho e nenhum trata do assunto. Alguém já fez esse tipo de verificação? Desde já obrigado pela atenção,
  18. Olá pessoal, Estou com uma pequena dificuldade em fazer upload de arquivo. A princípio o código que vou postar abaixo estava funcionando, mas de repente a propriedade tmp_name passou a não ser setada quando faço o upload. Se alguém poder me dar uma dica agradeceria bastante. Desde já muito obrigado pela atenção. FORMULÁRIO <?php include_once ('controller/controller.php'); $nomeArquivo = $_POST["nomeArquivo"]; $arquivo = $_FILES["arquivo"]; $obj = new Controller(); echo $obj->criaCertificadoPadrao($nomeArquivo, $arquivo); ?> <form action=?acao=certificadoPadrao" method="POST" enctype="multipart/form-data"> Nome certificado<br /> <input type="text" name="nomeArquivo"><br /> Certificado<br /> <input type="file" name="arquivo" /><br /><br /> <input type="submit" value="Cadastrar" /> </form> <br /> <a href="index.php">Voltar</a> FUNÇÃO QUE RECEBE OS DADOS DO FORMULÁRIO E EFETUA O UPLOAD public function upload($nomeArquivo, $arquivo){ define("CAMINHO", "/wamp/www/PROJETOS/admin/certificados/"); $nome = $arquivo['tmp_name]; $resultado = move_uploaded_file($arquivo['tmp_name'], CAMINHO."$nomeArquivo.jpg"); if($resultado == 1){ $mensagem = 1; } else{ $mensagem = 0; } //} return $mensagem; }
  19. Olá Bruno, Sua explicação está meio confusa e mostra que você não tem muita experiência com PHP. Enfim, você pode chamar um arquivo em PHP dentro de um script HTML sim, você pode até criar funções em PHP dentro do HTML, para isso basta escrever o código dentro das tags <?php ?>. Enfim, incui 3 linhas de código no seu exemplificando uma situação onde você chama um arquivo PHP dentro do HTML, chama uma função que está dentro do arquivo incluso e passa um valor dinâmicamente para a mesma. Espero que possa lhe ajudar. <HTML> <HEAD> <TITLE>Suporte online</TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script LANGUAGE="JavaScript" src="ajaxall.js"></SCRIPT> <script LANGUAGE="JavaScript"> <!-- function send(){ var k = Array('name','msg'); var v = Array(document.frm.name.value, document.frm.msg.value); var q = Ajax.makeQuery(k,v); Ajax.set('index.php',q,'txt','',''); Ajax.post(); document.frm.msg.value = ''; document.frm.msg.focus(); return false; } function LoadMsgs() { Ajax.set('get.php','open=1','txt','msgs',function(){Ajax.writeId();}); Ajax.get(); setTimeout('LoadMsgs()',800); } //--> </SCRIPT> <STYLE TYPE="text/css" TITLE=""> body { background-color: #ffffff; text-align:center; } body, table, td, tr, form, input { font-family:sans-serif; font-size:10pt; } form { margin:0px; padding:0px; } h3 { display:inline; } #body { background-image:url(themes/ecm/images/background.gif); width:300px; height:500px; text-align:left; } #subtitletd { background-color: #B9DCFF; border-style:solid; border-color: #0059B3; border-width:1px; width:290px; text-align:left; } #msgs { background-color:white; border-style:solid; border-color: #0059B3; border-width:1px; width:290px; height:200px; text-align:left; } </STYLE> <?php include ("nomeDoArquivo.php"); $name = $_POST["name"];//name é o valor do atributo 'name' do input referente ao NICK_NAME, ela pega o valor digitado pelo usuário nesse campo funcaoQualquer($name);//Essa função está contida no arquivo que você chamou no include acima, no caso nomeDoArquivo.php ?> </HEAD> <BODY onLoad="LoadMsgs();document.frm.msg.focus();"> <CENTER><DIV id="body" > <br>&nbsp;&nbsp;&nbsp;<IMG SRC="themes/ecm/images/ico.gif" ALT="" align="center" width="64" height="64">&nbsp;<B> <H3>Suporte Online H4cker<br> &nbsp; </H3></B><CENTER><div id="subtitletd">&nbsp;ECM_WELCOME</div> <br> <div id="msgs"></div> <DIV ALIGN="center" style="font-family:sans-serif;font-size:10pt;"> <FORM METHOD="POST" ACTION="get.php" name="frm" id="frm" onSubmit="send();return false;"> &nbsp;<TABLE height="50"> <TR> <TD>Nome:</TD> <TD><INPUT TYPE="text" NAME="name" id="name" value="NICK_NAME"></TD> <TD rowspan="2" colspan=2><INPUT TYPE="submit" value="Enviar" style="width:50px;height:50px;border-width:1px;"></TD> </TR> <TR> <TD>Texto:</TD> <TD><INPUT TYPE="text" NAME="msg" id="msg"></TD> </TR> </TABLE> &nbsp;&nbsp;<br> &nbsp; </FORM> </DIV></CENTER> </DIV> </CENTER></BODY> </HTML>
  20. Opa Leo, Seu erro vai apenas um pequeno detalhe, segue abaixo o código corrigido; <?php $content = file_get_contents("http://www.terra.com.br"); echo $content; $fp = fopen("fonte.txt", "w");//Aqui você usou a variável $fp para abrir o Arquivo $escreve = fwrite($fp, "$content");//Então aqui você também deve usar a variável $fp e não $fd como você colocou fclose ($fd) ?> Abraço,
  21. Rafael Rocha B.

    PagSeguro

    Opa pessoal, tudo em paz? Galera estou com um problema sério. Dou manutenção em um site de compra coletiva, obviamente ele trabalha com vendas online, o sistema de pagamento é o PagSeguro. Ontem migrei o site de servidor, só que preservei todas as senhas de acesso ao banco, arquivos e dados do banco de dados. Depois dessa migração o PagSeguro não retorna mais o status correto da compra, tipo "Em análise", "Cancelado", entre outros. Ao invés disso está retornando um status chamado "Novo" que não era pra existir. Não sou especialista em PagSeguro, mas dei uma lida sobre e vi que o link respoonsável pelo retorno de dados é configurável, no meu caso é o arquivo retorno.php. O conteúdo do arquivo retorno.php segue abaixo: <?php ob_start(); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: private, no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header('Content-Type: text/html; charset=ISO-8859-1'); require_once('Connections/compras.php'); mysql_select_db($database_compras, $compras); $query_ptgo = "SELECT * FROM pagseguro"; $ptgo = mysql_query($query_ptgo, $compras) or die(mysql_error()); $row_ptgo = mysql_fetch_assoc($ptgo); define('TOKEN', $row_ptgo['token']); class PagSeguroNpi { private $timeout = 20; // Timeout em segundos public function notificationPost() { $postdata = 'Comando=validar&Token='.TOKEN; foreach ($_POST as $key => $value) { $valued = $this->clearStr($value); $postdata .= "&$key=$valued"; } return $this->verify($postdata); } private function clearStr($str) { if (!get_magic_quotes_gpc()) { $str = addslashes($str); } return $str; } private function verify($data) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://pagseguro.uol.com.br/pagseguro-ws/checkout/NPI.jhtml"); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $result = trim(curl_exec($curl)); curl_close($curl); return $result; } } if (count($_POST) > 0) { $npi = new PagSeguroNpi(); $result = $npi->notificationPost(); $Referencia = isset($_POST['Referencia']) ? $_POST['Referencia'] : ''; $StatusTransacao = isset($_POST['StatusTransacao']) ? $_POST['StatusTransacao'] : ''; mysql_select_db($database_compras, $compras); $query_pedido = "UPDATE pedidos SET situacao = '".$StatusTransacao."' WHERE id = '".str_replace("Cód Pedido - ","",$Referencia)."'"; mysql_query($query_pedido, $compras) or die(mysql_error()); } ob_end_clean(); header("Location: index.php"); exit(); ?> Alguém já passou por isso?
  22. Olá pessoal, A seguinte consulta está retornando um erro e não estou conseguindo encontrá-lo $query = 'SELECT id,nome,dia,mes FROM #__aniversario WHERE mes = ' . $mes . 'ORDER BY mes ASC'; ERRO:Warning: Invalid argument supplied for foreach() in /home/facyl/sco.med.br/components/com_aniversario/aniversario.html.php on line 15 Contexto da função: f unction lista_nomes() { //faz a conexão com o banco de dados $db = &JFactory::getDBO(); $mes = date("m"); //Monta o comando de consulta (DML) $query = 'SELECT id,nome,dia,mes FROM #__aniversario WHERE mes = ' . $mes . 'ORDER BY mes ASC'; $db->setQuery($query); //Executa a consulta e obtém o resultado $lista = $db->loadRowList(); HTML_aniversario::listaNomes($lista); } Alguém faz alguma ideia do que seja?
  23. Poxa pessoal sem palavras para agradecer. Entendi das duas formas, ajudou bastante. RESOLVIDO!
  24. Opa pessoal, tudo em paz? Estou com uma dúvida relativamente simples. Tenho uma função que retorna uma array para outra função. Gostaria de saber como faço pra acessar esses valores. <?php function soma($a,$b) { $c = $a + $b; $d = $a * $b; $array = array(); $array[0] = $c; $array[1] = $d; return $array; } function listaResultados(){ soma(2,2); echo $array; //ISSO NÃO ME RETORNA NADA, COMO FAÇO PRA ACESSAR OS VALORES? } listarResultados(); ?>
  25. Valeu Romero, consegui desenrolar aqui. Não queria ter que digitar as 40 questões, queria fazer usando um loop uma vez que pego as questões no banco de dados. A dúvida era como individualizar cada questão. Tentei fazer da propriedade "name" do input o id da questão, mas deu erro de sintaxe. Enfim, a sua solução resolveu meu problema, muito obrigado. Abraço,
×
×
  • Criar Novo...