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

    Reindirizzare su una pagina

    Sto iniziando a usare PHP e devo dire che, utlizzando le risorse gratuite e i consigli del forum, è stato abbastanza semplice integrare e personalizzare i vari script necessari al sito che sto creando.

    Purtroppo sono a digiuno di programmazione vera e propria. Per esempio, nel seguente script:

    <?
    $img_name = $_FILES['img']['name'];
    $img_temp = $HTTP_POST_FILES['img']['tmp_name'];
    $img_type = $_FILES['img']['type'];
    $img_size = $_FILES['img']['size'];
    if (($img_name != NULL)&&($img_type == "image/gif")&&($img_size <= 10000000)) {
    copy("$img_temp", "img/$img_name") or
    die("File non copiato.");
    }else{
    echo "File non accettato!";
    }
    ?>

    Se il file non viene copiato compare una pagina bianca con su scritto "File non copiato", altrimenti "File non accettato". Io vorrei che se l'operazione va a buon fine mi si apra automaticamente una certa pagina tipo index.php, mentre ora mi rimane lo schermo bianco senza nessuna scritta.
    Potere aiutarmi?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    se non stampi NULLA prima quindi se non fai nessun echo prima, puoi usare header("Location : pagina.php");

    mettendolo sotto il die

  3. #3
    Cioè così:

    die("File non copiato.");
    header("Location:indexupload.php");
    }else{
    echo "File non accettato!";
    }

    ?

    Ho provato ma non funge.

  4. #4
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    esatto...
    se non te lo facesse vuol dire che stampi a video qualche cosa prima di quell'istruzione e allora puoi usare ob_start() a inizio pagina e ob_flush() a fine pagina

    oppure usare al posto di header questo :

    <meta http-equiv="refresh" content="2"; url="pagina_di_arrivo"> dove 2 sono i secondi dopo i quali ti manda alla pagina_di_arrivo

  5. #5
    <meta http-equiv="refresh" content="2"; url="pagina_di_arrivo"> dove 2 sono i secondi dopo i quali ti manda alla pagina_di_arrivo
    In effetti conosco questo sistema, solo che non so per quale motivo continua a ricaricarmi la stessa pagina.

  6. #6
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    dopo url metti la pagina.....

  7. #7
    Guarda che sono agli inizi con PHP, ma per il resto, insomma, qualcosa di importante l'ho già realizzato.
    Ho messo l'indirizzo della pagina che voglio far aprire, ma continua a ciclare senza spiegazione.

  8. #8
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    mmm strano.....prova allora con ob_start() e ob_fush()

    il primo all'inizio prima di qualsiasi cosa e il secondo alla fine...questo aggira il problema che con l'header tu non possa stampare nulla prima

  9. #9
    Ok, provo (ora devo spegnere, a domani)

  10. #10
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Ci sono un paio di doppi apici di troppo

    <meta http-equiv="refresh" content="2"; url="pagina_di_arrivo">
    la sintassi corretta è questa

    <meta http-equiv="refresh" content="2; url=pagina_di_arrivo">

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.