Pb récupération tableau de variable : ça veut pas !
Posté : 08 avr. 2006, 21:04
Bonsoir à tous,
Bon, je vous soumets mon script pour un petit problème dé récupération de tableau avec $_POST. En fait, j'aimerais, lorsque le formulaire a été validé, faire réafficher, non pas le contenu des champs, mais le nom des champs contenus dans le formulaire et qui sont enregistrés dans le tableau nommé $tableau.
Le but de tout ça est de créer des fonctions de création de formulaire et que la récupération des champs et le test des valeurs soit un maximum automatisé. La partie après la vérif de validation de formulaire est encore peu développée, c'est normal. Pour l'instant, je veux juste afficher le contenu de mon tableau passé dans la superglobale.
Ce qui cloche pour le moment est que avant la validation du formulaire, mon tableau affiche bien les noms des champs créés mais après la validation, je n'ai pas les infos dans le tableau (variable $tt). Qu'est-ce que j'ai mal fait ???
Voici le code, volontairement épuré :
Bonne soirée à tous et bon week end.
JM
Bon, je vous soumets mon script pour un petit problème dé récupération de tableau avec $_POST. En fait, j'aimerais, lorsque le formulaire a été validé, faire réafficher, non pas le contenu des champs, mais le nom des champs contenus dans le formulaire et qui sont enregistrés dans le tableau nommé $tableau.
Le but de tout ça est de créer des fonctions de création de formulaire et que la récupération des champs et le test des valeurs soit un maximum automatisé. La partie après la vérif de validation de formulaire est encore peu développée, c'est normal. Pour l'instant, je veux juste afficher le contenu de mon tableau passé dans la superglobale.
Ce qui cloche pour le moment est que avant la validation du formulaire, mon tableau affiche bien les noms des champs créés mais après la validation, je n'ai pas les infos dans le tableau (variable $tt). Qu'est-ce que j'ai mal fait ???
Voici le code, volontairement épuré :
<?php
function FormCreate($class, $action, $formname='Form', $method='POST', $encryption='') {
echo '<form method="' . $method . '" action="' . $action . '" name="' . $formname . '" class="' . $class . '">' . "\n";
}
function FormEnd() {
echo '</form>';
}
function FormInput ($label, $name, $size, $maxlenght, $needed) {
global $tableau;
$tableau[$name] = $needed;
$result_forminput = '<label for="' . $name . '">' . $label . '</label>' . "\n" . '<input type="text" id="' . $name;
$result_forminput .= '" value="';
$result_forminput .= isset($_POST['$name'])?$_POST['$name']:NULL;
$result_forminput .= '" size="' . $size . '" maxlenght="' . $maxlenght . '" />';
$result_forminput .= ($needed=='1')?"*":NULL;
$result_forminput .= "\n";
echo $result_forminput;
}
function FormSubmit($namesubmit, $labelsubmit) {
$result_formsubmit = '<input type="submit" class="checkform" ';
$result_formsubmit .= 'name="' . $namesubmit . '" value="' . $labelsubmit . '" />';
echo $result_formsubmit;
}
?>
<? ////////////////// FIN DE DESCRIPTION DES FONCTIONS //////////////////////////// ?>
<?
$tableau='';
$action=(isset($_POST['envoi']))?$_POST['envoi'] : Null;
if($action) {
if(isset($_POST['table'])) {
$tt = explode('-', $_POST['table']);
var_dump($tt);
print_r($tt);
}
}
?>
<html>
<head>
</head><body>
<?php
FormCreate('css', 'formulaire2.php', 'Formulaire');
FormInput('Age du capitaine : ', 'age_capitaine', '50', '10', 0);
FormInput('Adresse : ', 'adresse', '30', '10', 1);
FormInput('Salaire : ', 'salaire', '50', '10', 0);
var_dump($tableau);
?>
<input type="hidden" name="table" value="<?php echo (implode('-', $tableau)); ?>">
<?
FormSubmit('envoi', 'Valider');
FormEnd();
?>
</body>
</html>
Merci d'avance de vos idées ou suggestions pour résoudre ce problème.Bonne soirée à tous et bon week end.
JM