Un coup de main, envoi de données via un formulaire et enregistrement sur BDD

Résolu
cs_Dranog Messages postés 13 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 18 janvier 2012 - 14 janv. 2012 à 14:21
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 - 14 janv. 2012 à 19:33
Bonjour, j'ai créé un formulaire avec une BDD qui correspond, ensuite je ne connais pas très bien la procédure à suivre. Si j'ai bien compris, il faut envoyer les données du formulaire sur un page qui traitera (enregistrement sur BDD) les données et après je pourrais récupérer ces données pour les poster sur la page qui m’intéresse. Donc voila mon formulaire :

<form action="traitement.php" method="post">
Nom,
,

----

Message,
<textarea required name="Message" rows="8" cols="45"/>
</textarea>,

----

Prix,
,

----

Quantité,
,

----

Photos,
,

----

,





</form>


Ensuite j'envoie ces données sur le formulaire de traitement donc (traitement.php):

<?php
if(isset($_POST['Nom'])) $Nom=$_POST['Nom'];
else $Nom="";

if(isset($_POST['Message'])) $Message=$_POST['Message'];
else $Message="";

if(isset($_POST['Prix'])) $Prix=$_POST['Prix'];
else $Prix="";

if(isset($_POST['Quantité'])) $Quantité=$_POST['Quantité'];
else $Quantité="";

if(isset($_POST['Photos'])) $Photos=$_POST['Photos'];
else $Photos="";



$db = mysql_connect('localhost', 'LOGIN', 'MDP') or die('Erreur de connexion '.mysql_error());


mysql_select_db('BDD',$db) or die('Erreur de selection '.mysql_error());


$sql = "INSERT INTO Annonces(idAnnonces, Nom, Message, Prix, Quantité, Photos) VALUES('','$Nom','$Message','$Prix','$Quantité','$Photos')";


mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());


echo 'L annonce a bien été ajoutée.';

mysql_close();

?>

Voila mon probleme est que les données transmises ne sont pas enregistrées dans la BDD.
Est-ce qu'il y a une erreur que je n'aurais pas relevé ?

Merci d'avance de votre aide.

4 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
14 janv. 2012 à 17:22
bonjour

<?php 

if(isset($_POST['sendbutton']) && $_POST['sendbutton']==='Valider'){

    if(isset($_POST['Nom'])) $Nom=$_POST['Nom']; 
    else $Nom=""; 
    
    if(isset($_POST['Message'])) $Message=$_POST['Message']; 
    else $Message=""; 
    
    if(isset($_POST['Prix'])) $Prix=$_POST['Prix']; 
    else $Prix=""; 
    
    if(isset($_POST['Quantité'])) $Quantité=$_POST['Quantité']; 
    else $Quantité=""; 
    
    if(isset($_FILES['Photos'])){
    
    $Photos=$_FILES['Photos']['name'];
    
    /*ex il faut un repertoire uplaod_rep a la racine du script pour stocker la photo*/
    
    move_uploaded_file($_FILES['Photos']['tmp_name'],'upload_rep/'.$_FILES['Photos']['name']);
    
    }else{
    $Photos=""; 
    }
    
    
    /*mettre tes identifiants*/
    $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
    
    
    mysql_select_db('abcdef',$db) or die('Erreur de selection '.mysql_error()); 
    
    
    $sql = "INSERT INTO Annonces(idAnnonces, Nom, Message, Prix, Quantite, Photos) VALUES('','$Nom','$Message','$Prix','$Quantité','$Photos')"; 
    
        
    mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); 
          
    
    mysql_close();

}else{
//formulaire pas soumis
} 

?> 


formulaire.html

<!--http://medias.obs-mip.fr/www/Activite/Formation/Informatique/sgbd/cours009.html-->
<form action="traitement.php" method="post" enctype="multipart/form-data" > 
Nom,
,

----

Message,
<textarea required name="Message" rows="8" cols="45"/>
</textarea>,

----

Prix,
,

----

Quantité,
,

----

Photos,
,

----

,

 



</form> 

je parle de la sécurité absente du code pour l'instant

tu dois avoir un enctype dans le form pour envoyer un fichier
les fichiers qui sont envoyé par le client passe par $_FILES et pas
$_POST






Bonne programmation !
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
14 janv. 2012 à 17:25
NE MAIS pas D'ACCENT SUR LES CHAMPS DE TA TABLE 'Quantité mais Quantite' ça évitera des erreurs de charset utf8 et iso-8851-1 ...
Bonne programmation !
0
cs_Dranog Messages postés 13 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 18 janvier 2012
14 janv. 2012 à 19:03
Bonjour, je suis un autodidacte qui souhaiterais créer son site internet de vente en ligne, je me suis aidé de divers cours notamment sur le site du zéro, php débutant mais aussi grâce à ce forum. Je ne me suis pas encore plongé sur la sécurité puisqu'avant tout j'aimerais poser les bases de mon site et finir son design et m'attaquer à la sécurité par la suite. Connaitriez-vous des références de livres ou sites internet qui seraient susceptible de m'aider ?

Merci de votre aide, le code fonctionne à merveille.

Cordialement
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
14 janv. 2012 à 19:33
Il y a une section tutoriels sur phpcs

ou

Tapez le texte de l'url ici.

... google est ton ami

coté sécurité il faut pas négliger un upload (on peut d'envoyer un fichier .php et l’exécuter à ton insu ...) ,les échanges avec les bases
de données sont à protéger contre les hacks, injections sql ...
tu devrais voir du côté du manuel la fonction

strip_tags() et mysql_real_escape_string()
Tapez le texte de l'url ici.


Bonne programmation !
0
Rejoignez-nous