Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2011, 11h51   #1
Invité de passage
 
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Par défaut Formulaire upload marche pas, page blanche

Bonjour,
Voilà que depuis quelques jours je n'arrive pas à régler mon problème avec un formulaire d'upload. Je veux donc pouvoir uploader une photo... le problème c'est qu'en local tout fonctionne impeccable, mais en ligne rien ne se passe et je n'ai même pas de message d'erreur qui s'affiche! j'ai modifié les chmod en 777, le upload_max_filesize est à 24M.
Voici mes codes:
le formulaire:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
form method="POST" action="poster_photo_traitement.php" enctype="multipart/form-data">
 
<fieldset>
<legend>Envoi de photos (format png, gif, jpg, jpeg uniquement)</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="photo">Photo :</label><br><input type="file" name="photo" style="background-color:#32331D; color:#ffffff"/></p>
<p><label for="comment">Commentaire :</label><br><input type="text" name="comment" style="background-color:#32331D; color:#ffffff"/></p>
 
 
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Ajouter" /></p>
 
<input type="hidden" name="id_gallery" value="<?php echo $_GET['gallery']; ?>" />
</legend>
</fieldset>
</form>

et le fichier "poster_photo_traitement.php":

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
 
<?php
 
 
$comment = $_POST['comment'];
$idalb = $_POST['id_gallery'];
 
if( isset($_POST['photo']) ) // si formulaire soumis
{
 
 
$dossier = './photos/';
$fichier = basename($_FILES['photo']['name']);
 
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPEG', '.JPG');
$extension = strrchr($_FILES['photo']['name'], '.'); 
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type: png, gif, jpg, jpeg';
}
 
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
 
 
     {
	  mysql_query("INSERT INTO photos (id_album, photo, commentaire, date)  VALUES('$idalb','$dossier$fichier','$comment', NOW());"); // et on termine en envoyant les données dans la base mysql
          echo 'Photo ajoutée avec succès ! <a href="./poster_photos1.php">Cliquez ici pour en ajouter d\'autres</a> 
			';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}
 
 
    echo "Le fichier a bien été uploadé";
}
 
?>

Quelqu'un aurait déjà rencontré ce problème?
merci d'avance à ceux qui pourront m'aider!
soleil41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 12h02   #2
Membre Expert
 
Avatar de David Guillot
 
Homme David Guillot
Chef de projet en SSII
Inscription : mars 2004
Messages : 879
Détails du profil
Informations personnelles :
Nom : Homme David Guillot
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 879
Points : 1 149
Points : 1 149


La page blanche signifie généralement que sur ton environnement, les messages d'erreurs PHP ne s'affichent pas. Vérifie le log d'erreurs PHP ou si tu n'en as pas, active l'affichage des erreurs avec un petit ini_set('display_errors', TRUE).

Sinon n'hésite pas à faire des var_dump de $_FILES et des traces d'exécution, car là, je ne vois pas ton erreur.
__________________
Avant de poser une question ici :

Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé
David Guillot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 12h37   #3
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 011
Points : 5 011
Pense également à définir un error reporting qui te permettra de voir ton erreur. En mode DEV, je te recommande:
Code :
1
2
3
4
5
6
7
error_reporting(-1);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('log_errors', 1);
ini_set('ignore_repeated_errors', 1);
ini_set('error_prepend_string', 'Produit [version]'); // juste histoire de s'y retrouver
ini_set('error_log', '/tmp/logs/produit/error.log');
Personnellement je n'aime pas tellement programmer avec les erreurs affichées alors je les redirige vers un log que je lis automatiquement avec tailf sur mon écran d'appoint.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 13h22   #4
Invité de passage
 
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Merc, je vais essayer!
Ce qui est vraiment bizarre c'est qu'en local ça marche parfaitement, c'est dès que j'ai mis en ligne que qqch bloque! je me suis demandée si c'était un paramètre lié à l'hébergeur? je suis chez Oxito...
soleil41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h26.


 
 
 
 
Partenaires

Hébergement Web