Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [PHP]Generare richiesta POST verso altra pagina

    Salve a tutti ho la necessita di generare una richiesta tramite il metodo POST verso un altra pagina passando dei parametri appunto tramite il POST. Come posso implementare qualcosa del genere, la logica è a seguente:

    [Script1]
    switch($_POST["SCELTA"]){
    case 1:
    vai a pagina scriptx.php inviando il dato x tramite post
    break;
    case 2:
    vai a pagina scripty.php inviando il dato x tramite post
    break;
    }
    [FineScript1]


    Grazie a tutti per l'aiuto!!!

  2. #2
    L'altra pagina risiede sullo stesso server/dominio oppure è su un server remoto?

  3. #3
    Su uno remoto

  4. #4
    Utilizza fsockopen, curl oppure una classe tipo Snoopy.

  5. #5
    Non devo solo generare la richiesta, ma devo anche visualizzare la pagina, in pratica e come se generassi un submit del form dalla pagina per poi inviare il from sull'altra pagina

  6. #6
    Se ti basta far visualizzare al client l'intera pagina restituita dallo script remoto, ti basta utilizzare uno script lato client che invii una form (es. Javascript).

    Se devi rielaborare i contenuti lato server, utilizza fsockopen, curl oppure una classe tipo Snoopy.

  7. #7
    No, allora io ho una pagina chiamata PAGINA1 dove sta un form che invia dati ad una PAGINA2, in quest ultima avviene una particolare elaborazione e deve inviare i risultati tramite POST ad un ultima pagina PAGINA3 che li visualizza.
    Il problema è che non so come inviare i dati dalla PAGINA2 alla PAGINA3(ma non li deve solo inviare, deve anche visualizzare PAGINA3), fammi un esempio.

    La logica è del tipo:
    PAGINA 1
    Inserimento dati in un form con Submit sulla PAGINA2
    PAGINA 2
    Elabora i dati del form e invia i risultati alla pagina 3
    PAGINA 3
    Visualizza i risultati

    Capito?

  8. #8
    Originariamente inviato da gigi90
    Il problema è che non so come inviare i dati dalla PAGINA2 alla PAGINA3(ma non li deve solo inviare, deve anche visualizzare PAGINA3)
    Che cosa non hai capito di "Utilizza fsockopen, curl oppure una classe tipo Snoopy."?

    Nel manuale ufficiale trovi vari esempi per inviare un POST tramite fsockopen. Lo stesso vale per curl. Per Snoopy basta una ricerca con Google per trovare vari esempi di codice.

  9. #9
    Gli esempi che ho potuto vedere utilizzano moltissimoi fsockopen, accompagnato dalla costruzione degli elementi necessari per l'invio della richiesta come la specifica della versione dell'HTML,la lunghezza del content,il tipo di content,il path,il problema e' che nella costruzione del form da inviare al server remoto ho trovato esempi che costruiscono il metodo POST ma non ho trovato per esempio l'indicazione dell'action.

    Per esempio (da http://es2.php.net/fsockopen)
    $server = '127.0.0.1';
    $port = '80';
    $uri = '/cgi-bin/random-cgi';
    $content = 'Your post content...';

    $t[] = 'POST ' . $uri . ' HTTP/1.1';
    $t[] = 'Content-Type: text/html';
    $t[] = 'Host: ' . $ip . ':' . $port;
    $t[] = 'Content-Length: ' . strlen($content);
    $t[] = 'Connection: close';
    $t = implode("\r\n",$t) . "\r\n\r\n" . $content;
    //
    // Open socket, provide error report vars and timeout of 10
    // seconds.
    //
    $fp = @fsockopen($ip,$port,$errno,$errstr,10);
    // If we don't have a stream resource, abort.
    if (!(get_resource_type($fp) == 'stream')) { return false; }
    //
    // Send headers and content.
    //
    if (!fwrite($fp,$t)) {
    fclose($fp);




    Questo e' un piccolo esempio di utilizzo di fsockopen,se il server prevede nella richiesta anche l'indicazione dell'action,come andrebbe costruito questo attributo?

    Gli esempi spesso e volentieri non lo chiariscono,ma l'attributo action e' fondamentale nei form HTML,dunque,se si deve simulare l'invio di una richiesta form del tipo post con php,come va impostato l'attributo action per simulare quello dei form html?

    Dall'esempio mi par di capire che la action viene simulata dalla variabile $uri,non se se e' giusto.

    Un'altro problema sarebbe di capire come simulare per esempio l'impostazione di certi attributi del form html come per esempio la option della label all'interno del form html.

  10. #10
    Originariamente inviato da Giuliotresauri
    il problema e' che nella costruzione del form da inviare al server remoto ho trovato esempi che costruiscono il metodo POST ma non ho trovato per esempio l'indicazione dell'action.
    L'action è l'URL a cui invii la richiesta. Nel tuo codice, è indicata dall'host + l'uri.

    Originariamente inviato da Giuliotresauri
    Un'altro problema sarebbe di capire come simulare per esempio l'impostazione di certi attributi del form html come per esempio la option della label all'interno del form html.
    A parte utilizzare curl o una classe come Snoopy che permettono di inviare richiesta POST molto più semplicemente, puoi provare a studiare l'RFC dell'HTTP per capire come strutturare correttamente la richiesta. In alternativa vai su Google, inserisci php fsockopen post e clicchi su "Mi sento fortunato"

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 © 2025 vBulletin Solutions, Inc. All rights reserved.