Merci à vous du coup de paluche !
Je vais potasser tout ça. Bonne fin de soirée à vous et bon week end
<?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='';
// Début du script
$action=(isset($_POST['envoi']))?$_POST['envoi'] : Null;
if($action) {
if(isset($_POST['table'])) {
$tableau = unserialize($_POST['table']);
var_dump($tableau);
}
}
?>
<html>
<head>
</head><body>
<?php
FormCreate('css', 'formulaire3.php', 'Formulaire');
FormInput('Age du capitaine : ', 'age_capitaine', '50', '10', 0);
FormInput('Adresse : ', 'adresse', '30', '10', 1);
FormInput('Ton salaire : ', 'salaire', '50', '10', 0);
var_dump($tableau);
$tab_serial = serialize($tableau);
?>
<input type="hidden" name="table" value="<?php echo htmlspecialchars($tab_serial); ?>">
<?
FormSubmit('envoi', 'Valider');
FormEnd();
?>
</body>
</html>
Bon dimanche à tous
Tu n'as pas d'attribut "name" dans la balise <input> l'id n'est pas suffisant.Alors, j'ai momentanément retiré le tag résolu pour 2 petits problèmes. Le premier est gênant dans le fait que désormais, quand le formulaire est validé, le formulaire n'est plus rempli avec les éléments déjà saisis par l'utilisateur![]()
La tu dois rajouter un paramètre dans la fonction FormInput() pour préciser le type puis l'inclure également dans le tableau, dans ce style:Le second est plus une interrogation. Au moment de traiter les champs après validation du formulaire, le traitement va se faire en fonction du type de champ (input, checkbox, radio button, etc...). Comment ajouter ce paramètre dans le tableau principal nommé $tableau ???
FormInput ($label, $name, $size, $maxlenght, $needed,$type)
$tableau[$name] = $needed.'.'.$type;
sinon tu as aussi les sessions pour passer ce contenu