Récupération des données du formulaire

Résolu/Fermé
luckyman2020 Messages postés 5 Date d'inscription jeudi 11 juin 2020 Statut Membre Dernière intervention 14 juin 2020 - Modifié le 11 juin 2020 à 17:58
luckyman2020 Messages postés 5 Date d'inscription jeudi 11 juin 2020 Statut Membre Dernière intervention 14 juin 2020 - 14 juin 2020 à 10:51
Bonjour mon code PHP que voici ne ramène aucune erreur mais n'envoi pas les données de mon formulaire dans la base de données mysql .....quelqu'un pourrait-il m'aider ?
<? php

if(isset($_POST['send']))
{
 $Envoi=htmlentities(trim($_POST['convEnvoi']));
 $Recevoir=htmlentities(trim($_POST['convRecu']));
 $Montant=htmlentities(trim($_POST['montant']));
 $Calculer=htmlentities(trim($_POST['conversion']));
 $Adresse=htmlentities(trim($_POST['adresse']));
 $Nom=htmlentities(trim($_POST['convNom']));
 $Telephone=htmlentities(trim($_POST['telephone']));
 $Email=htmlentities(trim($_POST['convEmail']));
 
 if (empty($_POST['convEnvoi'])||empty($_POST['convRecu'])||empty($_POST['montant'])||empty($_POST['conversion'])||empty($_POST['convNom'])||empty($_POST['telephone'])||empty($_POST['convEmail'])) 
 {
  echo "Veuillez remplir tous les champs!";
 }
  else
 {
  $evoq = new PDO('mysql:host=localhost;dbname=echangeroom;charset=utf8', 'root', '');

    print_r($evoq);
  $Envoi=$_POST['convEnvoi'];
  $Recevoir=$_POST['convRecu'];
  $Montant=$_POST['montant'];
  $Calculer=$_POST['conversion'];
   $Adresse=$_POST['adresse'];
   $Nom=$_POST['convNom'];
        $Telephone=$_POST['telephone'];
        $Email=$_POST['convEmail'];
       
  $req=$evoq->prepare('INSERT INTO tabclients(convEnvoi,convRecu,montant,conversion,adresse,convNom,telephone,convEmail) VALUES(:convEnvoi,:convRecu,:montant,:conversion,:adresse,:convNom,:telephone,:convEmail)');
        $req->execute(array(
      'convEnvoi' => $Envoi,
      'convRecu' => $Recevoir,
      'montant' => $Montant,
      'conversion' => $Calculer,
      'adresse' => $Adresse,
      'convNom' => $Nom,
      'telephone' => $Telephone,
      'convEmail' => $Email

       ));
    echo "Votre requette a bien été enregistré!";
 }
}
  ?>

7 réponses

jee pee Messages postés 39904 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 3 juillet 2024 9 246
11 juin 2020 à 18:03
Bonjour,

" mon code PHP que voici ne ramène aucune erreur" euhhhhhhh où est-ce que tu gères les codes erreurs ?

voir : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs


0
luckyman2020 Messages postés 5 Date d'inscription jeudi 11 juin 2020 Statut Membre Dernière intervention 14 juin 2020
11 juin 2020 à 21:59
Merci pour ton aide, a vraie dire je suis encore nouveau en php et c'est un peut floue encore avec le renvoi des erreurs. Merci d'être plus précis...
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 680
11 juin 2020 à 22:04
Bonjour,

Il est difficile d'être plus précis que ce qui est marqué dans le lien que Jee-pee t'a donné !
Il suffit de lire et d'appliquer ce qui est marqué !

Je précise également que les fonctions htmlspecialchars, htmlentities ... ne servent qu'à de l'affichage et en aucun cas pour le "traitement" des données avant de faire l'enregistrement en BDD.
Surtout que tu utilises PDO et les requêtes préparées... ce qui est suffisant pour "sécuriser" tes requêtes.

En complément du lien proposée par Jee-pee, je t'invite également à lire et à appliquer les conseils donnés dans ce lien :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

