Bonjour,
je Suis nouveau en programmation et depuis un certain temps je me suis mis en PDO depuis que j'ai appris que la procédure de connexion à une base de donnée par Mysql_connect et Mysql_query étaient périmé
maintenant j’éprouve d'énormes difficultés et je ne trouve pas de solution par rapport à une question très simple , comment parvenir à alimenter une table contenue dans une base via un petit formulaire avec PDO . J'ai consulté toute la littérature ,les tutos , etc faits sur PDO je ne trouve rien qui puisse répondre à ma préoccupation.
J'ai créé une base de donnée avec phpMyadmin nommée  : ''amateurs'' et
une table nommée :''inscription''
La table est constituée des 3 champs suivants : ''prénom'' , ''nom'' , ''adresse''
Je comprend comment faire pour me connecter à la base j'ai parfaitement réussi cette étape avec le code suivant :

<?php
$bdd = new PDO('mysql:host=localhost;dbname=amateurs','root','');
echo"Connection a la base réuissie"
?>

maintenant je cherche quelqu'un pour m'aider à écrire le reste du code qui me permettra :
de construire un formulaire pour remplir ma table et la requette appropriée pour transférer les données saisies dans le formulaire vers la table.
Ca me sera d'un grand apport si quelqu'un pourrait m'apporter son aide
merci d'avance
Hello,

Tu récupère les données de ton formulaires via le POST; On va dire que cette étape est faite.

Exemple, si tu as
<input type="text" name="nom">
Tu as donc $nom = $_POST['name'] ;
Si tu comprends pas cette partie de code, je te conseil de revoir les bases du php (lien plus bas).

Ensuite, pour répondre à ta question.
Tu fais donc une insertion des données de ton formulaire dans ta table inscription.
Ce qui te donne avec $bdd = new PDO ... (ta connexion)

