Redirection après validation formulaire

Eléphanteau du PHP | 37 Messages

26 mars 2014, 13:28

Bonjour à tous,

J'ai un problème qui me tracasse vraiment et j'aimerais que vous m'aidiez. Voila j'ai un formulaire qui permet d'uploader des fichiers sur un serveur et j'aimerais qu'après avoir validé le formulaire et afficher et les différents messages d'echec ou de reussite, que l'utilisateur soit rédirigé sur une autre page qui affiche les informations qu'il vient de rentrer.

Voici le code de mon formulaire :

$max_file_size = 1024*2048*10; // Taille autorisé (Ex. 20 Mo. Rendez-vous sur http://mon-ip.awardspace.com/convertisseur.php pour avoir plus d'infos) 
$valid_formats = array('pdf', 'PDF'); // Formats valides
$path = 'upload/'; // Dossier d'upload
$count = 0;

if ($_SERVER['REQUEST_METHOD'] == 'POST' and isset($_FILES['files']))
{
 
  foreach ( $_FILES['files']['name'] as $i => $name )
  {
    if ( !is_uploaded_file($_FILES['files']['tmp_name'][$i]) ) // Si aucun fichier n'est uploadé
	{
		echo "<p>Choisissez un fichier</p>";
		continue;
	}
	else // Dans le cas contraire, verification des fichiers
	{
		if($_FILES['files']['error'][$i] == 0) 
		{	           
			/* 
			Parametre pour limiter le nombre de fichier à uploader. Remplacer le 4 par le chiffre désiré
			*/
			if(is_array($_FILES['files']['name']) AND count($_FILES['files']['name']) > 4) 
			{
				echo "Veuillez choisir au plus 4 fichiers ";
				break;
			}
			
			// Test de l'extension du fichier; ici seul le PDF est autorisé
			if(! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) AND $_FILES['files']['type'] != $valid_formats)
			{
				echo "<p><strong>$name</strong> n'est pas un format <stron>PDF</strong></p>";
				continue; 
			}
			
			// Test de la taille du fichier
			elseif($_FILES['files']['size'][$i] > $max_file_size )
			{
				echo "<p><strong>$name</strong> est trop gros!</p>";
				continue;
			}
			
			// Tous les tests sont OK
			else
			{ 
				if(move_uploaded_file($_FILES["files"]["tmp_name"][$i], $path.$name)) 
				{
					echo "<p><strong>".$_FILES['files']['name'][$i]."</strong> copi&eacute avec succ&egrave;s</p>";
					$count++; 
				}
			}
		}
	}	
  }
}

<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8" />
	<title>Upload de fichier</title>
</head>
<body>
  <!-- Formulaire d'upload -->
  <form action="" method="post" enctype="multipart/form-data" class="pure-form">
    <p><input type="file" name="files[]" multiple="multiple" id="files" accept="application/pdf"/></p>
    <p><input type="submit" value="Upload" class="pure-button pure-button-primary"/></p>
  </form>  
</body>
</html>
Merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

26 mars 2014, 17:11

Modération :
Afin d'obtenir plus de réponses, le sujet a été déplacé dans un forum plus approprié.


Salut,

si tu parle bien d'une redirection comme tu as sur ce forum après avoir posté cela ce fait en HTML avec une balise meta
<meta http-equiv="refresh" content="3;url=http://tonsiteatoi.fr/apgequivabien.php" />

c'est aussi réalisable en javascript mais a quoi bon vu que la version html fonctionne ;)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 18 Messages

17 mai 2014, 12:20

Tu n'as qu'a préciser la cible de ton formulaire.
<form action="done.php">
Et du mets dans done.php la recuperation dans donnes du formulaire et l'envoi du fichier sur le serveur et l'affichage deq donnés envoyées.