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

    redirect php con passaggio post dei parametri

    salve.
    in uno script php ho necessità a richiamare un'altra pagina php passando dei parametri col metodo post (e non get).

    quindi... a header('Location: http://www.example.com/'); cosa dovrei aggiungere?

  2. #2
    Non puoi effettuare un redirect passando dati POST. Puoi passare solo dati tramite la query string.

    Per fare quello che chiedi:

    1. O utilizzi Javascript (od equivalente lato client).
    2. Utilizzi fsockopen/curl etc. per effettuare la richiesta POST direttamente dallo script PHP.

  3. #3
    bene.
    allora ho scritto:

    Codice PHP:
    function sendToHost($host,$method,$path,$data,$useragent=0)
    {
        
    $buf '';
        
    // Supply a default method of GET if the one passed was empty
        
    if (empty($method)) {
            
    $method 'GET';
        }
        
    $method strtoupper($method);
        
        
    $fp fsockopen ($host80$errno$errstr30);
        if (!
    $fp) {
            
    $buf.= "$errstr ($errno)
    \n"
    ;
        } else {
       
            if (
    $method == 'GET') {
                
    $path .= '?' $data;
            }
            
    fputs($fp"$method $path HTTP/1.1\r\n");
            
    fputs($fp"Host: $host\r\n");
            
    fputs($fp,"Content-type: application/x-www-form- urlencoded\r\n");
            
    fputs($fp"Content-length: " strlen($data) . "\r\n");
            if (
    $useragent) {
                
    fputs($fp"User-Agent: MSIE\r\n");
            }
            
    fputs($fp"Connection: close\r\n\r\n");
            if (
    $method == 'POST') {
                
    fputs($fp$data);
            }
        
            while (!
    feof($fp)) {
                
    $buf .= fgets($fp,128);
            }
            
    fclose($fp);
        }
        return 
    $buf;

    passando per 'POST' e dove $data è:

    $data = "Content-Disposition: form-data; name=\"".'pippo'."\"\r\n";
    $data .= "\r\n".'valorepippo'."\r\n";

    ma ottengo errore 400 Bad Request !!

    come mai?

  4. #4
    Ciao,

    sono interessato anche io a capire bene come funziona sto benedetto POST in php.
    Vi giuro che fin'ora ancora non sono riuscito a trovare una cosa che me lo faccia capire bene.
    Io vorrei tradurre il programma galicesms da Perl a PHP, ma non conoscendo il perl, e non essendo un mostro di php mi sono sorti dei dubbi che hanno scatenato in me una confusione enorme.
    In pratica vorrei fare un POST e tradurre questo pezzo di codice da perl a php per il momento.

    Codice Perl:
    codice:
    my $uname = $self->{username}."\@alice.it";
    	
        $res = $ua->post("http://authsrs.alice.it/aap/validatecredential", 
        { 
          URL_OK   		=> 'http://portale.rossoalice.alice.it/ps/HomePS.do?area=posta&settore=sms',
          URL_KO      	=> 'http://portale.rossoalice.alice.it/ps/ManageCodError.do?channel=mail_ra&area=posta&settore=sms',
          usr		=> $self->{username},
          channel		=> 'mail_ra',
          login		=> $uname,
          password		=> $self->{passwd},
          });
    Il codice PHP che ho fatto io invece è questa cosa quà:
    Codice PHP:
    $username $_POST['username'];
                    
    $email "$username@alice.it";
                    
    $values = array(
                        
    $url_ok,
                        
    $url_ko,
                        
    $_POST['username'],
                        
    "mail_ra",
                        
    $email,
                        
    $_POST['passwd']
                    );
                
    post($auth_url,$values); 
    Dove la funzione post è la stessa che ho preso da questo sito.

    Non lo so.. io sto solo facendo delle prove, ma visto che nulla va per il verso giusto mi sa che ho imboccato la strada sbagliata.

    PS: ovviamente le variabili username e passwd sono in un form html.

  5. #5
    A nessuno è venuto in mente qualcosa?

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.