Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Form che passa dati in modo invisibile via socket

    Ciao a tutti,
    devo passare i dati di un semplice form di 4 campi in modalità nascosta via "socket" ad un URL di destinazione esterno al mio sito.
    Però non so come fare, qualcuno mi aiuta per favore ?

    Grazie

  2. #2

  3. #3
    ok, ma mi è stato chiesto esplicitamente di usare un socket ...

    é lo stesso ? è un'alternativa valida ? Pro e contro ?

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ....... leggi la documentazione di c-url

    Se devi interrogare un web server lo fai tramite http request e in php il modo migliore e' usare la lib curl.

    In alternativa hai le funzioni fsockopen (usate da curl), se usi le fsock...(open clos exec etc..) ti devi fare tutto l'interfacciamento e la gestione dello standard del protocollo richiesto manualmente. Se il protocollo di comunicazione e' http/s allora curl ti da gia' tutto.
    Quindi se devi eseguire un "push" di dati tramite post ad un determinato url usa curl.

    Pro :
    - funzioni human readable
    - facile da apprendere
    - veloce
    - gestisce gia' errori
    - elevato tasso di configurabilità

    Contro :
    - elevato tasso di configurabilità
    - prestazioni dipendenti dal server e linee

    Non ho eseguito test super approfonditi su questa lib ma per quanto l'ho usata(abbastanza) e' utilissima in molti contesti, questa lib e' usata anche su plugins di alcuni servizi bancari per gestione pagamenti... vedi te.

  5. #5

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    No prob se servono altre info o hai dubbi stiamo qua

  7. #7
    uhm ... "troppo complesso" per me ora per questo lavoretto che mi hanno richiesto (speravo fosse più semplice e veloce) ...

    alla fine ho un form semplicissimo di tre campi per il quale devo far arrivare il contenuto in modo invisibile a questa URL (così mi hanno richiesto) e se per farlo devo studiarmi queste funzioni che mi sembrano non molto semplici e veloci, allora per ora lascio stare un attimo e vedo se trovo un'alternativa ... scusatemi, non sto buttando la spugna ma non ho il tempo materiale per buttarmi sopra a studiare e testare questa funzione

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    o.O

    scritp che gestisci il submit del form

    Codice PHP:

    $data 
    $_POST ;


    $chcurl_init();
    curl_setopt_array$curl , array(
    CURLOPT_URL => "http://www.target.com" ,
    CURLOPT_FOLLOWLOCATION => true ,
    CURLOPT_POST => $data ,
    CURLOPT_RETURNTRANSFER => true 

    ) ); 

    $ris curl_exec($ch);
    curl_close($ch);

    var_dump($ris); 
    ecco tutte le option che hai : http://www.php.net/manual/en/function.curl-setopt.php


    In base a quello che devi fare imposti le relative opzioni .... sinceramente nn capisco dove stia la difficoltà ..

    Si sono tantissime opzioni infatti ho segnato sia come pro che come contro... puoi fare di tutto ma davvero di tutto, spedire cookies, user agents, formattare l'header ocme ti pare o come ti richiedono ... insomma... non vedo perche' devi complicarti la vita quando puoi usare questo layer per le interrogazioni remote... beh poi vedi te

  9. #9
    Ciao e grazie per l'aiuto ... allora vediamo se riesco a farlo insieme a te ...
    Intanto partiamo dal mio form che è questo:

    codice:
    
    <form name="form2" id="form2" method="post" action="http://nomedominiodiatterraggio/paginadiatterraggio.php">
        <input name="surname" type="text" id="surname" class="textfieldImput" value="" size="30"/>
    
        <input name="name" type="text" id="name" class="textfieldImput" value="" size="30" />
    
        <input name="email" type="text" id="email" class="textfieldImput" value="" size="30" />
    
        <input name="privacy" type="checkbox" id="privacy" value="Y" />
    
        <input name="area" type="hidden" value="newsletter" />
        <input name="send_mail" type="hidden" value="Y" />
        <input name="newsletter" type="hidden" value="Y" />
        <input name="bottone" type="submit" class="testo12nero" value=" Invia " >
    </form>
    
    Ora guardando il tuo codice postato e facendo una ricerca in più su Google ho trovato un articolo di un ragazzo che ha creato un metodo per inviare dati POST di un form proprio tramite c-url ...
    Clicca qui per vedere il link con la prova fatta da questo ragazzo. In realtà è abbastanza simile al tuo esempio.
    Lui ha creato questo codice:

    codice:
    < ?php
     
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.esempio.com/percorso/del/form");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, true);
     
    $data = array(
        'foo' => 'foo foo foo',
        'bar' => 'bar bar bar',
        'baz' => 'baz baz baz'
    );
     
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $output = curl_exec($ch);
    $info = curl_getinfo($ch);
    curl_close($ch);
    ?>
     
    la variabile "$info" conterrà il risultato dei dati postati.
    Ora come integro il tuo o il suo esempio nella mia pagina del form ?
    Mi dai un'ultima mano ?
    Grazie a priori ...

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Nessun problema allora il tuo form deve puntare un tuo personale script .php.

    Nello script php puoi eseguire tutti i controlli che preferisci prima di spedire i dati al server esterno.

    Poi impoti le opzioni e quindi avvi la chiamata curl .

    il flow :

    form --[request+postdata]-->tuo server+tuoscript.php->gestione dati->avvio chiamata curl->[request+postdata]-->server esterno ->[response]-->tuo server gestisci response -> termina tuoscript.php

    il tuo form nel www.tuosito.com, il tuoscript lo chiamiamo gestoreform.php

    codice:
    <form name="form2" id="form2" method="post" action="/actions/gestoreform.php">
    
    dati vari
    
    </form>
    il file gestoreform.php

    Codice PHP:

    // inizializzo struttura dati
    $data = array();


    // Eventuale layer di controllo per gestire i dati in POST

    // alla fine $data conterrà i dati correttamente formattati da spedire al server esterno

    // Una versione di test
    $data $_POST;


    // Inizializzo l'handler curl
    $chcurl_init();

    // Configuro i paramentri e i dati per la request da eseguire
    // Posso passare la configurazione anche da array ... non serve impostarle 1 alla volta
    curl_setopt_array$ch , array(
      
    CURLOPT_URL => "http://www.target.com" ,
      
    CURLOPT_FOLLOWLOCATION => true ,
      
    CURLOPT_POST => true,  // qui avevo sbagliato io scusa ora e' corretto
      
    CURLOPT_POSTFIELDS => $data  ,// infatti i dati in post vanno messi qui
      
    CURLOPT_RETURNTRANSFER => true 

    ) ); 

    // eseguo la request(connessione->invio dati->interecetta risposta)
    $ris curl_exec($ch);

    // Chiudo la connessione
    curl_close($ch);

    // Stampo il risultato
    var_dump($ris); 

    $ris contiene la risposta del server che per ora devi vedere e successivamente analizzare gestire per renderla trasparente all'utente( l'utente non deve vedere nulla di quel dato se non quello che vuoi tu)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.