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

    header location: differenze tra server

    ciao a tutti, oggi mi č capitata una cosa strana con un header location in PHP.
    in pratica ho una pagina "form.php" con un form da compilare, che manda ad una pagina "controllo.php".
    nella pagina controllo.php, eseguo dei controlli sui campi del form: se uno di questo č vuoto, redirigo in automatico alla pagina "form.php", concatenando nell'url della pagina il tipo di errore.

    tutto questo funziona su un server Aruba.
    mettendo le stesse identiche pagine su un sito ospitato su un altro server, non funzionano piu'!!

    in pratica non viene eseguito il redirect, ma si ferma alla pagina "controllo.php"!!
    ho provato anche a creare una pagina di questo tipo

    Codice PHP:
    <?php 
               header
    ("location: http : / /www.google.it");     <--ovviamente senza spazi nell'url
    ?>
    ma non funziona nemmeno questa....

    cosa puo' essere?
    puo' darsi che il server blocchi i redirect automatici??

    posso risolvere in qualche modo?


    ringrazio chi potrā darmi una mano

    saluti

    Francesco

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    hai provato a scrivere 'Location', con la L maiuscola?

  3. #3

    Re: header location: differenze tra server

    Originariamente inviato da francy88
    mettendo le stesse identiche pagine su un sito ospitato su un altro server, non funzionano piu'!!
    in pratica non viene eseguito il redirect, ma si ferma alla pagina "controllo.php"!!
    Abilitando la visualizzazione degli errori, che cosa ottieni?

  4. #4
    allora, ho abilitato la visualizzazione degli errori, e in effetti sul server in cui non funziona il redirect mi dā questo:

    Warning: Cannot modify header information - headers already sent by (output started at /home/w20pizza/public_html/test.php:8) in /home/w20pizza/public_html/test.php on line 11

    la stessa pagina messa su un server aruba non da alcun problema, e mi effettua il redirect senza alcun problema.
    ho provato anche a scrivere "location" con la L maiuscola, ma nulla...

    il codice della pagina di prova č questo:

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> 
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>test</title> </head>  
    <body> 
    <?php     
       error_reporting
    (E_ALL);     
       
    ini_set('display_errors'1); 
       
    header("location: http ://www.google.it");     
    ?> 
    </body> 
    </html>
    e gli effetti sui 2 server diversi sono questi:

    --- SERVER DOVE FUNZIONA (ARUBA): http://www.elogioallavespa.it/test.php

    --- SERVER DOVE NON FUNZIONA: http://www.pizzaclub.co.za/test.php

    spero possa essere utile al fine di risolvere il problema...

    grazie mille

    Francesco

  5. #5
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    E' normale che non funzioni, prima della funzione header non dev'essere inviato nessun genere di output. Se devi fare solo una redirezione eliminana tutto il codice html che hai inserito prima.
    Ti consiglio di leggere la documentazione su php.net.

    Giusto per conoscenza, potresti risolvere, in alternativa, inserendo la funzione ob_start() in cima alla pagina.

    Ciao

  6. #6
    ho giāprovato ad inserire la funzione ob_start() all'inizio e anche quella di chiusura, ma non cambia nulla...
    poi perchč su aruba lo stesso codice non da problemi???

  7. #7
    ok, senza alcun tag html funziona....comunque mi resta il dubbio del perchč su aruba funzionasse comunque...

  8. #8
    Originariamente inviato da francy88
    ok, senza alcun tag html funziona....comunque mi resta il dubbio del perchč su aruba funzionasse comunque...
    Probabilmente perchč č abilitato l'output buffering. Puoi verificarlo tramite phpinfo().

  9. #9
    ah capito, grazie mille!

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.