$req = $bdd->prepare("INSERT INTO inscription(prenom,nom,adresse) VALUE (:prenom, :nom, :adresse);
$req->bindValue(:prenom, $prenom, PDO: [langue]ARAM_STR);
$req->bindValue(:nom, '', PDO: [langue]ARAM_STR);
$req->bindValue(:adresse, '', PDO: [langue]ARAM_STR);
$req->execute();


1/ Il faut éviter les accents dans les nom de tes champs, cela peut créer des erreurs ( prénom, n'est pas bon donc, mais prenom).
2/La requete est préparer, comme tout ce qui doit etre insérer en bdd, c'est une question de sécurité
3/ je te laisse le soin de finir la requête, attention aussi a sécurisé les données récoltés avec php

Pour apprendre le php voici un lien :
-https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql
Pour ce qui est PDO, tu as cette documentations (aussi bonne pour php d'ailleurs)
-http://php.net/manual/fr/book.pdo.php

Si tu as d'autres question n'hésite pas
Modifié par J_B (11 Oct 2015 - 10:42)
Salut J_B me revoici encore j'ai éssayé de faire ce que tu m'avais demandé de faire
Mais wamp me signale une erreur à la ligne 31 c'est au niveau de la ligne '' $req->bindValue(:prenom, '$prenom', PDO: ARAM_STR); ''
j'ai beau cherché mais je sais pas à quoi cela est dû
le méssage d'erreur est le suivant:
Parse error: syntax error, unexpected ':' in C:\wamp\www\Nouveau dossier (2)\Site2\mon quatrieme site.php on line 31
Si vous avez du temps regardez s'il vous plait l'integralité du code pour voire si j'ai fais quelques béttises
 <html>
    <head>
	</head>
    <body>
	
	    <?php
    
	          $prenom = $_POST['prenom'] ;
                           $nom = $_POST['nom'] ;
	          $adresse = $_POST['adresse'] ;

               echo" 

             <form  method='post' action='form.php'>
                          Prenom :
                         <br/>
	         <input type='text' name='prenom'/>
                          Nom :
                         <br/>  
                         <input type='text' name='nom'/>
                          Adresse :
                         <br/>  
                         <input type='text' name='adresse'/>
                        <input type='submit' value='Inscription'/>

             </form>
			 ";
 $bdd = new PDO('mysql:host=localhost;dbname=amateurs','root','');
 $req = $bdd->prepare("INSERT INTO agent(prenom,nom,adresse) VALUE (:prenom, :nom, :adresse)");
              $req->bindValue(:prenom, '$prenom', PDO:   ARAM_STR);
              $req->bindValue(:nom, '$nom', PDO:   ARAM_STR);
              $req->bindValue(:adresse, '$adresse', PDO:   ARAM_STR);
              $req->execute();
   ?>

    </body>
</html>
Vite fait l'erreur vient peut-etre de : PDO: Smiley langue ARAM_STR

PDO :: PARAM_STR (sans espace)

Edit :

Autant pour moi, j'ai fait une erreur, c'est plutôt :

$requete->bindValue(':identifiant', valeur, PDO: [langue]ARAM_STR);


Donc pour toi :

$req->bindValue(':prenom', '$prenom', PDO:   ARAM_STR);


Il manque les ' autour de :nom et les autres

Désolée, ça fait un moment que je n'ai pas touché à php / mysql ...
Modifié par J_B (12 Oct 2015 - 00:17)
Bonsoir, j'ai essayé de rectifier mon code comme vous me l'aviez suggère (Vous aussi J_B vous aviez fait quelques erreurs), maintenant wamp ne me signale plus aucune erreur et m'affiche correctement mon formulaire , le seul problème auquel je suis actuellement confronté est que lorsque je tente de saisir des informations avec le formulaire, dés que j'appuis sur le bouton ''ENVOYER'' le navigateur m'affiche ''PAGE WEB INTROUVABLE''
quel est le problème


 <html>
    <head>
   </head>
    <body>
	<?php
		
	           if ( isset( $_POST['prenom'] ))
	                       {  
	                          $prenom = $_POST['prenom'] ;
                                          $nom = $_POST['nom'] ;
	                         $adresse = $_POST['adresse'] ;
							
		       $bdd = new PDO('mysql:host=localhost;dbname=amateurs','root','');

                                         $req = $bdd->prepare("INSERT INTO agent(prenom,nom,adresse) VALUE
                                        (:prenom, :nom, :adresse)");
                                             $req->bindValue(':prenom', $prenom, PDO: [langue]ARAM_STR);
                                             $req->bindValue(':nom', $nom, PDO: [langue]ARAM_STR);
                                             $req->bindValue(':adresse', $adresse, PDO: [langue]ARAM_STR);
                                             $req->execute();
							
							
		           echo'Merci de vous être enregistré';
						
                                          }         
                                   else
							
	                        {                         
                                    echo" 
      
                                   // Le formulaire //
                                  <form  method='post' action='form.php'>
                                              Prenom :
	                            <br/>
	                           <input type='text' name='prenom'/>
		           <br/>
	                              Nom :
	                            <br/>  
                                              <input type='text' name='nom'/>
		           <br/>
		             Adresse :
		            <br/>  
                                              <input type='text' name='adresse'/>
		            <input type='submit' value='Inscription'/>
                                </form>
                                               ";
                                              }  
	 ?>

    </body>
</html>
Cela vient d'ici :

<form  method='post' action='form.php'>

Tu lui dit d'utiliser la méthod POST et d'aller à la page form.php => erreur dans ton url, qui n'est pas la bonne apparement
Comment veux-tu que je le sache ? Smiley biggol
Tout ce que je peux te dire c'est qu'il s'agit de l'url du fichier ou tu traites ton formulaire.
Salut abdoulayecoumba

dans action, il faut mettre le fichier PHP qui va traiter les informations envoyer en POST;
Merci tout le monde surtout à J_B j'ai pu résoudre mon problème avec mon formulaire , j'ai pris une partie de l'url de la page qui exécute le code je l'ai ajouté à action=