Comment récupérer un fichier d'un formulaire $_FILES ?
Résolu/Fermé
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
-
Modifié le 11 févr. 2022 à 12:44
fabi00 Messages postés 82 Date d'inscription vendredi 4 février 2022 Statut Membre Dernière intervention 18 mars 2022 - 17 févr. 2022 à 14:19
fabi00 Messages postés 82 Date d'inscription vendredi 4 février 2022 Statut Membre Dernière intervention 18 mars 2022 - 17 févr. 2022 à 14:19
A voir également:
- Comment récupérer un fichier d'un formulaire $_FILES ?
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Fichier rar - Guide
- Comment récupérer un compte facebook piraté - Guide
9 réponses
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
11 févr. 2022 à 12:56
11 févr. 2022 à 12:56
Bonjou
Supprime c'est ligne de code
Supprime c'est ligne de code
$fichier=$_POST['fichier'];
$_FILES['fichier']=$fichier;
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
17 févr. 2022 à 12:04
17 févr. 2022 à 12:04
Ligne 17 j'ai oublié une parenthèse fermante
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
14 févr. 2022 à 10:00
14 févr. 2022 à 10:00
Bonjour,
Je pense qu'il faudrait déjà nous montrer le code COMPLET de tes fichiers et pas seulement des petits bouts ..
ça nous permettrait de nous rendre compte comment tu as mis en place tout ça, dans quel ordre ...
N'oublies pas de nous préciser le nom de chaque fichier dont tu nous montreras le code..
(d'après ce que je peux voir de ton code, il ne doit y en avoir qu'un seul .. qui contient le formulaire html ET le code php )
Je pense qu'il faudrait déjà nous montrer le code COMPLET de tes fichiers et pas seulement des petits bouts ..
ça nous permettrait de nous rendre compte comment tu as mis en place tout ça, dans quel ordre ...
N'oublies pas de nous préciser le nom de chaque fichier dont tu nous montreras le code..
(d'après ce que je peux voir de ton code, il ne doit y en avoir qu'un seul .. qui contient le formulaire html ET le code php )
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
Modifié le 14 févr. 2022 à 10:14
Modifié le 14 févr. 2022 à 10:14
Oui, c'est ça, j'ai juste deux codes...
1) Index.php qui contient tout le code, php et html.
2) RecupDataTest.php C'est juste une page de test, pour voir si je récupère bien toutes les données du formulaire.
1) Index.php qui contient tout le code, php et html.
<?php //On démarre une nouvelle session session_start(); //Boutton fermer1 if(isset($_POST['fermer1'])){ header('Location: #'); $_SESSION = array(); } //Boutton fermer2 if(isset($_POST['fermer2'])){ header('Location: #'); $_SESSION = array(); } //Boutton fermer3 if(isset($_POST['fermer3'])){ header('Location: #'); $_SESSION = array(); } //Formulaire 1 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant'])){ //On récupère les données dans $_POST $modele=$_POST['modele']; $taille=$_POST['taille']; $couleur=$_POST['couleur']; $quantite=$_POST['quantite']; //On définit des variables de session $_SESSION['modele'] = $modele; $_SESSION['taille'] = $taille; $_SESSION['couleur'] = $couleur; $_SESSION['quantite'] = $quantite; //Si on ne sélectionne pas une quantité if($quantite == false){ $afficheErreur1 = "<h4>Veuillez ajouter une quantité</h4>"; } else{ // On va sur le formulaire 2 header ('Location: #demo2'); die(); } } //Formulaire 2 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant1'])){ //On récupère les données dans $_POST $qualite=$_POST['qualite']; $zone=$_POST['zone']; $impression=$_POST['impression']; //$fichier=$_POST['fichier']; //$_FILES['fichier']=$fichier; //On définit des variables de session $_SESSION['qualite'] = $qualite; $_SESSION['zone'] = $zone; $_SESSION['impression'] = $impression; //$_SESSION['fichier'] = $fichier; // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur /*if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0) { }*/ //Si l'utilisateur n'envoie pas de fichier /*if(empty($_FILES['fichier'])){ $erreurFichier="<h4>Veuillez ajouter un fichier</h4>"; } else{*/ // On va sur le formulaire 3 header('Location: #demo3'); //} } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour1'])){ // On va sur la formulaire 1 header('Location: #demo1'); die(); } //Formulaire 3 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant2'])){ //On récupère les données dans $_POST $prenom=$_POST['prenom']; $nom=$_POST['nom']; $email=$_POST['email']; $telephone=$_POST['telephone']; $client=$_POST['client']; $precision=$_POST['precision']; $_SESSION['prenom'] = $prenom; $_SESSION['nom'] = $nom; $_SESSION['email'] = $email; $_SESSION['telephone'] = $telephone; $_SESSION['client'] = $client; $_SESSION['precison'] = $precision; //Envoie du formulaire // C'est l'adresse ou va être envoyé les données du formulaire $to = "fabio.cecere2509@gmail.com"; //adresse de l'utilisateur $from = $_SESSION['email']; $subject = "Soumission du formulaire"; $subject2 = "Copie de votre formulaire de soumission"; $message = $_SESSION['prenom'] . " " . $_SESSION['nom']; $message2 = "Voici une copie de votre message " . $_SESSION['prenom'] . " " . $_SESSION['nom']; //adresse de l'utilisateur qui envoie le mail $headers = "From:" . $from; //adresse de l'entreprise $headers2 = "From:" . $to; if($prenom == false || $nom == false || $email == false || $telephone == false){ $afficheErreur2 = "<h4>Veuillez compléter les champs obligatoires *</h4>"; } else{ //envoie du formulaire /*if(mail($to,$subject,$message,$headers) && mail($from,$subject2,$message2,$headers2)){ //header('Location: #'); echo "Votre message a bien été envoyé"; $_SESSION = array();*/ header('Location: recupDataTest.php'); } /*else{ //non envoyer //header('Location: #'); echo "Votre message n'a pas pu être envoyé"; $_SESSION = array(); }*/ } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour2'])){ // On va sur le formulaire 2" header('Location: #demo2'); die(); } ?> <!DOCTYPE htlm> <html lang="fr"> <head> <meta charset="utf-8"/> <meta http-equiv="X_UA-Compatible" content="IE=edge"> <title>Formulaire de devis</title> <style> #quantite{ width:3.5em; } select option[value="bleu"]{ background: blue; } select option[value="rouge"]{ background: red; } select option[value="vert"]{ background: green; } h4{ color: red; } a { margin-top: 10px; margin: 44%; text-decoration: none; padding: 15px; background-color: white; border-radius: 5px; text-transform: uppercase; color: black; border: solid black; } a:hover{ background-color: black; color: white; } .modal1 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal1:target { visibility: visible; opacity: 1; } .modal_content1 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; border: solid white; background: white; } .modal_close:hover{ color: black; background: lightgrey; } .modal2 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal2:target { visibility: visible; opacity: 1; } .modal_content2 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal3 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal3:target { visibility: visible; opacity: 1; } .modal_content3 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } </style> </head> <body> <a href="#demo1">Devis Express</a> <!--Formulaire 1 --> <div id="demo1" class="modal1"> <div class="modal_content1"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Vos besoins (Total de 10 pièces minimum)</h2> <form enctype="multipart/form-data" action="" method="post"> <input type="submit" name="fermer1" class="modal_close" value="x"/> <p> <?php $modele = !empty($_SESSION['modele']) ? $_SESSION['modele']: NULL; ?> <label for="modele">Modèle</label> <select name="modele" id="modele"/> <option value="T-shirts" <?php echo $modele=="T-shirts" ? "selected='selected' " : "" ;?>>T-shirts</option> <option value="Sweat-shirts" <?php echo $modele=="Sweat-shirts" ? "selected='selected' " : "" ;?>>Sweat-shirts</option> <option value="Pulls" <?php echo $modele=="Pulls" ? "selected='selected' " : "" ;?>>Pulls</option> </select> <label for="quantite">Quantité</label> <input type="number" name="quantite" id="quantite" class="quantite" min="10" value="<?php if (isset($_SESSION['quantite'])){echo $_SESSION['quantite'];} ?>"/> <br></br> </p> <p> <?php $taille = !empty($_SESSION['taille']) ? $_SESSION['taille']: NULL; ?> <label for="taille">Taille</label> <select name="taille" id="taille"/> <option value="XS" <?php echo $taille=="XS" ? "selected='selected' " : "" ;?>>XS</option> <option value="S" <?php echo $taille=="S" ? "selected='selected' " : "" ;?>>S</option> <option value="M" <?php echo $taille=="M" ? "selected='selected' " : "" ;?>>M</option> <option value="L" <?php echo $taille=="L" ? "selected='selected' " : "" ;?>>L</option> <option value="XL" <?php echo $taille=="XL" ? "selected='selected' " : "" ;?>>XL</option> </select> <?php $couleur = !empty($_SESSION['couleur']) ? $_SESSION['couleur']: NULL; ?> <label for="couleur">Couleur</label> <select name="couleur" id="couleur"> <option value="bleu" <?php echo $couleur=="bleu" ? "selected='selected' " : "" ;?>>bleu</option> <option value="rouge" <?php echo $couleur=="rouge" ? "selected='selected' " : "" ;?>>rouge</option> <option value="vert" <?php echo $couleur=="vert" ? "selected='selected' " : "" ;?>>vert</option> </select> </p> <p> <input type="submit" name="suivant" value="Suivant"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur if (isset($afficheErreur1)){ echo $afficheErreur1; if(empty($_SESSION['quantite'])){ echo "<style>.quantite{background: #ffbdb0}</style>"; } else{ echo "<style>.quantite{background: white;}</style>"; } } ?> </form> </div> </div> <!--Formulaire 2 --> <div id="demo2" class="modal2"> <div class="modal_content2"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Infos supplémentaires pour impression</h2> <form action="" method="post"> <input type="submit" name="fermer2" class="modal_close" value="x"/> <p> <?php $qualite = !empty($_SESSION['qualite']) ? $_SESSION['qualite']: NULL; ?> <label for="qualite">Qualité</br></label> <select name="qualite" id="qualite"> <option value="Promotionnel/1er prix" <?php echo $qualite=="Promotionnel/1er prix" ? "selected='selected' " : "" ;?>>Promotionnel/1er prix</option> <option value="Meilleur rapport qualité / prix" <?php echo $qualite=="Meilleur rapport qualité / prix" ? "selected='selected' " : "" ;?>>Meilleur rapport qualité / prix</option> <option value="Haut de gamme" <?php echo $qualite=="Haut de gamme" ? "selected='selected' " : "" ;?>>Haut de gamme</option> </select> </p> <p> <?php $zone = !empty($_SESSION['zone']) ? $_SESSION['zone']: NULL; ?> <label for="zone">Zone de personnalisation</br></label> <select name="zone" id="zone"> <option value="Coeur" <?php echo $zone=="Coeur" ? "selected='selected' " : "" ;?>>Coeur</option> <option value="Dos" <?php echo $zone=="Dos" ? "selected='selected' " : "" ;?>>Dos</option> <option value="Manche" <?php echo $zone=="Manche" ? "selected='selected' " : "" ;?>>Manche</option> </select> </p> <p> <label for="impression">Technique d'impression</br></label> <?php $impression = !empty($_SESSION['impression']) ? $_SESSION['impression']: NULL; ?> <select name="impression" id="impression"> <option value="DTG" <?php echo $impression=="DTG" ? "selected='selected' " : "" ;?>>DTG</option> <option value="Transfert quadri" <?php echo $impression=="Transfert quadri" ? "selected='selected' " : "" ;?>>Transfert quadri</option> <option value="Sérigraphie" <?php echo $impression=="Sérigraphie" ? "selected='selected' " : "" ;?>>Sérigraphie</option> <option value="Flex Flock" <?php echo $impression=="Flex Flock" ? "selected='selected' " : "" ;?>>Flex Flock</option> <option value="Broderie" <?php echo $impression=="Broderie" ? "selected='selected' " : "" ;?>>Broderie</option> <option value="Sublimation" <?php echo $impression=="Sublimation" ? "selected='selected' " : "" ;?>>Sublimation</option> </select> </p> <p> <label for="fichier">Importez vos fichiers ici</br></label> <!--<input type="hidden" name="MAX_FILE_SIZE" value="30000" />--> <input type="file" id="fichier" name="fichier" class="fichier"> <!--accept="image/png, image/jpeg, .ai, .eps, .pdf, .svg">--> <?php // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0) { // Testons si le fichier n'est pas trop gros if ($_FILES['fichier']['size'] <= 1000000) { // Testons si l'extension est autorisée $infosfichier = pathinfo($_FILES['fichier']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png','pdf'); if (in_array($extension_upload, $extensions_autorisees)) { // On peut valider le fichier et le stocker définitivement move_uploaded_file($_FILES['fichier']['recupDataTest.php'], 'uploads/' . basename($_FILES['fichier']['name'])); echo "L'envoi a bien été effectué !"; } } } ?> <?php /*if(isset($erreurFichier)){ echo $erreurFichier; if(empty($_FILES['fichier'])){ echo "<style>.fichier{background: #ffbdb0;}</style>"; } else{ echo "<style>.fichier{background: white;}</style>"; } }*/ ?> </p> <p> <input type="submit" name="retour1" value="Précèdent"/> <input type="submit" name="suivant1" value="Suivant"/> </p> </form> </div> </div> <!--Formulaire 3 --> <div id="demo3" class="modal3"> <div class="modal_content3"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Informations et précisions</h2> <form action="" method="post"> <input type="submit" name="fermer3" class="modal_close" value="x"/> <p> <input type="text" name="prenom" id="prenom" class="prenom" placeholder="prénom*" value ="<?php if (isset($_SESSION['prenom'])){echo $_SESSION['prenom'];} ?>"/> <input type="text" name="nom" id="nom" class="nom" placeholder="Nom*" value ="<?php if (isset($_SESSION['nom'])){echo $_SESSION['nom'];} ?>"/> <input type="email" name="email" id="email" class="email" size="30" placeholder="Adresse mail*" value ="<?php if (isset($_SESSION['email'])){echo $_SESSION['email'];} ?>"/> </p> <p> <input type="tel" id="telephone" name="telephone" class="telephone" placeholder="Téléphone*" value ="<?php if (isset($_SESSION['telephone'])){echo $_SESSION['telephone'];} ?>"/> <?php $client = !empty($_SESSION['client']) ? $_SESSION['client']: NULL; ?> <select name="client" id="client"> <option value="Particulier" <?php echo $client=="Particulier" ? "selected='selected' " : "" ;?>>Particulier</option> <option value="Entreprise" <?php echo $client=="Entreprise" ? "selected='selected' " : "" ;?>>Entreprise</option> <option value="Autre" <?php echo $client=="Autre" ? "selected='selected' " : "" ;?>>Autre</option> </select> </p> <p> <textarea id="precision" name="precision" rows="5" cols="40" placeholder="Précision"> <?php if (isset($_SESSION['precision'])){echo $_SESSION['precision'];} ?> </textarea> </p> <p> <input type="submit" name="retour2" value="Précèdent"/> <input type="submit" name="suivant2" value="Envoyer"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur //et on affiche la case en rouge if (isset($afficheErreur2)){ echo $afficheErreur2; if(empty($_SESSION['prenom'])){ echo "<style>.prenom{background: #ffbdb0;}</style>"; } else{ echo "<style>.prenom{background: white;}</style>"; } if(empty($_SESSION['nom'])){ echo "<style>.nom{background: #ffbdb0;}</style>"; } else{ echo "<style>.prenom{background: white;}</style>"; } if(empty($_SESSION['email'])){ echo "<style>.email{background: #ffbdb0;}</style>"; } else{ echo "<style>.email{background: white;}</style>"; } if(empty($_SESSION['telephone'])){ echo "<style>.telephone{background: #ffbdb0;}</style>"; } else{ echo "<style>.telephone{background: white;}</style>"; } } ?> </form> </div> </div> </body> </html>
2) RecupDataTest.php C'est juste une page de test, pour voir si je récupère bien toutes les données du formulaire.
<?php session_start(); ?> <?php echo $_SESSION['modele'] . "</br>" . $_SESSION['taille'] . "</br>" . $_SESSION['couleur'] . "</br>" . $_SESSION['quantite'] . "</br>" . $_SESSION['qualite'] . "</br>" . $_SESSION['zone'] . "</br>" . $_SESSION['impression'] . "</br>" . $_SESSION['fichier'] . "</br>" . $_SESSION['prenom'] . "</br>" . $_SESSION['nom'] . "</br>" . $_SESSION['email'] . "</br>" . $_SESSION['telephone'] . "</br>" . $_SESSION['client'] . "</br>" . $_SESSION['precison']; session_unset(); //On détruit la session session_destroy(); ?>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
14 févr. 2022 à 10:15
14 févr. 2022 à 10:15
Pour ce qui est de la partie du code pour le fichier il faut allez à partir de la ligne 402.
yg_be
Messages postés
23328
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
1 551
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
14 févr. 2022 à 10:29
14 févr. 2022 à 10:29
je ne vois aucun else dans la partie du code pour le fichier.
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
14 févr. 2022 à 11:31
14 févr. 2022 à 11:31
Là où est placé ton code de récupération du fichier .. il ne risque pas de s'exécuter !!!!
Il faut le mettre là où tu traites ton submit ...
En plus il y a des erreurs dedans .. et il manque, en effet, quelques ELSE pour avoir des messages en cas d'erreur..
Je te propose ceci:
Il faut le mettre là où tu traites ton submit ...
En plus il y a des erreurs dedans .. et il manque, en effet, quelques ELSE pour avoir des messages en cas d'erreur..
Je te propose ceci:
<?php //On démarre une nouvelle session session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //Boutton fermer1 if (isset($_POST['fermer1'])) { header('Location: #'); $_SESSION = array(); } //Boutton fermer2 if (isset($_POST['fermer2'])) { header('Location: #'); $_SESSION = array(); } //Boutton fermer3 if (isset($_POST['fermer3'])) { header('Location: #'); $_SESSION = array(); } //Formulaire 1 //Si on appuie sur le bouton "suivant" if (isset($_POST['suivant'])) { //On récupère les données dans $_POST $modele = $_POST['modele']; $taille = $_POST['taille']; $couleur = $_POST['couleur']; $quantite = $_POST['quantite']; //On définit des variables de session $_SESSION['modele'] = $modele; $_SESSION['taille'] = $taille; $_SESSION['couleur'] = $couleur; $_SESSION['quantite'] = $quantite; //Si on ne sélectionne pas une quantité if ($quantite == false) { $afficheErreur1 = "<h4>Veuillez ajouter une quantité</h4>"; } else { // On va sur le formulaire 2 header('Location: #demo2'); die(); } } //Formulaire 2 //Si on appuie sur le bouton "suivant" if (isset($_POST['suivant1'])) { //On récupère les données dans $_POST $qualite = $_POST['qualite']; $zone = $_POST['zone']; $impression = $_POST['impression']; //$fichier=$_POST['fichier']; //$_FILES['fichier']=$fichier; //On définit des variables de session $_SESSION['qualite'] = $qualite; $_SESSION['zone'] = $zone; $_SESSION['impression'] = $impression; //$_SESSION['fichier'] = $fichier; // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur /* if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0) { } */ //Si l'utilisateur n'envoie pas de fichier /* if(empty($_FILES['fichier'])){ $erreurFichier="<h4>Veuillez ajouter un fichier</h4>"; } else{ */ // On va sur le formulaire 3 header('Location: #demo3'); //} } //Si on appuie sur le bouton "Précèdent" if (isset($_POST['retour1'])) { // On va sur la formulaire 1 header('Location: #demo1'); die(); } //Formulaire 3 //Si on appuie sur le bouton "suivant" if (isset($_POST['suivant2'])) { //On récupère les données dans $_POST $prenom = $_POST['prenom']; $nom = $_POST['nom']; $email = $_POST['email']; $telephone = $_POST['telephone']; $client = $_POST['client']; $precision = $_POST['precision']; $_SESSION['prenom'] = $prenom; $_SESSION['nom'] = $nom; $_SESSION['email'] = $email; $_SESSION['telephone'] = $telephone; $_SESSION['client'] = $client; $_SESSION['precison'] = $precision; //Envoie du formulaire // C'est l'adresse ou va être envoyé les données du formulaire $to = "fabio.cecere2509@gmail.com"; //adresse de l'utilisateur $from = $_SESSION['email']; $subject = "Soumission du formulaire"; $subject2 = "Copie de votre formulaire de soumission"; $message = $_SESSION['prenom'] . " " . $_SESSION['nom']; $message2 = "Voici une copie de votre message " . $_SESSION['prenom'] . " " . $_SESSION['nom']; //adresse de l'utilisateur qui envoie le mail $headers = "From:" . $from; //adresse de l'entreprise $headers2 = "From:" . $to; // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0) { // Testons si le fichier n'est pas trop gros if ($_FILES['fichier']['size'] <= 1000000) { // Testons si l'extension est autorisée $infosfichier = pathinfo($_FILES['fichier']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'pdf'); if (in_array($extension_upload, $extensions_autorisees)) { // On peut valider le fichier et le stocker définitivement if(move_uploaded_file($_FILES['fichier']['tmp_name'], 'uploads/' . $_FILES['fichier']['name'])){ echo "L'envoi a bien été effectué !"; $_SESSION['fichier'] = 'uploads/' . $_FILES['fichier']['name']; }else{ echo "Erreur lors de l'upload du fichier vers " . 'uploads/' . $_FILES['fichier']['name'] ; exit; } }else{ echo "Extension error "; exit; } }else{ echo "Size Error !"; exit; } } if ($prenom == false || $nom == false || $email == false || $telephone == false) { $afficheErreur2 = "<h4>Veuillez compléter les champs obligatoires *</h4>"; } else { //envoie du formulaire /* if(mail($to,$subject,$message,$headers) && mail($from,$subject2,$message2,$headers2)){ //header('Location: #'); echo "Votre message a bien été envoyé"; $_SESSION = array(); */ //header('Location: recupDataTest.php'); // il faut désactiver la redirection pour voir si il n'y a pas d'erreur de code php dans ta page ! } /* else{ //non envoyer //header('Location: #'); echo "Votre message n'a pas pu être envoyé"; $_SESSION = array(); } */ } //Si on appuie sur le bouton "Précèdent" if (isset($_POST['retour2'])) { // On va sur le formulaire 2" header('Location: #demo2'); die(); } ?> <!DOCTYPE htlm> <html lang="fr"> <head> <meta charset="utf-8"/> <meta http-equiv="X_UA-Compatible" content="IE=edge"> <title>Formulaire de devis</title> <style> #quantite{ width:3.5em; } select option[value="bleu"]{ background: blue; } select option[value="rouge"]{ background: red; } select option[value="vert"]{ background: green; } h4{ color: red; } a { margin-top: 10px; margin: 44%; text-decoration: none; padding: 15px; background-color: white; border-radius: 5px; text-transform: uppercase; color: black; border: solid black; } a:hover{ background-color: black; color: white; } .modal1 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal1:target { visibility: visible; opacity: 1; } .modal_content1 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; border: solid white; background: white; } .modal_close:hover{ color: black; background: lightgrey; } .modal2 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal2:target { visibility: visible; opacity: 1; } .modal_content2 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal3 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal3:target { visibility: visible; opacity: 1; } .modal_content3 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } </style> </head> <body> <a href="#demo1">Devis Express</a> <!--Formulaire 1 --> <div id="demo1" class="modal1"> <div class="modal_content1"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Vos besoins (Total de 10 pièces minimum)</h2> <form enctype="multipart/form-data" action="" method="post"> <input type="submit" name="fermer1" class="modal_close" value="x"/> <p> <?php $modele = !empty($_SESSION['modele']) ? $_SESSION['modele'] : NULL; ?> <label for="modele">Modèle</label> <select name="modele" id="modele"/> <option value="T-shirts" <?php echo $modele == "T-shirts" ? "selected='selected' " : ""; ?>>T-shirts</option> <option value="Sweat-shirts" <?php echo $modele == "Sweat-shirts" ? "selected='selected' " : ""; ?>>Sweat-shirts</option> <option value="Pulls" <?php echo $modele == "Pulls" ? "selected='selected' " : ""; ?>>Pulls</option> </select> <label for="quantite">Quantité</label> <input type="number" name="quantite" id="quantite" class="quantite" min="10" value="<?php if (isset($_SESSION['quantite'])) { echo $_SESSION['quantite']; } ?>"/> <br></br> </p> <p> <?php $taille = !empty($_SESSION['taille']) ? $_SESSION['taille'] : NULL; ?> <label for="taille">Taille</label> <select name="taille" id="taille"/> <option value="XS" <?php echo $taille == "XS" ? "selected='selected' " : ""; ?>>XS</option> <option value="S" <?php echo $taille == "S" ? "selected='selected' " : ""; ?>>S</option> <option value="M" <?php echo $taille == "M" ? "selected='selected' " : ""; ?>>M</option> <option value="L" <?php echo $taille == "L" ? "selected='selected' " : ""; ?>>L</option> <option value="XL" <?php echo $taille == "XL" ? "selected='selected' " : ""; ?>>XL</option> </select> <?php $couleur = !empty($_SESSION['couleur']) ? $_SESSION['couleur'] : NULL; ?> <label for="couleur">Couleur</label> <select name="couleur" id="couleur"> <option value="bleu" <?php echo $couleur == "bleu" ? "selected='selected' " : ""; ?>>bleu</option> <option value="rouge" <?php echo $couleur == "rouge" ? "selected='selected' " : ""; ?>>rouge</option> <option value="vert" <?php echo $couleur == "vert" ? "selected='selected' " : ""; ?>>vert</option> </select> </p> <p> <input type="submit" name="suivant" value="Suivant"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur if (isset($afficheErreur1)) { echo $afficheErreur1; if (empty($_SESSION['quantite'])) { echo "<style>.quantite{background: #ffbdb0}</style>"; } else { echo "<style>.quantite{background: white;}</style>"; } } ?> </form> </div> </div> <!--Formulaire 2 --> <div id="demo2" class="modal2"> <div class="modal_content2"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Infos supplémentaires pour impression</h2> <form action="" method="post"> <input type="submit" name="fermer2" class="modal_close" value="x"/> <p> <?php $qualite = !empty($_SESSION['qualite']) ? $_SESSION['qualite'] : NULL; ?> <label for="qualite">Qualité</br></label> <select name="qualite" id="qualite"> <option value="Promotionnel/1er prix" <?php echo $qualite == "Promotionnel/1er prix" ? "selected='selected' " : ""; ?>>Promotionnel/1er prix</option> <option value="Meilleur rapport qualité / prix" <?php echo $qualite == "Meilleur rapport qualité / prix" ? "selected='selected' " : ""; ?>>Meilleur rapport qualité / prix</option> <option value="Haut de gamme" <?php echo $qualite == "Haut de gamme" ? "selected='selected' " : ""; ?>>Haut de gamme</option> </select> </p> <p> <?php $zone = !empty($_SESSION['zone']) ? $_SESSION['zone'] : NULL; ?> <label for="zone">Zone de personnalisation</br></label> <select name="zone" id="zone"> <option value="Coeur" <?php echo $zone == "Coeur" ? "selected='selected' " : ""; ?>>Coeur</option> <option value="Dos" <?php echo $zone == "Dos" ? "selected='selected' " : ""; ?>>Dos</option> <option value="Manche" <?php echo $zone == "Manche" ? "selected='selected' " : ""; ?>>Manche</option> </select> </p> <p> <label for="impression">Technique d'impression</br></label> <?php $impression = !empty($_SESSION['impression']) ? $_SESSION['impression'] : NULL; ?> <select name="impression" id="impression"> <option value="DTG" <?php echo $impression == "DTG" ? "selected='selected' " : ""; ?>>DTG</option> <option value="Transfert quadri" <?php echo $impression == "Transfert quadri" ? "selected='selected' " : ""; ?>>Transfert quadri</option> <option value="Sérigraphie" <?php echo $impression == "Sérigraphie" ? "selected='selected' " : ""; ?>>Sérigraphie</option> <option value="Flex Flock" <?php echo $impression == "Flex Flock" ? "selected='selected' " : ""; ?>>Flex Flock</option> <option value="Broderie" <?php echo $impression == "Broderie" ? "selected='selected' " : ""; ?>>Broderie</option> <option value="Sublimation" <?php echo $impression == "Sublimation" ? "selected='selected' " : ""; ?>>Sublimation</option> </select> </p> <p> <label for="fichier">Importez vos fichiers ici</br></label> <!--<input type="hidden" name="MAX_FILE_SIZE" value="30000" />--> <input type="file" id="fichier" name="fichier" class="fichier"> <!--accept="image/png, image/jpeg, .ai, .eps, .pdf, .svg">--> </p> <p> <input type="submit" name="retour1" value="Précèdent"/> <input type="submit" name="suivant1" value="Suivant"/> </p> </form> </div> </div> <!--Formulaire 3 --> <div id="demo3" class="modal3"> <div class="modal_content3"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Informations et précisions</h2> <form action="" method="post"> <input type="submit" name="fermer3" class="modal_close" value="x"/> <p> <input type="text" name="prenom" id="prenom" class="prenom" placeholder="prénom*" value ="<?php if (isset($_SESSION['prenom'])) { echo $_SESSION['prenom']; } ?>"/> <input type="text" name="nom" id="nom" class="nom" placeholder="Nom*" value ="<?php if (isset($_SESSION['nom'])) { echo $_SESSION['nom']; } ?>"/> <input type="email" name="email" id="email" class="email" size="30" placeholder="Adresse mail*" value ="<?php if (isset($_SESSION['email'])) { echo $_SESSION['email']; } ?>"/> </p> <p> <input type="tel" id="telephone" name="telephone" class="telephone" placeholder="Téléphone*" value ="<?php if (isset($_SESSION['telephone'])) { echo $_SESSION['telephone']; } ?>"/> <?php $client = !empty($_SESSION['client']) ? $_SESSION['client'] : NULL; ?> <select name="client" id="client"> <option value="Particulier" <?php echo $client == "Particulier" ? "selected='selected' " : ""; ?>>Particulier</option> <option value="Entreprise" <?php echo $client == "Entreprise" ? "selected='selected' " : ""; ?>>Entreprise</option> <option value="Autre" <?php echo $client == "Autre" ? "selected='selected' " : ""; ?>>Autre</option> </select> </p> <p> <textarea id="precision" name="precision" rows="5" cols="40" placeholder="Précision"> <?php if (isset($_SESSION['precision'])) { echo $_SESSION['precision']; } ?> </textarea> </p> <p> <input type="submit" name="retour2" value="Précèdent"/> <input type="submit" name="suivant2" value="Envoyer"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur //et on affiche la case en rouge if (isset($afficheErreur2)) { echo $afficheErreur2; if (empty($_SESSION['prenom'])) { echo "<style>.prenom{background: #ffbdb0;}</style>"; } else { echo "<style>.prenom{background: white;}</style>"; } if (empty($_SESSION['nom'])) { echo "<style>.nom{background: #ffbdb0;}</style>"; } else { echo "<style>.prenom{background: white;}</style>"; } if (empty($_SESSION['email'])) { echo "<style>.email{background: #ffbdb0;}</style>"; } else { echo "<style>.email{background: white;}</style>"; } if (empty($_SESSION['telephone'])) { echo "<style>.telephone{background: #ffbdb0;}</style>"; } else { echo "<style>.telephone{background: white;}</style>"; } } ?> </form> </div> </div> </body> </html>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
14 févr. 2022 à 11:56
14 févr. 2022 à 11:56
Ahhhh intéressant, merci.
Cependant je pense qu'il doit y avoir un truc qui ne va pas dans mon code, car les test ne s'affiche pas...
Cependant je pense qu'il doit y avoir un truc qui ne va pas dans mon code, car les test ne s'affiche pas...
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
14 févr. 2022 à 12:30
14 févr. 2022 à 12:30
qu'est ce que tu appelles les tests ??
Où devraient -ils s'afficher selon toi ?
Où devraient -ils s'afficher selon toi ?
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
14 févr. 2022 à 13:30
14 févr. 2022 à 13:30
Les tests des echo.
Eh bien ça devrait s'afficher sur le formulaire pour voir si tout est ok.
Eh bien ça devrait s'afficher sur le formulaire pour voir si tout est ok.
yg_be
Messages postés
23328
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
1 551
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
14 févr. 2022 à 13:47
14 févr. 2022 à 13:47
ajoute alors des echo() pour comprendre où ton code dévie de ce que tu attends de lui.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
16 févr. 2022 à 15:05
16 févr. 2022 à 15:05
Bonjour, bonjour. ^^
Donc j'ai changé la structure de mon code car le système avec les pop-ups c'était beaucoup trop compliqué.
Maintenant les écho s'affichent...
Voici la nouvelle structure.
J'ai ajouté un fichier et j'ai reçu le message : "erreur lors de l'upload du fichier vers uploads/", donc l'erreur est due au fait qu'il n'a pas su stocker le fichier dans "upload", C'est ça ?
Est-ce qu'on peut m'expliquer ce qu'il passe en ligne 54 avec l'upload, cela m'aiderait à comprendre pourquoi mon fichier n'a pas été uploader.
Donc j'ai changé la structure de mon code car le système avec les pop-ups c'était beaucoup trop compliqué.
Maintenant les écho s'affichent...
Voici la nouvelle structure.
<?php //On démarre une nouvelle session session_start(); if(isset($_POST['suivant'])){ //On récupère les données dans $_POST $modele=$_POST['modele']; $taille=$_POST['taille']; $couleur=$_POST['couleur']; $quantite=$_POST['quantite']; $qualite=$_POST['qualite']; $zone=$_POST['zone']; $impression=$_POST['impression']; //$fichier=$_POST['fichier']; $prenom=$_POST['prenom']; $nom=$_POST['nom']; $email=$_POST['email']; $telephone=$_POST['telephone']; $client=$_POST['client']; $precision=$_POST['precision']; //On définit des variables de session $_SESSION['modele'] = $modele; $_SESSION['taille'] = $taille; $_SESSION['couleur'] = $couleur; $_SESSION['quantite'] = $quantite; $_SESSION['qualite'] = $qualite; $_SESSION['zone'] = $zone; $_SESSION['impression'] = $impression; //$_SESSION['fichier'] = $fichier; $_SESSION['prenom'] = $prenom; $_SESSION['nom'] = $nom; $_SESSION['email'] = $email; $_SESSION['telephone'] = $telephone; $_SESSION['client'] = $client; $_SESSION['precison'] = $precision; //Envoi du fichier // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0) { // Testons si le fichier n'est pas trop gros if ($_FILES['fichier']['size'] <= 1000000) { // Testons si l'extension est autorisée $infosfichier = pathinfo($_FILES['fichier']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'pdf'); if (in_array($extension_upload, $extensions_autorisees)) { // On peut valider le fichier et le stocker définitivement if(move_uploaded_file($_FILES['fichier']['tmp_name'], 'uploads/' . $_FILES['fichier']['name'])){ echo "L'envoi a bien été effectué !"; $_SESSION['fichier'] = 'uploads/' . $_FILES['fichier']['name']; }else{ echo "Erreur lors de l'upload du fichier vers " . 'uploads/' . $_FILES['fichier']['name'] ; exit; } }else{ echo "Extension error "; exit; } }else{ echo "Size Error !"; exit; } } //Envoie du formulaire // C'est l'adresse ou va être envoyé les données du formulaire $to = "fabio.cecere2509@gmail.com"; //adresse de l'utilisateur $from = $_SESSION['email']; //Objet mail (pour nous) $subject = "Demande de devis - Smartex"; //objet mail (pour l'utilisateur) $subject2 = "Confirmation de votre demande de devis - Smartex"; //Message du mail (pour nous) $message = "<h1>Devis Smartex</h1>" . "</br>" . "Demande de devis au nom de " . $_SESSION['prenom'] . " " . $_SESSION['nom'] . " (" . $_SESSION['client'] . ") " . "</br>" . " Email : " . $_SESSION['email'] . "</br>" . "Numéro de téléphone : " . $_SESSION['telephone'] . "</br>" . "Description du projet : " . $_SESSION['precison'] . "</br>" . "</br>" . "<h2>Description de la commande</h2>" . "</br>" . "Type de vêtement à personnaliser : " . $_SESSION['modele'] . " " . "Quantité : " . $_SESSION['quantite'] . "Taille " . $_SESSION['taille'] . "</br>" . " Couleur : " . $_SESSION['couleur'] . " Qualité : " . $_SESSION['qualite'] . " Zone d'impression : " . $_SESSION['zone'] . " Type d'impression " . $_SESSION['impression']; //Message du mail (pour l'utilisateur) $message2 = "<h1>Description de votre devis smartex</h1>". "chère Monsieur/Madame " . $_SESSION['prenom'] . " " . $_SESSION['nom'] . " Votre demande de devis a bien été envoyé et sera traité par notre équipe. Nous vous contacterons au plus vite, merci de votre confiance ^^" . "</br>" . "</br>" . "<h2>Description de la commande</h2>" . "</br>" . "Type de vêtement à personnaliser : " . $_SESSION['modele'] . " " . "Quantité : " . $_SESSION['quantite'] . "Taille " . $_SESSION['taille'] . "</br>" . " Couleur : " . $_SESSION['couleur'] . " Qualité : " . $_SESSION['qualite'] . " Zone d'impression : " . $_SESSION['zone'] . " Type d'impression " . $_SESSION['impression']; //adresse de l'utilisateur qui envoie le mail $headers = "From:" . $from; //Notre adresse $headers2 = "From:" . $to; if($quantite == false || $prenom == false || $nom == false || $email == false || $telephone == false){ $afficheErreur = "<h4>Veuillez compléter les champs obligatoires *</h4>"; } else{ //envoie du formulaire if(mail($to,$subject,$message,$headers) && mail($from,$subject2,$message2,$headers2)){ //header('Location: #'); echo "<h6>Votre message a bien été envoyé !</h6>"; $_SESSION = array(); header('Location: recupDataTest.php'); } else{ //non envoyer //header('Location: #'); echo "<h6>Votre message n'a pas pu être envoyé !<h6>"; $_SESSION = array(); } } } ?> <!DOCTYPE htlm> <html lang="fr"> <head> <meta charset="utf-8"/> <meta http-equiv="X_UA-Compatible" content="IE=edge"> <style> h4{ color: red; } h6{ color: green; } </style> </head> <body> <!--Formulaire 1 --> <div id="demo1" class="modal1"> <div class="modal_content1"> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur //et on affiche la case en rouge if (isset($afficheErreur)){ echo $afficheErreur; if(empty($_SESSION['prenom'])){ echo "<style>.prenom{background: #ffbdb0;}</style>"; } else{ echo "<style>.prenom{background: white;}</style>"; } if(empty($_SESSION['nom'])){ echo "<style>.nom{background: #ffbdb0;}</style>"; } else{ echo "<style>.prenom{background: white;}</style>"; } if(empty($_SESSION['email'])){ echo "<style>.email{background: #ffbdb0;}</style>"; } else{ echo "<style>.email{background: white;}</style>"; } if(empty($_SESSION['telephone'])){ echo "<style>.telephone{background: #ffbdb0;}</style>"; } else{ echo "<style>.telephone{background: white;}</style>"; } } ?> <h1>Votre demande de devis gratuit</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <form enctype="multipart/form-data" action="" method="post"> <p> <?php $modele = !empty($_SESSION['modele']) ? $_SESSION['modele']: NULL; ?> <label for="modele">Modèle</label> <select name="modele" id="modele"/> <option value="T-shirts" <?php echo $modele=="T-shirts" ? "selected='selected' " : "" ;?>><p>T-shirts</p></option> <option value="Sweat-shirts" <?php echo $modele=="Sweat-shirts" ? "selected='selected' " : "" ;?>>Sweat-shirts</option> <option value="Pulls" <?php echo $modele=="Pulls" ? "selected='selected' " : "" ;?>>Pulls</option> </select> <label for="quantite">Quantité *</label> <input type="number" name="quantite" id="quantite" class="quantite" min="10" value="<?php if (isset($_SESSION['quantite'])){echo $_SESSION['quantite'];} ?>"/> <br></br> </p> <p> <?php $taille = !empty($_SESSION['taille']) ? $_SESSION['taille']: NULL; ?> <label for="taille">Taille</label> <select name="taille" id="taille"/> <option value="XS" <?php echo $taille=="XS" ? "selected='selected' " : "" ;?>>XS</option> <option value="S" <?php echo $taille=="S" ? "selected='selected' " : "" ;?>>S</option> <option value="M" <?php echo $taille=="M" ? "selected='selected' " : "" ;?>>M</option> <option value="L" <?php echo $taille=="L" ? "selected='selected' " : "" ;?>>L</option> <option value="XL" <?php echo $taille=="XL" ? "selected='selected' " : "" ;?>>XL</option> </select> <?php $couleur = !empty($_SESSION['couleur']) ? $_SESSION['couleur']: NULL; ?> <label for="couleur">Couleur</label> <select name="couleur" id="couleur"> <option value="bleu" <?php echo $couleur=="bleu" ? "selected='selected' " : "" ;?>>bleu</option> <option value="rouge" <?php echo $couleur=="rouge" ? "selected='selected' " : "" ;?>>rouge</option> <option value="vert" <?php echo $couleur=="vert" ? "selected='selected' " : "" ;?>>vert</option> </select> </p> <p> <?php $qualite = !empty($_SESSION['qualite']) ? $_SESSION['qualite']: NULL; ?> <label for="qualite">Qualité</br></label> <select name="qualite" id="qualite"> <option value="Promotionnel/1er prix" <?php echo $qualite=="Promotionnel/1er prix" ? "selected='selected' " : "" ;?>>Promotionnel/1er prix</option> <option value="Meilleur rapport qualité / prix" <?php echo $qualite=="Meilleur rapport qualité / prix" ? "selected='selected' " : "" ;?>>Meilleur rapport qualité / prix</option> <option value="Haut de gamme" <?php echo $qualite=="Haut de gamme" ? "selected='selected' " : "" ;?>>Haut de gamme</option> </select> </p> <p> <?php $zone = !empty($_SESSION['zone']) ? $_SESSION['zone']: NULL; ?> <label for="zone">Zone de personnalisation</br></label> <select name="zone" id="zone"> <option value="Coeur" <?php echo $zone=="Coeur" ? "selected='selected' " : "" ;?>>Coeur</option> <option value="Dos" <?php echo $zone=="Dos" ? "selected='selected' " : "" ;?>>Dos</option> <option value="Manche" <?php echo $zone=="Manche" ? "selected='selected' " : "" ;?>>Manche</option> </select> </p> <p> <label for="impression">Technique d'impression</br></label> <?php $impression = !empty($_SESSION['impression']) ? $_SESSION['impression']: NULL; ?> <select name="impression" id="impression"> <option value="DTG" <?php echo $impression=="DTG" ? "selected='selected' " : "" ;?>>DTG</option> <option value="Transfert quadri" <?php echo $impression=="Transfert quadri" ? "selected='selected' " : "" ;?>>Transfert quadri</option> <option value="Sérigraphie" <?php echo $impression=="Sérigraphie" ? "selected='selected' " : "" ;?>>Sérigraphie</option> <option value="Flex Flock" <?php echo $impression=="Flex Flock" ? "selected='selected' " : "" ;?>>Flex Flock</option> <option value="Broderie" <?php echo $impression=="Broderie" ? "selected='selected' " : "" ;?>>Broderie</option> <option value="Sublimation" <?php echo $impression=="Sublimation" ? "selected='selected' " : "" ;?>>Sublimation</option> </select> </p> <p> <label for="fichier">Importez vos fichiers ici</br></label> <!--<input type="hidden" name="MAX_FILE_SIZE" value="30000" />--> <input type="file" id="fichier" name="fichier" class="fichier"> <!--accept="image/png, image/jpeg, .ai, .eps, .pdf, .svg">--> </p> </br> </br> <h2>Informations personnelles</h2> <p> <input type="text" name="prenom" id="prenom" class="prenom" placeholder="prénom*" value ="<?php if (isset($_SESSION['prenom'])){echo $_SESSION['prenom'];} ?>"/> <input type="text" name="nom" id="nom" class="nom" placeholder="Nom*" value ="<?php if (isset($_SESSION['nom'])){echo $_SESSION['nom'];} ?>"/> <input type="email" name="email" id="email" class="email" size="30" placeholder="Adresse mail*" value ="<?php if (isset($_SESSION['email'])){echo $_SESSION['email'];} ?>"/> </p> <p> <input type="tel" id="telephone" name="telephone" class="telephone" placeholder="Téléphone*" value ="<?php if (isset($_SESSION['telephone'])){echo $_SESSION['telephone'];} ?>"/> <?php $client = !empty($_SESSION['client']) ? $_SESSION['client']: NULL; ?> <select name="client" id="client"> <option value="Particulier" <?php echo $client=="Particulier" ? "selected='selected' " : "" ;?>>Particulier</option> <option value="Entreprise" <?php echo $client=="Entreprise" ? "selected='selected' " : "" ;?>>Entreprise</option> <option value="Autre" <?php echo $client=="Autre" ? "selected='selected' " : "" ;?>>Autre</option> </select> </p> <p> <textarea id="precision" name="precision" rows="5" cols="40" placeholder="Précision"> <?php if (isset($_SESSION['precision'])){echo $_SESSION['precision'];} ?> </textarea> </p> <p> <input type="submit" name="suivant" value="Envoyer"/> </p> </form> </div> </div> </body> </html>
J'ai ajouté un fichier et j'ai reçu le message : "erreur lors de l'upload du fichier vers uploads/", donc l'erreur est due au fait qu'il n'a pas su stocker le fichier dans "upload", C'est ça ?
Est-ce qu'on peut m'expliquer ce qu'il passe en ligne 54 avec l'upload, cela m'aiderait à comprendre pourquoi mon fichier n'a pas été uploader.
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
16 févr. 2022 à 15:19
16 févr. 2022 à 15:19
Bonjour,
Il n'a pas réussi à déplacer le fichier depuis le dossier temporaire vers le dossier désiré.
par contre le message est juste : "erreur lors de l'upload du fichier vers uploads/" ... il n'y a pas le nom d'un fichier après le uploads/ ??
Il serait utile, dans le ELSE qui affiche ce message d'erreur, d'ajouter un var_dump($_FILES);
Il faudrait ensuite vérifier :
1 - que le fichier est bien uploadé dans le fichier temp avant de le déplacer
Voir la fonction https://www.php.net/manual/fr/function.is-uploaded-file.php
2 - Voir que le répertoire de destination existe
https://www.php.net/manual/fr/function.is-dir.php
3 - Que tu disposes bien des droits en écriture sur ce dossier
https://www.geeksforgeeks.org/php-is_writable-function/
Il n'a pas réussi à déplacer le fichier depuis le dossier temporaire vers le dossier désiré.
par contre le message est juste : "erreur lors de l'upload du fichier vers uploads/" ... il n'y a pas le nom d'un fichier après le uploads/ ??
Il serait utile, dans le ELSE qui affiche ce message d'erreur, d'ajouter un var_dump($_FILES);
Il faudrait ensuite vérifier :
1 - que le fichier est bien uploadé dans le fichier temp avant de le déplacer
Voir la fonction https://www.php.net/manual/fr/function.is-uploaded-file.php
2 - Voir que le répertoire de destination existe
https://www.php.net/manual/fr/function.is-dir.php
3 - Que tu disposes bien des droits en écriture sur ce dossier
https://www.geeksforgeeks.org/php-is_writable-function/
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
16 févr. 2022 à 15:27
16 févr. 2022 à 15:27
Merci beaucoup pour les infos, je vais regarder ça.
Si si, il y a bien le nom du fichier après...
Si si, il y a bien le nom du fichier après...
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
16 févr. 2022 à 15:48
16 févr. 2022 à 15:48
Bon, ça ne donne pas grand-chose, mais j'avoue ne pas comprendre grand-chose.
J'ai écrit ce qui me semblait "correct", mais ne sachant pas quoi faire, j'ai fait un peu du grands n'importe quoi. ^^
J'ai écrit ce qui me semblait "correct", mais ne sachant pas quoi faire, j'ai fait un peu du grands n'importe quoi. ^^
//Envoi du fichier // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0) { // Testons si le fichier n'est pas trop gros if ($_FILES['fichier']['size'] <= 1000000) { // Testons si l'extension est autorisée $infosfichier = pathinfo($_FILES['fichier']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'pdf'); if (in_array($extension_upload, $extensions_autorisees)) { // On peut valider le fichier et le stocker définitivement if(move_uploaded_file($_FILES['fichier']['tmp_name'], 'uploads/' . $_FILES['fichier']['name'])){ echo "L'envoi a bien été effectué !"; $_SESSION['fichier'] = 'uploads/' . $_FILES['fichier']['name']; }else{ echo "Erreur lors de l'upload du fichier vers " . 'uploads/' . $_FILES['fichier']['name'] ; var_dump(is_dir($_FILES)); if (is_uploaded_file($_FILES['fichier']['tmp_name'])) { echo "File ". $_FILES['fichier']['name'] ." téléchargé avec succès.\n"; echo "Affichage du contenu\n"; readfile($_FILES['fichier']['tmp_name']); } else { echo "Attaque possible par téléchargement de fichier : "; echo "Nom du fichier : '". $_FILES['fichier']['tmp_name'] . "'."; } if(is_writable($_FILES['fichier']['name'])) { echo ("$_FILES['fichier']['name'] file is writable!"); } else { echo ("$_FILES['fichier']['name'] file is not writable!"); } exit; } }else{ echo "Extension error "; exit; } }else{ echo "Size Error !"; exit; } }
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
16 févr. 2022 à 16:24
16 févr. 2022 à 16:24
Le IS_DIR ... et le IS_WRITABLE .. c'est sur le dossier dans lequel tu veux upload le fichier qu'il faut le faire ... pas sur le fichier lui même..
Et toutes ces vérifications.. il faut les faire AVANT d'essayer de faire le move ..
Une fois ton code écrit .. il serait bien de nous dire ce qui s'affiche ... (comme message d'erreur... )
Et toutes ces vérifications.. il faut les faire AVANT d'essayer de faire le move ..
Une fois ton code écrit .. il serait bien de nous dire ce qui s'affiche ... (comme message d'erreur... )
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
Modifié le 17 févr. 2022 à 09:57
Modifié le 17 févr. 2022 à 09:57
Bonjour,
Ok ok, j'ai placé le IS_DIR et le IS_WRITABLE avant le move.
Cependant il y a une chose que je ne comprends pas trop, il faut enregistrer sur un dossier ou on veut l'upload, n'importe quel dossier ? Je ne comprends pas trop.
Ok ok, j'ai placé le IS_DIR et le IS_WRITABLE avant le move.
Cependant il y a une chose que je ne comprends pas trop, il faut enregistrer sur un dossier ou on veut l'upload, n'importe quel dossier ? Je ne comprends pas trop.
//Envoi du fichier // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0) { // Testons si le fichier n'est pas trop gros if ($_FILES['fichier']['size'] <= 1000000) { // Testons si l'extension est autorisée $infosfichier = pathinfo($_FILES['fichier']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'pdf'); if (in_array($extension_upload, $extensions_autorisees)) { // On peut valider le fichier et le stocker définitivement if (is_uploaded_file($_FILES['fichier']['tmp_name'])) { echo "File ". $_FILES['fichier']['name'] ." téléchargé avec succès.\n"; echo "Affichage du contenu\n"; readfile($_FILES['fichier']['tmp_name']); } else { echo "Attaque possible par téléchargement de fichier : "; echo "Nom du fichier : '". $_FILES['fichier']['tmp_name'] . "'."; } if(is_writable($_FILES['fichier']['name'])) { echo ("$_FILES['fichier']['name'] file is writable!"); } else { echo ("$_FILES['fichier']['name'] file is not writable!"; } if(move_uploaded_file($_FILES['fichier']['tmp_name'], 'uploads/' . $_FILES['fichier']['name'])){ echo "L'envoi a bien été effectué !"; $_SESSION['fichier'] = 'uploads/' . $_FILES['fichier']['name']; }else{ echo "Erreur lors de l'upload du fichier vers " . 'uploads/' . $_FILES['fichier']['name'] ; var_dump($_FILES); exit; } }else{ echo "Extension error "; exit; } }else{ echo "Size Error !"; exit; } }
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
17 févr. 2022 à 11:01
17 févr. 2022 à 11:01
Le fichier .. tu vas le sauvegarder dans un emplacement ( un dossier ) de ton serveur web...
Il faut donc regarder, avant d'essayer d'y mettre le fichier, que ce dossier existe ET est accessible en écriture...
C'est donc sur ce dossier qu'il faut regarder si c'est bien un dossier (et si il existe) via l'instruction is_dir et si tu y a les droits en écriture ...
Je le redis ... sur le DOSSIER ... et non pas sur le $_FILES !!
Et puis, tu vas faire le MOVE ( vers ce dossier ... destination finale de ton fichier donc.. ) SI .. il a bien été chargé ( ce que tu vérifies avec la fonction is_uploaded_file ) ... ce n'est donc pas dans le ELSE de celui ci qu'il faut mettre le code .. mais bien dans la partie IF ..
en gros..
Il faut donc regarder, avant d'essayer d'y mettre le fichier, que ce dossier existe ET est accessible en écriture...
C'est donc sur ce dossier qu'il faut regarder si c'est bien un dossier (et si il existe) via l'instruction is_dir et si tu y a les droits en écriture ...
Je le redis ... sur le DOSSIER ... et non pas sur le $_FILES !!
Et puis, tu vas faire le MOVE ( vers ce dossier ... destination finale de ton fichier donc.. ) SI .. il a bien été chargé ( ce que tu vérifies avec la fonction is_uploaded_file ) ... ce n'est donc pas dans le ELSE de celui ci qu'il faut mettre le code .. mais bien dans la partie IF ..
en gros..
if (is_uploaded_file($_FILES['fichier']['tmp_name'])) { echo "File ". $_FILES['fichier']['name'] ." téléchargé avec succès.\n"; if(is_dir('uploads/'){ if(is_writable('uploads/')) { if(move_uploaded_file($_FILES['fichier']['tmp_name'], 'uploads/' . $_FILES['fichier']['name'])){ echo "L'envoi vers le serveur a bien été effectué !"; $_SESSION['fichier'] = 'uploads/' . $_FILES['fichier']['name']; }else{ echo "Erreur lors de l'upload du fichier vers " . 'uploads/' . $_FILES['fichier']['name'] ; var_dump($_FILES); exit; } } else { echo ("Erreur: Le dossier n'a pas les droits en écriture"; } }else{ echo "Erreur : dossier de destination manquant ou erreur dans le chemin !"; } } else { echo "Attaque possible par téléchargement de fichier : "; echo "Nom du fichier : '". $_FILES['fichier']['tmp_name'] . "'."; }
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
Modifié le 17 févr. 2022 à 11:40
Modifié le 17 févr. 2022 à 11:40
Ok ok, donc en gros j'ai suivis cette logique, mais j'ai tout de même une erreur de compilation.
Parse error: syntax error, unexpected 'if' (T_IF) in C:\xamppp\htdocs\smartex\wordpress\wordpress.php on line 131 enfin dans ce cas ci la ligne 131 corespond à la ligne 18
Parse error: syntax error, unexpected 'if' (T_IF) in C:\xamppp\htdocs\smartex\wordpress\wordpress.php on line 131 enfin dans ce cas ci la ligne 131 corespond à la ligne 18
//Envoi du fichier // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0) { // Testons si le fichier n'est pas trop gros if ($_FILES['fichier']['size'] <= 1000000) { // Testons si l'extension est autorisée $infosfichier = pathinfo($_FILES['fichier']['name']); $extension_upload = $infosfichier['extension']; $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'pdf'); if (in_array($extension_upload, $extensions_autorisees)) { // On peut valider le fichier et le stocker définitivement if (is_uploaded_file($_FILES['fichier']['tmp_name'])) { echo "File ". $_FILES['fichier']['name'] ." téléchargé avec succès.\n"; if(is_dir('uploads/'){ if(is_writable('uploads/')) { if(move_uploaded_file($_FILES['fichier']['tmp_name'], 'uploads/' . $_FILES['fichier']['name'])){ echo "L'envoi vers le serveur a bien été effectué !"; $_SESSION['fichier'] = 'uploads/' . $_FILES['fichier']['name']; }else{ echo "Erreur lors de l'upload du fichier vers " . 'uploads/' . $_FILES['fichier']['name'] ; var_dump($_FILES); exit; } } else { echo ("Erreur: Le dossier n'a pas les droits en écriture"; } }else{ echo "Erreur : dossier de destination manquant ou erreur dans le chemin !"; } } else { echo "Attaque possible par téléchargement de fichier : "; echo "Nom du fichier : '". $_FILES['fichier']['tmp_name'] . "'."; } }else{ echo "Extension error "; exit; } }else{ echo "Size Error !"; exit; } }
yg_be
Messages postés
23328
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
1 551
Modifié le 17 févr. 2022 à 11:57
Modifié le 17 févr. 2022 à 11:57
as-tu bien examiné le contenu de la ligne 18?
l'erreur se trouve parfois dans une des lignes précédentes.
l'erreur se trouve parfois dans une des lignes précédentes.
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
yg_be
Messages postés
23328
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
Modifié le 17 févr. 2022 à 12:07
Modifié le 17 févr. 2022 à 12:07
Ah oui j'ai trouvé l'erreur ^^.
Cependant une fois mon formulaire envoyé, aucun message ne s'affiche >.<
Je ne sais donc pas s'il a été envoyé...
Cependant une fois mon formulaire envoyé, aucun message ne s'affiche >.<
Je ne sais donc pas s'il a été envoyé...
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
17 févr. 2022 à 12:12
17 févr. 2022 à 12:12
Ah non, j'avais juste oublié de mettre un fichier, autant pour moi.
Voilà, j'ai reçu comme message : " File (nom_du_fichier).pdf téléchargé avec succès. Erreur : dossier de destination manquant ou erreur dans le chemin ! "
Voilà, j'ai reçu comme message : " File (nom_du_fichier).pdf téléchargé avec succès. Erreur : dossier de destination manquant ou erreur dans le chemin ! "
yg_be
Messages postés
23328
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
1 551
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
17 févr. 2022 à 12:28
17 févr. 2022 à 12:28
Vois les explications en #22.
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
17 févr. 2022 à 13:23
17 févr. 2022 à 13:23
Tu crées un dossier ou tu veux sur ton serveur
Et tu remplaces dans le code toutes les lignes qui contiennent, actuellement, uploads/
Et tu remplaces dans le code toutes les lignes qui contiennent, actuellement, uploads/
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
17 févr. 2022 à 14:19
17 févr. 2022 à 14:19
Super ça fonctionne !!!
Je vous dit un grand grand merci pour tout. Vous avez beaucoup de patience. ^^
Et le plus important, j'ai compris le concept.
Bonne journée.
Je vous dit un grand grand merci pour tout. Vous avez beaucoup de patience. ^^
Et le plus important, j'ai compris le concept.
Bonne journée.
11 févr. 2022 à 12:58
Il te manque a minima, la fonction move_uploaded_file
11 févr. 2022 à 13:03
11 févr. 2022 à 13:40
Cependant, c'est bizarre, mais au lancement je ne vois pas les tests que j'effectue.
Et après comment faire pour afficher le résultas sur une autre page ?
11 févr. 2022 à 14:50
peut-être ajouter des et y faire ?
14 févr. 2022 à 09:38
Oui j'ai essayé, mais aucun affichage. En vrai je suis un peu perdu, j'ai beau chercher de la documentation, mais ce n'est jamais très clair. Est-ce que vous avez de la documentation sur comment utiliser $_FILES ou m'expliquer comment ça fonctionne. Est-ce que je m'y prend bien, comment pourrais-je l’améliorer ?
Merci beaucoup.