desperado007 | je souhaite créer une fonction php permettant de gérer dynamiquement la récupération des dnnées entrées dans un formulaire.
En effet, j'ai tellement de champ à récupérer et à convertir que le code est très long, je veux donc le simplifier grace à une foncion
pour le moment, je récupère dans traitement_form_bd.php ainsi:
Code :
- //on recupère les données du formulaires en testant si elles existent bien
- //htmlspecialchars permet de convertir les " \ " et " ' " et autres caractères spéciaux pour l'insertion dans la BDD
- if (isset($_POST['codeing'])) $_codeing=htmlspecialchars($_POST['codeing'],ENT_QUOTES); else $_codeing='';
- if (isset($_POST['date'])) $_date=htmlspecialchars($_POST['date'],ENT_QUOTES); else $_date='';
- if (isset($_POST['emetteur'])) $_emetteur=htmlspecialchars($_POST['emetteur'],ENT_QUOTES); else $_emetteur='';
- if (isset($_POST['obl'])) $_obl=htmlspecialchars($_POST['obl'],ENT_QUOTES); else $_obl='';
- if (isset($_POST['sbl'])) $_sbl=htmlspecialchars($_POST['sbl'],ENT_QUOTES); else $_sbl='';
- if (isset($_POST['nom'])) $_nom=htmlspecialchars($_POST['nom'],ENT_QUOTES); else $_nom='';
- if (isset($_POST['prenom'])) $_prenom=htmlspecialchars($_POST['prenom'],ENT_QUOTES); else $_prenom='';
- if (isset($_POST['checkbox_demission'])) $_checkbox_demission=htmlspecialchars($_POST['checkbox_demission'],ENT_QUOTES); else $_checkbox_demission='';
- if (isset($_POST['checkbox_depart_periode_essai'])) $_checkbox_depart_periode_essai=htmlspecialchars($_POST['checkbox_depart_periode_essai'],ENT_QUOTES); else $_checkbox_depart_periode_essai='';
- if (isset($_POST['checkbox_depart_unilog'])) $_checkbox_depart_unilog=htmlspecialchars($_POST['checkbox_depart_unilog'],ENT_QUOTES); else $_checkbox_depart_unilog='';
- if (isset($_POST['checkbox_depart_salarie'])) $_checkbox_depart_salarie=htmlspecialchars($_POST['checkbox_depart_salarie'],ENT_QUOTES); else $_checkbox_depart_salarie='';
- if (isset($_POST['checkbox_licenciement'])) $_checkbox_licenciement=htmlspecialchars($_POST['checkbox_licenciement'],ENT_QUOTES); else $_checkbox_licenciement='';
- if (isset($_POST['checkbox_cause_reelle'])) $_checkbox_cause_reelle=htmlspecialchars($_POST['checkbox_cause_reelle'],ENT_QUOTES); else $_checkbox_cause_reelle='';
- if (isset($_POST['checkbox_faute_grave'])) $_checkbox_faute_grave=htmlspecialchars($_POST['checkbox_faute_grave'],ENT_QUOTES); else $_checkbox_faute_grave='';
- if (isset($_POST['checkbox_faute_lourde'])) $_checkbox_faute_lourde=htmlspecialchars($_POST['checkbox_faute_lourde'],ENT_QUOTES); else $_checkbox_faute_lourde='';
- if (isset($_POST['checkbox_fin_cdd'])) $_checkbox_fin_cdd=htmlspecialchars($_POST['checkbox_fin_cdd'],ENT_QUOTES); else $_checkbox_fin_cdd='';
- if (isset($_POST['checkbox_depart_retraite'])) $_checkbox_depart_retraite=htmlspecialchars($_POST['checkbox_depart_retraite'],ENT_QUOTES); else $_checkbox_depart_retraite='';
- if (isset($_POST['checkbox_retraite_unilog'])) $_checkbox_retraite_unilog=htmlspecialchars($_POST['checkbox_retraite_unilog'],ENT_QUOTES); else $_checkbox_retraite_unilog='';
- if (isset($_POST['checkbox_retraite_salarie'])) $_checkbox_retraite_salarie=htmlspecialchars($_POST['checkbox_retraite_salarie'],ENT_QUOTES); else $_checkbox_retraite_salarie='';
- if (isset($_POST['checkbox_autres'])) $_checkbox_autres=htmlspecialchars($_POST['checkbox_autres'],ENT_QUOTES); else $_checkbox_autres='';
|
Je bute sur la fonction dont voici le code:
Code :
- function isset2($string)
- {
- $a= '\''.$string.'\'';
- echo $a; //test
- echo '<br>';
- echo '$_'.$string; //test
- if (isset($_POST[$a])) '$_'.$string=htmlspecialchars($_POST[$a],ENT_QUOTES); else '$_'.$string='';
- // if (isset($_POST['codeing'])) $_codeing=htmlspecialchars($_POST['codeing'],ENT_QUOTES); else $_codeing='';
- }
|
Dans traitement_form_bd.php, à l'appel de la fonction avec pour parametre 'codeing':
isset2('codeing'); censée cette ligne que j'ai commentée:
if (isset($_POST['codeing'])) $_codeing=htmlspecialchars($_POST['codeing'],ENT_QUOTES); else $_codeing='';
je reçois l'erreur
Code :
- Notice: Undefined variable: _codeing in c:\test\departs\bd\traitement_form_bd.php on line 60
|
àa la ligne 60 il y a ma requête d'insertion:
Code :
- $query =
- "INSERT INTO formulaire_bd (codeing, date, emetteur, obl, sbl, nom, prenom, checkbox_demission, checkbox_depart_periode_essai,
- checkbox_depart_unilog, checkbox_depart_salarie, checkbox_licenciement, checkbox_cause_reelle, checkbox_faute_grave,
- checkbox_faute_lourde, checkbox_fin_cdd, checkbox_depart_retraite, checkbox_retraite_unilog, checkbox_retraite_salarie,
- checkbox_autres) VALUES (
- '$_codeing',
- '$_date',
- '$_emetteur', '$_obl', '$_sbl', '$_nom',
- '$_prenom',
- '$_checkbox_demission',
- '$_checkbox_depart_periode_essai',
- '$_checkbox_depart_unilog',
- '$_checkbox_depart_salarie',
- '$_checkbox_licenciement',
- '$_checkbox_cause_reelle',
- '$_checkbox_faute_grave',
- '$_checkbox_faute_lourde',
- '$_checkbox_fin_cdd',
- '$_checkbox_depart_retraite',
- '$_checkbox_retraite_unilog',
- '$_checkbox_retraite_salarie',
- '$_checkbox_autres')";
|
J'éspère avoir été suffisemment clair,
merci d'avance. |