Cambiare pagina dopo invio dati

MaxAndreon

Utente Attivo
23 Nov 2009
34
0
0
Ciao ragazzi, avrei una domanda da farvi.

Io ho due file:
- index.php, dove ho inserito semplicemente un form per l'upload di un file;
- upload.php, che è la pagina che mi restituisce dopo l'upload del file.

Questo è il codice della pagina upload.php
PHP:
<?php
define("UPLOAD_DIR", "./up/");

if(isset($_POST['action']) and $_POST['action'] == 'upload')
{
    if(isset($_FILES['user_file']))
    {
        $file = $_FILES['user_file'];
        if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
        {
            move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
			echo "Upload del file eseguito!";
        }else{
		 echo "Errore nell'upload del file";
		}
    }
}
?>

Quello che volevo sapere è: al posto delle due echo che ho messo per vedere, come faccio a inserire ad esempio una pagina gialla al posto della prima echo e una pagina blu al posto della seconda echo?
Per esser piu chiaro...
Se l'upload del file è avvenuto voglio che ti manda alla pagina home di google, se invece non avviene voglio che ti riporti alla pagina precedente con il messaggio "ripetere upload".
Come si può fare una cosa di questo tipo?
 
Facile! Al posto di:
PHP:
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
        {
            move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
            echo "Upload del file eseguito!";
        }else{
         echo "Errore nell'upload del file";
        }

metti:
PHP:
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
        {
            move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
            header("Location; pagina_blu.php");
        }else{
         header("Location: pagina_gialla.php);
        }
 
Facile! Al posto di:
PHP:
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
        {
            move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
            echo "Upload del file eseguito!";
        }else{
         echo "Errore nell'upload del file";
        }

metti:
PHP:
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
        {
            move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
            header("Location; pagina_blu.php");
        }else{
         header("Location: pagina_gialla.php);
        }

Ciao Marco,
non funziona, forse mi ero spiegato male allora:crying:
Con il codice che mi hai messo tu non mi porta a pagina_blu.php, ma mi porta a upload.php (che cosi risulta vuota).
Io il submit lo do da index.php, quindi per forza mi va a leggere la pagina upload.php.
Quello che vorrei io è che la pagina upload.php (che non ha nessun output) mi rimandi automaticamente a pagina_blu.php se l'upload ha successo, altrimenti a pagina_gialla.php se l'upload fallisce.
Spero di essermi spiegato un po meglio0:)
 
No guarda ti eri spiegato bene anche prima, hai detto testualmente: "come faccio a inserire ad esempio una pagina gialla al posto della prima echo e una pagina blu al posto della seconda echo?" e io te l'ho detto.
Prova a mettere degli echo qui e là nel listato in modo da verificare in quale punto il programma si trovi al verificarsi delle condizioni.
Magari nemmeno entra nel ciclo di upload ma si ferma al primo if(isset($_POST['action']) and $_POST['action'] == 'upload') ;)
 
No guarda ti eri spiegato bene anche prima, hai detto testualmente: "come faccio a inserire ad esempio una pagina gialla al posto della prima echo e una pagina blu al posto della seconda echo?" e io te l'ho detto.
Prova a mettere degli echo qui e là nel listato in modo da verificare in quale punto il programma si trovi al verificarsi delle condizioni.
Magari nemmeno entra nel ciclo di upload ma si ferma al primo if(isset($_POST['action']) and $_POST['action'] == 'upload') ;)

Perfetto, problema risolto ;)
ora funge
Grazie Marco
 

Discussioni simili