Enregistrer des donnes via formulaire php

Fermé
tokou - 25 nov. 2021 à 14:24
 B2D2 - 25 nov. 2021 à 15:11
Bonjour, je suis presentement sur un projet de site web et je veut a partir d'un formulaire je voudrais envoyer des informations recceuil via le formulaire a la base de donner
voici le code

(if(isset($_POST['type'])&&
isset($_POST['nom'])&&
isset($_POST['prenom'])&&
isset($_POST['reserve'])&&
isset($_POST['arrive'])&&
isset($_POST['depart'])&&
isset($_POST['numero'])&&
isset($_POST['contact']))

$arrive=date(0);
$depart=date(1);

{

$req=$cnx->prepare ('INSERT INTO reservation values (null ,:type , :nom , :prenom , :reserve , :arrive , :depart , :numero , :contact)');
$req-> bindvalue (':type',$_POST['type']);
$req-> bindvalue (':nom',$_POST['nom']);
$req-> bindvalue (':prenom',$_POST['prenom']);
$req-> bindvalue (':reserve',$_POST['reserve']);
$req-> bindvalue (':arrive','$arrive');
$req-> bindvalue (':depart','$depart');
$req-> bindvalue (':numero',$_POST['numero']);
$req-> bindvalue (':contact',$_POST['contact']);
$var = $req -> execute();
if($var)
{
echo "<br>insertion reussie";
}
else
{
echo "<br>echec";
}

})

et comme resultat de la requete je recois <<echec>> j'arrive pas a voir ou est situer l'erreur
merci de m'apporter une aide svp
A voir également:

2 réponses

jordane45 Messages postés 38323 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 710
25 nov. 2021 à 14:45
Bonjour,

Déjà, quand tu postes du code sur le forum, merci d'utiliser les BALISES DE CODE.
explications ( à lire entièrement !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

Ensuite, vu que tu fais du PDO, pense à activer la gestion des erreurs dans ta connexion et à placer CHAQUE requête dans un bloc TRY/CATCH
(voir exemple ici)
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs


et enfin... tu as deux lignes avant l'accolade de ton if qui ne devraient pas se trouver la
$arrive=date(0);
$depart=date(1);


A mon avis.. il faut les déplacer après l'accolade de ton if ..
if(  isset($_POST['type'])&&
       isset($_POST['nom'])&&
       isset($_POST['prenom'])&&
       isset($_POST['reserve'])&&
       isset($_POST['arrive'])&&
       isset($_POST['depart'])&&
       isset($_POST['numero'])&&
       isset($_POST['contact'])
    )
{

$arrive=date(0);
$depart=date(1);

0
L'instruction conditionnée par le "if" est celle qui suit immédiatement les parenthèses qui encadrent la condition, donc dans ton cas, c'est l'affectation de $arrive.
Les accolades, du coup, ne servent à rien d'autre que t'induire en erreur sur le fonctionnement de ton code.
Pour le reste, effectivement il faut gérer les exceptions, sinon pas la peine d'utiliser PDO.
Ensuite, il y a une fonction magique pour le débogage : var_dump(); ; et puis un fichier capital toujours pour le débogage : le journal d'erreurs apache qui te permettra de savoir en plus à quelle ligne il y a un problème.
-1