Formulaire: données - PHP - Programmation
Marsh Posté le 09-04-2007 à 15:08:49
A toi de débugger tout seul un peu
Déja n'hésite pas a afficher toutes les variables du script avec des echo puis un exit; juste après pour vérifier leur contenu
Ensuite mets mysql_query($sql) or die('Erreur MySQL :'.mysql_error());
Faut apprendre a débugger tout seul
Par contre ton script d'upload est a revoir, de ce que j'en ai vu on peut faire passer un fichier PHP tranquille
Autre chose : tu la sors d'ou ta variable $photo ? parce que si j'ai bien compris, tu la récupères de l'input du même nom de type file
Or dans ce cas ca résout une question que je me suis posée : Pourquoi n'utilise t-il pas le tableau $_FILES['photo'] ?
Parce que ca m'étonnerait bien que $photo aie une valeur, c'est $_FILES['photo'] qu'il faut utiliser et c'est ce tableau qui contient :
$_FILES['photo']['name'] : Nom
$_FILES['photo']['tmp_name'] : Chemin temporaire du fichier
Et j'en passe. Y'a beaucoup a revoir dans ton script
Marsh Posté le 09-04-2007 à 17:16:35
et ton code html avec des tableaux spa beau
Marsh Posté le 09-04-2007 à 17:43:42
ReplyMarsh Posté le 09-04-2007 à 20:44:23
J'ai essayé ce code et le résultat me donne ceci:
Nom : attak.jpg
Dest.: image_annonce/attak.jpg
Chemin :
Type :
Size : 0
Le fichier est introuvable
$ph_name=$_FILES[photo][name];
$ph_chemin=$_FILES[photo][tmp_name];
$ph_type=$_FILES[photo][type];
$ph_size=$_FILES[photo][size];
$repertoire="image_annonce/";
$destination=$repertoire.$ph_name;
echo "Nom : ".$ph_name."<br>";
echo "Dest.: ".$destination."<br>";
echo "Chemin : ".$ph_chemin."<br>";
echo "Type : ".$ph_type."<br>";
echo "Size : ".$ph_size."<br>";
Marsh Posté le 09-04-2007 à 20:50:56
J'ai essayé cette cette ligne: <pre><? print_r($_FILES); ?></pre>
et j'obtiens ce résultat:
Array
(
[photo] => Array
(
[name] => attak.jpg
[type] =>
[tmp_name] =>
[error] => 2
[size] => 0
)
)
Marsh Posté le 09-04-2007 à 21:04:42
[error] => 2
<=>
UPLOAD_ERR_FORM_SIZE
<=>
Le fichier téléchargé excède la taille de MAX_FILE_SIZE, qui a été spécifiée dans le formulaire HTML.
Cette page pourrais t'être grandement utile !
http://fr.php.net/manual/fr/features.file-upload.php
Marsh Posté le 10-04-2007 à 01:22:29
D'ailleurs a l'avenir dans tes formulaires d'upload il faudra vérifier si la valeur error est supérieur a 0. Si c'est le cas, pas la peine de continuer, pour une raison X ou Y l'envoi a échoué.
Ca donnerait ca:
if($_FILES['photo']['error'] > 0) $erreur='Il y\'a eu une erreur pendant le transfert';
puis après toutes les vérifications possibles et inimaginables dans le cas d'upload de fichier :
if(isset($erreur)) echo $erreur;
S'il n'y a eu aucun problème de vérification (parce que error > 0 c'est pas la seule) alors on continue le script :
else {
// SUITE DE TON SCRIPT
}
Mon avis c'est surtout qu'il te faut un tuto complet pour ce genre d'opérations que voici :
http://www.siteduzero.com/tuto-3-1 [...] laire.html
Marsh Posté le 10-04-2007 à 03:12:16
Merci beaucoup!
En revenant, je me suis dit que j'allais effectivement traité les erreurs; ce que je n'avais pas vu dans les trouvailles que j'avais faite.
Marsh Posté le 09-04-2007 à 15:03:10
Bonjour,
J'ai un formulaire pour mettre en ligne des petites annonces mais lorsque je valide, les données n'y sont pas. La table est toujours vide. Je ne vois pas pourquoi.
Formulaire:
Validation: