1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

php expert :)

Discussão em 'Web Development' iniciada por pmaonline, 23 de Maio de 2007. (Respostas: 13; Visualizações: 1629)

  1. Boas, tenho código em php para envio de sms através do voipbuster, onde após o envio da sms aparece em IFRAME se foi enviada ou não... o que eu queria era pegar nessa mensagem que aparece a guarda-la em ficheiro....

    Aqui está o código :

    <?php
    $url = "https://myaccount.voipbuster.com/clx/sendsms.php?username=USER&password=PASS&from=QUEM_ENVIA&to=" . $_POST["nummer"] ."&text=". $_POST["bericht"];

    ?>
    <iframe src ="<?php echo $url; ?>" width="300" height="300"> </iframe>
    <form action="index.php" method="post">
    Nº Destino : <input name="nummer" type="text" value="+351">
    Mensagem : <input name="bericht" type="text">
    <input type="submit">
    </form>
    </body>
    </html>
     
  2. msdevweb

    msdevweb Power Member

    Mas queres guardar a mensagem que aparece para um ficheiro?? só estou a ver 2 formas bem "out-of-context" para o fazer, uma é tentares interceptar a variavel que é exportada com o resultado do teu envio, o que se torna um pouco dificil, visto que não tens acesso ao source do sendsms.php....outra seria fazeres o read à pagina de resultado (pouco viavél...)...

    Bem, LOL, informação de ultima hora, ao clicar no site para ver o tipo de formulario usado para enviar sms's, deparei-me com um output em xml, o que torna as coisas mais faceis. repara:
    clica em: https://myaccount.voipbuster.com/clx/sendsms.php?username=USER&password=PASS&from=QUEM_ENVIA&to

    e vÊ o resultado:
    Código:
    [COLOR=darkred]<?xml version="1.0" encoding="utf-8" ?> [/COLOR]
    [URL="https://myaccount.voipbuster.com/clx/sendsms.php?username=USER&password=PASS&from=QUEM_ENVIA&to#"][FONT=Courier New][COLOR=darkred]-[/COLOR][/FONT][/URL][COLOR=darkred] <SmsResponse>[/COLOR]
    [COLOR=darkred] <version>1</version> [/COLOR]
    
    [COLOR=darkred] <result>0</result> [/COLOR]
    
    [COLOR=darkred] <resultstring>failure</resultstring> [/COLOR]
    
    [COLOR=darkred] <description>The parameter to (destination number) is missing</description> [/COLOR]
    
    [COLOR=darkred] <endcause /> [/COLOR]
    
    [COLOR=darkred] </SmsResponse>[/COLOR]
    
    
    
    Como deves ter reparado, o php exporta o resultado como xml, e é bem explicito nas "variaveis"
    <resultstring>failure</resultstring> Aqui tens o resultado!!!!
    <description>The parameter to (destination number) is missing</description> Aqui tens a descrição do erro!!!

    Agora só tens que fazer um parse ao teu $url (xml) para retirares essas variaveis do resultado.
    Como um parser de xml demoraria uma eternidade a explicar-te, abaixo indico um xml news reader que podes usar para fazeres um proprio script para ti, http://www.rjk-hosting.co.uk/programs/prog.php?id=5
    aterando apenas as variaveis do array para resultstring e description, e com mais algumas, poucas alterações consegues ir buscar a tua info para um array, depois para gravar um ficheiro usas o fopen e fwrite do php, tipo

    Código:
         $myFile = "result.txt";
    $fh = fopen($myFile, 'w') or die("Impossivel abrir ficheiro"); //nota que terás que permitir o acesso a escrita na pasta do servidor onde o script esta a ser executado.
    $stringData = "$array_resultstring";
    fwrite($fh, $stringData);
    $stringData = "$array_description";
    fwrite($fh, $stringData);
    fclose($fh);
    
    Assim já tens o teu resultado no ficheiro result.txt


    Poderias também em ves de usar o xml reader, usar o fread($url); mas depois terias bastante trabalho a separar a tralha/lixo que o php exporta não só para o xml, mas não sei, se vires que por aqui é mais facil... vai em frente. mais info sobre fread em: http://www.tizag.com/phpT/fileread.php
    Outra hipotese em ves do fread, seria usares o explode, mas também não seria mto facil. mas dá uma vista de olhos:
    http://www.tizag.com/phpT/php-string-explode.php

    Tu é que ves :ppp já tens muito por onde pegar :p

    Abraço.
     
  3. p3dro

    p3dro Power Member

    Se bem percebi, apenas pretendes guardar os campos submetidos pelo formulário num ficheiro.


    Podes usar por ex. uma função deste tipo:
    PHP:
    function createFile($file,$content,$mode="a"){
      if (!
    $file_handle fopen($file,$mode)) { return false; }
      if (!
    fwrite($file_handle$content)) { return false; }
      
    fclose($file_handle);
      return 
    true;
    }
    Depois podes chamar a função:

    PHP:
    $content="Nº Destino :".$_POST["nummer"]."\r\n";
    $content.="Mensagem : ".$_POST["bericht"]."\r\n";

    //podes ir acrescentando texto ao ficheiro, ou então criar sempre um ficheiro novo

    //ex. acrescentar texto ao ficheiro
    createFile("ficheiro.txt",$content);

    //ou

    //ex. criar um novo ficheiro
    createFile("ficheiro.txt",$content,"w");

     
  4. p3dro

    p3dro Power Member

    tenho de começar a escrever mais rápido :joker:, n reparei k o msdevweb já tinha respondido.
     
  5. msdevweb

    msdevweb Power Member

    ;p

    Acho que o que ele quer é guardar o output do $url, guardar se foi ou não enviada a mensagem :)
    Se não é isso, eu percebi mal...he he he

    Abraço.
     
  6. spastikman

    spastikman Banido


    Tens consciencia, que colocar um login e uma password num link , não é uma grande ideia, pelo menos se quiseres ter segurança ;)
     
  7. capricorn

    capricorn Power Member

    Código:
      <?php
    $handle = fopen("https://myaccount.voipbuster.com/clx/sendsms.php?username=USER&password=PASS&from=QUEM_ENVIA&to", "rb");
    $contents = stream_get_contents($handle);
    fclose($handle);
    ?>  
    
    
    a variável $contents fica com o conteudo
     
  8. Mto obrigado pela a vossa ajuda... MTO BOM
     
  9. Olá pessoal desculpem mas eu sou Noob no asunto de HTML
    Porem gostaria de fazer um código simples para enviar msgs sms por minha conta do voip mas o melhor que consegui foi:
    <?php
    $url = "https://myaccount.voipbuster.com/clx/sendsms.php?username=USER&password=PASS&from=" . $_POST["callerid"] ."&to=" . $_POST["nummer"] ."&text=". $_POST["bericht"];

    ?>
    <form action="index.php" method="post">
    <br>
    Mensagem :
    <br>
    <textarea maxlength="160" name="bericht" id="messg" cols="35" rows="4"></textarea>
    <br>
    <label for="callerid">Numero que envia:</label>&nbsp;
    <br>
    <select name="callerid">
    <option value="+447737939722">+447737939722</option><option value="+34687639666">+34687639666</option><option value="+34608106768">+34608106768</option><option value="rhemfurpro">rhemfurpro</option>
    </select>
    <br>
    Nº Destino :
    <br>
    <input name="nummer" type="text" value="+">
    <br>
    <input type="submit">
    </form>
    </body>
    </html>

    Algém consegue me ajudar a arrumar isso pra funcionar?
    Eu coloco meu nome de user e senha mas n vai... como poderia fazer pra que funcione?
    é só pra n ter que estar entrando na página toda vez que quero enviar uma msg!

    Obrigado
    Rhener
     
  10. Este post ja ta uma complicação.. alguem pode ajudar a fazer um script simples para envio de sms (e que nao seja possivel a quem esta a enviar ver o code com os dados de acesso a conta voip?)

    Muito Obrigado!
     
  11. capricorn

    capricorn Power Member

    o código que escrevi em cima faz isso
     
  12. Esse codigo que escreveste nao me funciona :/
     
  13. Finalizando

    ola, olha n tem como nao aparecer a direção pra quem envia, a n ser que vc saiba programar uma pagina php .. :P
    Ou fazer na sua pagina, um link para abrir uma janela popup onde nao apareça a barra de endereço mas mesmo assim uma pessoa que saiba buscar pode encontrar seus dados de conta, eu tinha pensado em fazer um link na minha pagina para que as pessoas memandasem mensagem mas foi impossivel sem que tivese possibilidade de verem meus dados entao n fiz mais

    Envio o codigo que uso:

    <html>
    <body>
    <form action="https://myaccount.voipbusterpro.com/clx/sendsms.php" method="get">
    <input name="username" type="hidden" value="SEU USERNAME" />
    <input name="password" type="hidden" value="SUA SENHA" />
    <SELECT name="from">
    <OPTION selected label="¥ Movistar ES" value="+34608106768">¥ Movistar ES</OPTION>
    <OPTION label="¥ Vodafone ES" value="+34687639666">¥ Vodafone ES</OPTION>
    <OPTION label="nome de usuario Voip" value="SEU USERNAME">Usename</OPTION>
    </SELECT><br />
    <SELECT name="to">
    <OPTION selected label="none" value="none">SMS para:</OPTION>
    <OPTION label="Adrian Kim" value="+44">Adrian Kim</OPTION>
    <OPTION label="Adriano Hosemate Portugal" value="+35">Adriano housemate Portugal</OPTION>
    <OPTION label="Agnieska" value="+4">Agnieska UK</OPTION>
    <OPTION label="Alberto" value="+346">Alberto Tiga31</OPTION>
    <OPTION label="Ali HDU UK" value="+44">Ali H.D.U.</OPTION>
    <OPTION label="Kat H.D.U." value="+44">Kat H.D.U</OPTION>
    <OPTION label="Vlademir Restaurante" value="+3519">Vlademir Restaurante</OPTION>
    <OPTION label="Zé Pina" value="+35">Zé Pina</OPTION>
    <OPTION label="Referencia" value="+3">Zedequias BR</OPTION>
    <OPTION label="Referencia" value="numeroCel">nomeOpcao</OPTION>
    </SELECT><br />
    Messagem <br />
    <textarea name="text" cols="20" rows="10" /></textarea><br />
    <input type="submit" value="Submit" />
    </form>
    </body>
    </html>
    Como podes ver fiz uma modificação para minha agenda ja aparecer ali asim so selecionar quem eu quero e ja esta enviar, ando com esse arquivo na minha PenDrive e mando mensagem de qq lugar ;)
    Abraço
    Rhener
    [email protected] (Não tenho messenger!!)
     

Partilhar esta Página