Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
734 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire: données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire: données

n°1540410
fourniey
Rendre au prochain
Posté le 09-04-2007 à 15:03:10  profilanswer
 

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:
 

Code :
  1. <div class="framebloc">
  2.  <table width="90%" align="center">
  3.   <tr>
  4.    <td colspan="2" align="center"><h3>Ajouter votre annonce</h3></td>
  5.   </tr>
  6.     <form method="POST" action="valider.php" enctype="multipart/form-data">
  7.      <input name="nbrann" type="hidden">
  8.      <input name="date" type="hidden" value="<? echo"$today2";?>">
  9.      <tr>
  10.       <td width="125"><p class="para"><strong>Prénom et nom</strong></td>
  11.       <td><input type="text" name="nom" size="60" value=""></p></td>
  12.      </tr>
  13.      <tr>
  14.       <td><p class="para"><strong>Courriel</strong></td>
  15.       <td><input type="text" name="email" size="60"></p></td>
  16.      </tr>
  17.      <tr>
  18.       <td><p class="para"><strong>Téléphone</strong></td>
  19.       <td><input type="text" name="tel" size="20" value=""></p></td>
  20.      </tr>
  21.      <tr>
  22.       <td><p class="para"><strong>Contenu de<br />votre annonce</strong></P></td>
  23.       <td><p><textarea rows="7" name="annonce" cols="60"></textarea></p></td>
  24.      </tr>
  25.      <tr>
  26.       <td><P class="para"><strong>Photo &agrave; inclure</strong></td>
  27.        <td><input name="MAX_FILE_SIZE" type="hidden" value="2600000">
  28.       <input type="file" name="photo"></p></td>
  29.      </tr>
  30.      <tr>
  31.       <td><p class="para"><strong>Mot de passe</strong></td>
  32.        <td><input name="mdp" type="password"  size="9" value=""> (de 8 à 10 caractères)</p></td>
  33.      </tr>
  34.     <tr height="40">
  35.      <td colspan="2" align="center">
  36.       <input type="submit" value="Envoyer"> &nbsp &nbsp <input type="reset" value="Annuler">
  37.      </td>
  38.     </tr>
  39.    </form>
  40.  </table>
  41.  </div> <!-- Fin Frame -->


 
Validation:
 

Code :
  1. <html>
  2. <head>
  3. <title>Résultat des annonces</title>
  4. <link rel="stylesheet" href="cssfile/css_annonce.css">
  5. <body>
  6. <h2>Affichage des annonces</h2>
  7. <?php
  8. include ("fonction/connection_data.php" );
  9. include ("fonction/mysql_func.php" );
  10. $pseudo=trim($pseudo);
  11. $login=trim($login);
  12. $pwd=trim($mdp);
  13. $table="annonce";
  14. connect();
  15. $repertoire="image_annonce/";
  16. $destination=$repertoire.$photo_name;
  17. if (is_uploaded_file($photo))
  18. {
  19. move_uploaded_file($photo,$destination);
  20. echo"<b>Ainsi que votre photo: $photo_name .</b>";
  21. }
  22. else
  23. {echo" <b>Vous n'avez pas envoyer de PHOTO<br> ou bien un problème est survenu lors
  24. du transfert de celle-ci, dans ce cas, veuillez recommencer!</b><br><br>";
  25. }
  26. $annonce=addslashes($annonce);
  27. echo $nom;
  28. echo $email;
  29. $sql="insert into $table (nbrann,date,nom,email,telephone,annonce,photo,mdp) values ('$nbrann','$date','$nom','$email',
  30. '$tel','$annonce','$photo_name','$mdp')";
  31. mysql_query($sql);
  32. mysql_close();
  33. ?>
  34. </body>
  35. </html>

mood
Publicité
Posté le 09-04-2007 à 15:03:10  profilanswer
 

n°1540411
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 09-04-2007 à 15:08:49  profilanswer
 

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 [:fading]

 

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


Message édité par WiiDS le 09-04-2007 à 15:13:07
n°1540416
fourniey
Rendre au prochain
Posté le 09-04-2007 à 15:42:22  profilanswer
 

Merci!

n°1540423
zecrazytux
Posté le 09-04-2007 à 17:16:35  profilanswer
 

et ton code html avec des tableaux spa beau :o


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1540430
fourniey
Rendre au prochain
Posté le 09-04-2007 à 17:42:09  profilanswer
 

mais c'est efficace et ça prend moins de temps.

n°1540432
zecrazytux
Posté le 09-04-2007 à 17:43:42  profilanswer
 

:s


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1540484
fourniey
Rendre au prochain
Posté le 09-04-2007 à 20:44:23  profilanswer
 

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>";

n°1540487
fourniey
Rendre au prochain
Posté le 09-04-2007 à 20:50:56  profilanswer
 

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
        )
 
)

n°1540498
Le_nain
Posté le 09-04-2007 à 21:04:42  profilanswer
 

[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

n°1540543
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 10-04-2007 à 01:22:29  profilanswer
 

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


Message édité par WiiDS le 10-04-2007 à 01:30:09
mood
Publicité
Posté le 10-04-2007 à 01:22:29  profilanswer
 

n°1540548
fourniey
Rendre au prochain
Posté le 10-04-2007 à 03:12:16  profilanswer
 

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.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire: données

 

Sujets relatifs
comment recuperer et traiter des données d'un formulaire html?[JAVA/JSP] Formulaire JSP/Servlet - Conservations de données [Resolu]
[PHP] Simplifier la récupération de données d'un formulaireModifiacation des données dans une table à partir d'un formulaire
Désactiver enregistrement des données d'un formulaire en HTMLEnvoi données formulaire vers BDD ne fonctionne pas...
transfert de données d'un formulaire versun tableauEnvoyer plusieurs fois données d'un formulaire sans changer de page
[PHP] renseigner champs formulaire avec base de données[PERL] [CGI] Recherche a partir de données d'un formulaire
Plus de sujets relatifs à : Formulaire: données


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR