Menu

Insertion dans une base de données MySQL

veronav 3 Messages postés vendredi 2 mars 2018Date d'inscription 6 mars 2018 Dernière intervention - 2 mars 2018 à 14:30 - Dernière réponse : veronav 3 Messages postés vendredi 2 mars 2018Date d'inscription 6 mars 2018 Dernière intervention
- 6 mars 2018 à 20:06
Bonjour,
je suis débutante et je suis entrain de développer une apllication je veux connecter le formulaire avec la base de données mais j'y arrive pas.voici le formulaire:
<p align="justify">                    
  <form name="form1" method="post" action="recup.php">
    <table width="657" height="511" align="center" cellspacing="9" bgcolor="#0066FF">
      <tr>
        <td width="125" height="50">
          <span class="Style1">Nom </span>
        </td>
        <td width="443">
          <label for="nom"></label>
          <input type="text" name="name" id="name" placeholder="Entrez votre nom">
        </td>
      </tr>
      <tr>
        <td width="125" height="50">
          <span class="Style1"> Photo de profil: </span>
        </td>
        <td width="443">
            <label for="photo"> </label>
           <input type="file" name="photo">  
        </td>
      </tr>
      <tr>
        <td width="125" height="50"><span class="Style1">Prénoms</span></td>
        <td><input type="text" name="prénoms" id="prénoms" placeholder="Entrez votre prénoms"></td>
      </tr>
      <tr>
        <td width="125" height="50"><span class="Style1">Telephone</span></td>
        <td><input type="text" name="phone" id="phone"></td>
      </tr>
    </table>
  </form>
</p>


EDIT : Ajout des balises de code
Afficher la suite 

Votre réponse

9 réponses

yg_be 5873 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 24 juin 2018 Dernière intervention - 2 mars 2018 à 20:01
0
Merci
bonsoir, quel langage de programmation utilises-tu?
se j'utilise le PHP comme langage de programmation
yg_be 5873 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 24 juin 2018 Dernière intervention > Veronav - 3 mars 2018 à 00:49
peux-tu partager ton code php?
veronav 3 Messages postés vendredi 2 mars 2018Date d'inscription 6 mars 2018 Dernière intervention - 3 mars 2018 à 11:12
<?php
session_start(); # Ouverture des sessions

define('HOST', 'localhost');
define('USER','root');
define('PASSWORD','');
define('BDD','ptijob');

try
{
$bdd = new PDO('mysql:host='.HOST.';dbname='.BDD, USER, PASSWORD);
}
catch(Exception $err)
{
die('erreur ['.$err->getCode().'] '.$e->getMessage());
}
//var_dump($_POST);

if(isset($_post ['submit'])){ // si le bouton valider a été déclencher
if (isset($_post['name'],$_post ['prénoms'],$_post ['phone'],$_post ['photo'] )){

if ($_post['name']!="" && $_post ['prénoms'] !="" && $_post ['phone'] !="" && $_post ['photo'] !=" " ){


$name=$_POST['name'];
$prénoms=$_POST['prénoms'];
$phone=$_POST['phone'];
$nomphoto=$_FILES['photo'] ['name'];
$file_tmp_name=$FILES ['photo'] ['tmp_name'];
move_uploaded_file($file_tmp_name,"./photos/$nomphoto");
// enregistrement dans la base de donnée
$insertion="INSERT INTO ouvrier( nom,prenom,photo,tel,extension) VALUES ('$name','$prénoms', '$nomphoto','$phone','$extension' )";
$execute=$bdd->query($insertion);
if($execute==true){
$msgsuccess="Inscription réalisée avec sccuèes!";
}
else
{
$msgerror="l'inscription n'a pas pu être éffectuée.Verifiez que vous avez remplie tous les champs.";
}
}
}
}

?>
<html>
<meta charset="utf-8">
<body>
<table width="100%" border="1">

<tr>
<td>NOM:</td>
<td><?php echo($name)?></td>
</tr>
<tr>
<td>Prénoms:</td>
<td><?php echo( $prénoms)?></td>
</tr>
<tr>
<td>Télephone:</td>
<td><?php echo($phone)?></td>

<tr>
<td>Photo:</td>
<td><?php echo($nomphoto)?></td>
</tr>
</table>


</body>
</html>
yg_be 5873 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 24 juin 2018 Dernière intervention > veronav 3 Messages postés vendredi 2 mars 2018Date d'inscription 6 mars 2018 Dernière intervention - 3 mars 2018 à 12:12
"j'y arrive pas": message d'erreur, comportement inattendu (lequel)?
Message d' erreur : variables indéfinies
Commenter la réponse de yg_be
le père. 6076 Messages postés mardi 15 mai 2012Date d'inscription 23 juin 2018 Dernière intervention - 3 mars 2018 à 18:10
0
Merci
Bonjour

En plus de la question de yg_be :
Attention, je vois des $_post en minuscules dans ton code, alors que c'est $_POST en majuscules. PHP distingue les deux.
Et si tu veux envoyer un fichier par formulaire, il faut préciser dans la balise form l'encodage
enctype="multipart/form-data"
.
Voir http://php.net/manual/fr/features.file-upload.post-method.php

De plus, tu testes si un certain bouton 'submit' a été déclenché, mais je n'en vois pas dans ton formulaire.

Tu utilises aussi les champs de ton formulaire directement dans ta requête, c'est la porte ouverte aux attaques. Puisque tu utilises PDO, sers-toi des requêtes préparées.
Commenter la réponse de le père.
jordane45 21449 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 24 juin 2018 Dernière intervention - 3 mars 2018 à 18:30
0
Merci
Bonjour,
J'ajouterai que tu as un souci au niveau de ta requête...
et comme le dit justement Lepère... utilise les requêtes préparées.
Voici comment correctement effectuer la connexion à ta bdd ET faire une requête préparée
http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

Je t'invite également à lire ceci :
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code

Ainsi que ça (afin de poster correctement ton code la prochaine fois )
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

veronav 3 Messages postés vendredi 2 mars 2018Date d'inscription 6 mars 2018 Dernière intervention - 6 mars 2018 à 20:06
jai revu ma requete sans le fichier,je peux effectuer des enregistrements maintenant,mais jai un souci au niveau du fichier, comment l'inserer dans mon code et ou le placer? le prestataire devra mettre une photo de profil lors de linscription sur le site. voici ma table ouvrier:
# Nom Type Interclassement Attributs Null Défaut Extra Action
1 idouv int(11) Non Aucune AUTO_INCREMENT Modifier Modifier
2 nom varchar(25) utf8_general_ci Non Aucune Modifier Modifier
3 prenom varchar(40) utf8_general_ci Non Aucune Modifier Modifier
4 datnais date Non Aucune Modifier Modifier Supprimer Supprimer

5 exprof varchar(10) utf8_general_ci Non Aucune Modifier Modifier
6 photo blob Non Aucune Modifier Modifier Supprimer Supprimer

7 tel int(11) Non Aucune Modifier Modifier Supprimer Supprimer


9 act varchar(25) utf8_general_ci Non Aucune Modifier Modifier Supprimer
10 sexe varchar(255) utf8_general_ci Non Aucune Modifier Modifier
11 ville varchar(255) utf8_general_ci Non Aucune Modifier Modifier Supprimer
12 qualiteprof varchar(255) utf8_general_ci Non Aucune Modifier Modifier
13 extension varchar(255) utf8_general_ci Non Aucune
voici mon code revu:
<?php
$bdd = new PDO('mysql:host=localhost;dbname=ptijob','root','');

var_dump($_POST);
if(isset($_POST ['name']) AND isset($_POST['prenoms'])AND isset($_POST['datenaissance'])AND isset($_POST['subject']) AND isset($_POST['phone']) AND isset($_POST['lieuhabitation'])AND isset($_POST['activite'])AND isset($_POST['sexe']) AND isset($_POST['ville']) AND isset($_POST['message']))
{
$req=$bdd->prepare('INSERT INTO ouvrier(nom,prenom,datnais,exprof,tel,lieuhab,act,sexe,ville,qualiteprof) VALUES(:name,:prenoms,:datenaissance,:subject,:phone,:lieuhabitation,:activite,:sexe,:ville,:message)');
$req->execute(array(
':name' => $_POST['name'],
':prenoms' => $_POST['prenoms'],
':datenaissance' => $_POST['datenaissance'],
':subject' => $_POST['subject'],
':phone' => $_POST['phone'],
':lieuhabitation' => $_POST['lieuhabitation'],
':activite' => $_POST['activite'],
':sexe' => $_POST['sexe'],
':ville' =>$_POST['ville'],
':message' => $_POST['message'],
));

$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "succes";
}
else echo(" veuillez saisir tout les champs!");

?>

merci.
Commenter la réponse de jordane45