Ajouter chekbox dans un formulaire
BillyBB
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour,
je m'entraîne en tant que jeune développeur à faire des petites choses et la en ce moment j'essaye de faire une gestion client. Malheureusement pour ajouter client je viens de rajouter 2 chekbox (impaye et actuDPO) et par rapport à ce que j'ai écris, l'ajout client fonctionne seulement si mes 2 boutons sont cochés :/ J'aimerai donc savoir exactement quoi écrire par rapport àmes 2 chekbox, sinon tout le reste fonctionne niquel.
Voici mon AjoutReq.php qui permet de coder mon ajout des clients :
et voici mes lignes de codes en html avec les deux chekbox :
Si quelqu'un pourrait m'aider ce serais vraiment cool merci ahah :)
je m'entraîne en tant que jeune développeur à faire des petites choses et la en ce moment j'essaye de faire une gestion client. Malheureusement pour ajouter client je viens de rajouter 2 chekbox (impaye et actuDPO) et par rapport à ce que j'ai écris, l'ajout client fonctionne seulement si mes 2 boutons sont cochés :/ J'aimerai donc savoir exactement quoi écrire par rapport àmes 2 chekbox, sinon tout le reste fonctionne niquel.
Voici mon AjoutReq.php qui permet de coder mon ajout des clients :
<?php
include('pdo.php');
$stmt = $pdo->prepare('SELECT * from clients WHERE codeClient = :codeClient');
$stmt->bindValue(':codeClient', $_POST['codeClient'], PDO::PARAM_STR);
$stmt->execute();
$userExist=$stmt->fetch();
if(empty($userExist))
{
$req = $pdo->prepare("
INSERT INTO clients(codeClient,numCompte,typeClient,statut,nom,adresse1,adresse2,codePostal,ville,pays,numTelephone,numPortable,numAutre,numAutre2,mail,mail2,distanceKM,infosDivers,impaye, actuDPO,dateCreation)
VALUES (:codeClient,:numCompte,:typeClient,:statut,:nom,:adresse1,:adresse2,:codePostal,:ville,:pays,:numTelephone,:numPortable,:numAutre,:numAutre2,:mail,:mail2,:distanceKM,:infosDivers,:impaye,:actuDPO,:dateCreation)",
array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$req->execute(
array(
':codeClient'=>strtoupper($_POST['codeClient']),
':numCompte'=>$_POST['numCompte'],
':typeClient'=>$_POST['typeClient'],
':statut'=>$_POST['statut'],
':nom'=>strtoupper($_POST['nom']),
':adresse1'=>strtoupper($_POST['adresse1']),
':adresse2'=>strtoupper($_POST['adresse2']),
':codePostal'=>$_POST['codePostal'],
':ville'=>strtoupper($_POST['ville']),
':pays'=>strtoupper($_POST['pays']),
':numTelephone'=>$_POST['numTelephone'],
':numPortable'=>$_POST['numPortable'],
':numAutre'=>$_POST['numAutre'],
':numAutre2'=>$_POST['numAutre2'],
':mail'=>$_POST['mail'],
':mail2'=>$_POST['mail2'],
':distanceKM'=>$_POST['distanceKM'],
':infosDivers'=>$_POST['infosDivers'],
':impaye'=>$_POST['impaye'],
':actuDPO'=>$_POST['actuDPO'],
':dateCreation'=>date('y-m-d'),
));
$req->closeCursor();
header('Location:clientList.php');
}
else
{
header('Location:ajouterClient.php?error=codeclient');
}
?>
et voici mes lignes de codes en html avec les deux chekbox :
<div class="form-group col-md-2" style="text-align:center">
<label for="impaye">Impayé</label><br>
<input style="width: 50%; height: 1.7em;" type="checkbox" name="impaye" value="oui" id="impaye" <?php if($client["impaye"] == "oui"){ ?>checked<?php } ?>>
</div>
<div class="form-group col-md-2" style="text-align:center">
<label for="actuDPO">Actu DPO</label><br>
<input style="width: 50%; height: 1.7em;" type="checkbox" name="actuDPO" value="oui" id="actuDPO" <?php if($client["actuDPO"] == "oui"){ ?>checked<?php } ?>>
</div>
Si quelqu'un pourrait m'aider ce serais vraiment cool merci ahah :)
A voir également:
- Ajouter chekbox dans un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Ajouter un profil netflix payant - Accueil - Guide streaming
- Formulaire de reclamation instagram - Guide
- Impossible d'ajouter un ami sur facebook - Guide
1 réponse
Bonjour,
Quelques conseils à lire ( et à appliquer )
- https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et
- https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
par exemple,
pour ta première requête
Il serait préférable d'écrire
( code à reproduire pour ta seconde requête (et tes futurs codes... )
Quelques conseils à lire ( et à appliquer )
- https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et
- https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
par exemple,
pour ta première requête
$stmt = $pdo->prepare('SELECT * from clients WHERE codeClient = :codeClient');
$stmt->bindValue(':codeClient', $_POST['codeClient'], PDO::PARAM_STR);
$stmt->execute();
$userExist=$stmt->fetch();
Il serait préférable d'écrire
//récupération PROPRE des variables AVANT de les utiliser
$codeClient = !empty($_POST['codeClient']) ? $_POST['codeClient'] : NULL;
if($codeClient ){
//préparation de la requête
$sql = 'SELECT * from clients WHERE codeClient = :codeClient';
//exécution de la requête dans un bloc TRY/CATCH pour voir les éventuelles erreurs..
try{
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':codeClient', $codeClient , PDO::PARAM_STR);
$stmt->execute();
$userExist=$stmt->fetch();
}catch(Exception $e){
echo "Erreur " . $e->getMessage();
}
}
( code à reproduire pour ta seconde requête (et tes futurs codes... )
Mais je ne comprend pas en quoi la gestion des erreurs pourrait m'aider par rapport à mon problème :/ et tu me dis qu'il est préférable d'écrire ma requête comme tu me l'as présenter ci dessus et j'en tiendrais compte pour mes futurs requête merci :) mais je pense que actuellement si je change ma requête par la tienne, ça sera la même chose et j'aurais le même problème que maintenant :/
( tu as certainement mis, dans ta bdd, le fait que tu n'autorisais pas une valeur NULL sur un de tes champs.... )
Moi je ne t'ai donné qu'un exemple ... à toi de modifier les autres...