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

Signaler
Messages postés
13
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
18 janvier 2012
-
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
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

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
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 !
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
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 !
Messages postés
13
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
18 janvier 2012

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
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
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 !