Jump to content
Fórum Script Brasil

brunocasado

Membros
  • Posts

    317
  • Joined

  • Last visited

About brunocasado

  • Birthday 01/28/1990

Contatos

Perfil

  • Gender
    Male
  • Location
    Sao paulo
  • Interests
    web design(cursando),programaçao, design grafico

brunocasado's Achievements

0

Reputation

  1. cara o allow_url_fopen está habilitado. Na verdade o servidor nós administramos (IP EXTERNO). De qualquer forma resolvi habilitando o Curl nos nossos servidores. Então o código ficou assim: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://URL"); $data = array('login' => "login", 'password' => "password", 'usr_login' => 'login'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt"); curl_setopt( $ch, CURLOPT_COOKIE, $session); $retorno = curl_exec($ch); curl_setopt($ch, CURLOPT_URL, "http://URL"); $data = array('fg_mes' => $mes, 'fg_ano' => $ano, 'fg_cliente_id' => $clientId); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $retorno = curl_exec($ch); //echo $retorno; curl_close($ch); está ai dica para quem precisa acessar áreas restritas via requisição HTTP.
  2. Galera Boa tarde! Estou precisando em um webservice gerar um pdf toda vez que alguém o consome, igual a uma parte do sistema que temos faz, porém, temos uma tela específica para isso. Pois bem o sistema foi construído em um framework, e o webservice está fora dele. A parte que gera o pdf, está nas dependencias do framework, por isso, o webservice tem que usar o que já foi criado anteriormente. Para isso eu pensei em utilizar o Curl, porém os servidores não estão compilados com ele. Ai pensei em utilziar fsockopen, mas o problema que está gerando uma série de erros. Por exemplo: Testo fsockopen("http://192.168.100.232", 80) ele dá um warning unable to connect to http://www.embrasol.com.br:80 (Unable to find the socket transport "http" - did you forget to enable it when you configured PHP?) Se testo sem http ele me gera um bad request HTTP/1.1 400 Ai fiz um teste bobo passando o host como http://www.google.com.br e sem passar algum header e simplesmente da o mesmo problema a cima. Se tiro o http dá um outro erro estranho. Além disso demora MUITOO!!!! para ele retornar mensagem alguma. O código está assim ( Tem coisa feita ae para debugar ): $hostname = "192.168.100.232"; //$hostname = "192.168.100.232"; $port = 80; $fp = fsockopen($hostname,$port); $data = "login=login&password=pass"; fputs($fp,"User-Agent: " . $_SERVER['HTTP_USER_AGENT'] . "\r\n"); fputs($fp,"Content-type: application/x-www-form-urlencoded\r\n"); fputs($fp,"Content-length: " . strlen($data) . "\r\n"); //fputs($fp,"POST /~bruno.augusto/hughes/source/web/?a=open:process:Security:authUser HTTP/1.1\r\n"); fputs($fp,"Connection: close\r\n"); fputs($fp,$data); //$data = "\r\nfg_mes=02&fg_ano=2010&fg_cliente_i=85\r\n"; //$str .= "POST /~bruno.augusto/hughes/source/web?a=open:ManReportFaturamentoGeral:gravaPdf&template=vazio HTTP/1.1\r\n"; //$str.= "Connection: Close\r\n"; $x = 0; while(!feof($fp)){ $return .= fread($fp,2094); //$return .= fgets($fp); $x++; if($x==10) break; } fclose($fp); echo $return; Mensagem do erro:
  3. Pessoal negócio é o seguinte, comesei a colocar o endereço manualmente na URL simulando um clique no botão aonde chama a função javascript que por sua vez passa para a função em php a ID da campaign. Pois bem, se eu mando as variaveis pelo javascript ele deleta mas não retorna as linhas afetadas. se eu coloco diretamente na URL ele funciona perfeitamente. Estou usando a funcao: <script type="text/javascript"> function delCampaign(id_campaign){ if(confirm("Voce tem certeza que deseja excluir este registro?")){ loc = window.location = "./?action=del&campaign="+id_campaign; window.open(loc,'_self'); } } </script> Será que é um problema de url passada? EDIT: RESOLVIDO GALERA. OLHA SÓ Estava vendo uma alternativa para abrir links com javascript e fui consultar o w3schols aonde tinha indicado um código usando essa função que criei acima. PORÉM, NÃO SE PODE USAR WINDOW.LOCATION E DEPOIS WINDOW.OPEN POIS ELE ACABA TENTANO ABRIR 2 VEZES A PAGINA, E ERA ISSO QUE ESTAVA ACONTECENDO. RETIREI O WINDOW.OPEN DA FUNÇÃO ÀCIMA E FUNCIONAL PERFEITAMENTE!
  4. certo olha ai... a pagina que chama a função: <?php $title = "Sistema Newsletter - Campanhas"; ?> <?php $adicionalHeaders = " "; ?> <?php include "../../layout/header.php"; include "../../layout/body.php"; include "../../layout/top.php"; ?> <!-- Start Container --> <script type="text/javascript"> function delCampaign(id_campaign){ if(confirm("Voce tem certeza que deseja excluir este registro?")){ loc = window.location = "./?action=del&campaign="+id_campaign; window.open(loc,'_self'); } } </script> <?php include "../../config/config.php"; ?> <?php include "../../classes/bd.php"; ?> <?php include "../../classes/treat.php"; ?> <?php import_request_variables('gp','_'); $con = db_connect(); $campaigns = new bd(); $campaigns -> query("campanhas"); if(isset($_action)){ if($_action=="del"){ $campaigns->delRecord("campanhas",$_campaign); echo $campaigns->msg; } } ?> <div id="bar_control"><a href="add.php">[Adicionar]</a> </div> <table cellpadding="3" cellspacing="3" width="100%"> <tr> <td>ID</td> <td>Campanha</td> <td>Cria&ccedil;&atilde;o</td> <td>Situa&ccedil;&atilde;o</td> <td>Data da Cria&ccedil;&atilde;o</td> <td>A&ccedil;&otilde;es</td> </tr> <?php while($results = mysql_fetch_array($campaigns->sql)){ if($results['ativo']==1){$status = "Pendente";}elseif($results['ativo']==2){$status = "Enviado";}else{$status = "Cancelado";} $date = new treat; $newDate = $date->formatDate('-', $results['data_criacao']); ?> <tr> <td><?php echo $results['id'];?> </td> <td><?php echo $results['nome_campanha'];?> </td> <td><?php echo $results['id_usuario'];?> </td> <td><?php echo $status; ?> </td> <td><?php echo $newDate ?> </td> <td><a href="../preview/?camp_ID=<?php echo $results['id_session']; ?>">[Visualizar]</a>[Alterar] <a href="java script:void(0)" onclick="java script:delCampaign(<?php echo $results['id']; ?>)">[Deletar]</a>[Enviar][Estatisticas]</td> <tr> <?php } ?> </table> <?php db_disconnect($con);?> <!-- finish Container --> <?php include "../../layout/bottom.php"; ?> agora a classe bd e suas funcoes: <?php class bd{ function query($tbl){ $this->sql = mysql_query("SELECT * FROM " . $tbl) or die(mysql_error()); } function insertInto($tbl,$values, $msg, $feedback = false, $page = false){ $query = "INSERT INTO " . $tbl . " VALUES " . "(" . $values . ")"; $run = mysql_query($query) or die(mysql_error()); $success = mysql_affected_rows(); if($success){ if($feedback){ $msg .= "<br />Voc&ecirc; ser&aacute; redirecionado &agrave;s campanhas em 3 segundos. Caso n&atilde;o aconte&ccedil;a, <a href='$page'>Clique aqui</a>"; echo '<meta http-equiv="refresh" content="3;URL=/pages/campaigns/" /> '; } echo $msg; } } function noDuplicate($tbl,$field,$value, $msgD){ $query = $this->query($tbl . " WHERE " . $field . "=" ."'" . $value . "'"); $rows = mysql_num_rows($this->sql); if($rows >0){ echo $msgD; return false; }else{return true;} } function delRecord($tbl, $value){ $sql = "DELETE FROM " . $tbl . " WHERE id=" . $value; $query = mysql_query($sql) or die(mysql_error()); $success = mysql_affected_rows(); if($success){ $this->msg = "Registro excluído com sucesso!"; } } } ?>
  5. cara o problema não está ai, ele chega a deletar..... deve ta com algum bug no affected rows. Estou usando import_request_variables('gp','_'); Por isso verifico $_action == 'del'; ou seja até ai está tudo normal.... o problema que ao deletar o registro não retorna o No de linhas afetadas. Sei lá to achando que é algum bug. tipo liguei o note hj, ai logo que abri meu navegador e mandei deletar ele conseguiu trazer 1 linha deletada, ai eu dei pulo de alegria e quando fui faze mais um teste novamente deu pau, não achou a linha afetada. :(. Tenta por favor usar as classes e funçoes.
  6. deu não cara.... c liga como está minha função: function delRecord($tbl, $value){ $sql = "DELETE FROM " . $tbl . " WHERE id=" . $value; $query = mysql_query($sql) or die(mysql_error()); $success = mysql_affected_rows(); if($success){ $this->msg = "Registro excluído com sucesso!"; } } } Agora a parte que chama a funcao <script type="text/javascript"> function delCampaign(id_campaign){ if(confirm("Voce tem certeza que deseja excluir este registro?")){ loc = window.location = "./?action=del&campaign="+id_campaign; window.open(loc,'_self'); } } </script> <?php include "../../config/config.php"; ?> <?php include "../../classes/bd.php"; ?> <?php include "../../classes/treat.php"; ?> <?php import_request_variables('gp','_'); $con = db_connect(); $campaigns = new bd(); $campaigns -> query("campanhas"); if(isset($_action)){ if($_action=="del"){ $campaigns->delRecord("campanhas",$_campaign); echo $campaigns->msg; } } ?> <a href="../preview/?camp_ID=<?php echo $results['id_session']; ?>">[Visualizar]</a>[Alterar] <a href=java script:void(0)" onclick="java script:delCampaign(<?php echo $results['id]; ?>)">[Deletar]</a>[Enviar][Estatisticas]</td>
  7. amigão, está ok, tanto que ele deleta o registro mas não retorna a linha afetada.
  8. Pode fazer o seguinte: (Explicando + - a lógica) ACESSO_NEGADO.php <p>ACESSO NEGADO. Digite abaixo o motivo para libera-lo</p> <form method='GET OU POST' action="submit.php"> <input name='motivo' type='text' /> <input type='hidden' name='pagina_acessada' value='<?php echo $_SERVER['HTTP_REFERER'];?>' /> </form> submit.php <?php import_request_variables('gp', '_'); /* AQUI PODE USAR O MAIL do PHP ou PHPMAILER*/ mail('para','pedido de acesso','A pagina $_pagina_acessada foi acessada.<br /> Motivo:' . $_motivo) ?> Mais ou menos isso amigão Estava vendo faltou a parte do usuário..... pode gravar o nome do usuario em uma sessão. acho que é mais simples do que resgatar pelo nome do diretório.... No momento que você faz a verificação, provavelmente guarda o usuário em sessão ou cookie. Basta jogar o valor da variavel da sessão na página de enviar o email
  9. Galera, to com um problema, criei uma classe a qual roda uma função que deleta determinado tipo de registro do banco de dados, e todas as minhas verificações, eu costumo utilizar o mysql affected rows para gerar uma mensagem. Pois bem nessa mesma classe tenho uma outra função de dar um insert que funciona perfeitamente. Porém ao deletar um registro usando minha função, ele deleta perfeitamente o registro mas o mysql_affected_rows retorna 0. Vo postar o código. bd.php .... function delRecord($tbl, $where, $value){ $sql = "DELETE FROM " . $tbl . " WHERE " . $where . " = " . $value; $query = mysql_query($sql) or die(mysql_error()); $success = mysql_affected_rows(); echo $success; if($success ==true){ $this->msg = "Registro excluído com sucesso!"; } Agora pedaço que chama a função <?php import_request_variables('gp','_'); $con = db_connect(); $campaigns = new bd(); $campaigns -> query("campanhas"); if(isset($_action)){ if($_action=="del"){ $campaigns->delRecord("campanhas",$_where,$_campaign); echo $campaigns->msg; } } ......... Aparentemente está correta não esta?
  10. mas alexandre tem mais de 50 consultas...... imagina o trabalho... prefiro alterar então para ingles tem alguma outra alternativa
  11. Galera pensei em uma solução simples para meu tópico anterior, mas preciso da ajuda de vocês para a por em prática. Bem meu access é o 2007 inglês e utilizo um bd criado no 2002 portugues. Mas ao utilizar no meu access, está dando varios problemas causados nas Querys pois usam Formulários!TESTE!TESTE, e como sabemos o inglês não intende isso. Pensei no seguinte: Criar constantes com o nome de Formulários e na query altomáticamente mudaria para forms uma vez que seria trocado isso. Vocês sabem me disse se as querys conseguem ler constantes nos modulos? eu tentei criar um modulo e la fiz assim: Constant Formulários = Forms Mas não deu certo. Teria outra maneira de fazer isso?
  12. é eu sei... mas ainda tenho estações aqui no meu trabalho que usam o 2002 português.... ai da rolo...
  13. Pode..... poderia ter uma solução melhor mas acho que não vai ter jeito..... vou tentar isso apesar de não ser o problema com datas.... o problema é mesmo com funções do tipo Formulário!TESTE!TESTE ai no meu access 2007 inglês não intende isso.
  14. opa Alexandre, Vlw pela luz. Vou ver se faço isso mesmo. Obg
  15. poisé mas o access 2002 é burro.... eu sempre utilizo as funções em inglês... ai quando você salva ela ta la em portugues.... poderia ter uma solução para isso..... derrepente do access 2002 não modificar as funções para o portugues automaticamente. Sabe se da para restringir isso?
×
×
  • Create New...