.
0
Utilisateur anonyme
Modifié le 11 juin 2020 à 22:08
Bonjour,

Le code tel que donné plantera immédiatement, tu as mal ouvert la balise PHP :
<? php

Il faut enlever l'espace entre
<?
et
php
.

Ensuite tu pourras activer les messages d'erreur en suivant le lien donné par jee pee.

En complément, je te suggère FORTEMENT d'activer la vérification automatique des erreurs dans ton éditeur de texte, pour voir immédiatement ce genre d'erreurs.
0
luckyman2020 Messages postés 5 Date d'inscription jeudi 11 juin 2020 Statut Membre Dernière intervention 14 juin 2020
12 juin 2020 à 23:28
l' espacement a bien été enlevé les messages d'erreur bien activés, aucune erreur renvoyer cependant aucune récupération dans la bases-de-données introduction base de données] ... a l'aide
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 680
13 juin 2020 à 09:59
Montres nous ton code "modifié" qu'on puisse voir ca que tu as éventuellement oublié.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
13 juin 2020 à 01:17
As-tu activé les erreurs PDO ?

$evoq = new PDO('mysql:host=localhost;dbname=echangeroom;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
0
luckyman2020 Messages postés 5 Date d'inscription jeudi 11 juin 2020 Statut Membre Dernière intervention 14 juin 2020
Modifié le 14 juin 2020 à 10:17
je vois une erreur sur la ligne 46 comme suit
( ! ) Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1364 Field 'id_clients' doesn't have a default value on line 46

voici aussi le tableau sur mysql en photo




<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if(isset($_POST['send']))
{
$Envoi=htmlentities(trim($_POST['convEnvoi']));
$Recevoir=htmlentities(trim($_POST['convRecu']));
$Montant=htmlentities(trim($_POST['montant']));
$Calculer=htmlentities(trim($_POST['conversion']));
$Adresse=htmlentities(trim($_POST['adresse']));
$Nom=htmlentities(trim($_POST['convNom']));
$Telephone=htmlentities(trim($_POST['telephone']));
$Email=htmlentities(trim($_POST['convEmail']));


if (empty($_POST['convEnvoi'])||empty($_POST['convRecu'])||empty($_POST['montant'])||empty($_POST['conversion'])||empty($_POST['convNom'])||empty($_POST['telephone'])||empty($_POST['convEmail']))
{
echo "Veuillez remplir tous les champs!";
}
else
{
$evoq = new PDO('mysql:host=localhost;dbname=echangeroom;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

}

print_r($evoq);
$Envoi=$_POST['convEnvoi'];
$Recevoir=$_POST['convRecu'];
$Montant=$_POST['montant'];
$Calculer=$_POST['conversion'];
$Adresse=$_POST['adresse'];
$Nom=$_POST['convNom'];
$Telephone=$_POST['telephone'];
$Email=$_POST['convEmail'];

$req=$evoq->prepare('INSERT INTO tabclients(convEnvoi,convRecu,montant,conversion,adresse,convNom,telephone,convEmail) VALUES(:convEnvoi,:convRecu,:montant,:conversion,:adresse,:convNom,:telephone,:convEmail)');
$req->execute(array(
'convEnvoi' => $Envoi,
'convRecu' => $Recevoir,
'montant' => $Montant,
'conversion' => $Calculer,
'adresse' => $Adresse,
'convNom' => $Nom,
'telephone' => $Telephone,
'convEmail' => $Email

));
echo "Votre requette a bien été enregistré!";
}

?>

0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 680
14 juin 2020 à 10:47
Tonton idée client n'a pas de valeur par défaut définie c'est ce que signifie le message d'erreur...
c'est donc au niveau de la définition de ton champ dans ta base de données qu'il faut agir.
Soit tu lui définis une valeur par défaut ou éventuellement tu définis le chant comme étant auto incrémenté
0
luckyman2020 Messages postés 5 Date d'inscription jeudi 11 juin 2020 Statut Membre Dernière intervention 14 juin 2020
14 juin 2020 à 10:51
MERCI A TOUS J'AI TROUVÉ L'ERREUR
0