par
leroimarco » 09 avr. 2006, 09:44
Re bonjour,
En même temps que je mets [RESOLU], je poste le script qui fonctionne. Il était donc de bon ton d'utiliser serialize() et unserialize() (merci Cyrano) en lieu et place de implode() et explode(). Par contre, pour que la chaine de caractère soit correctement transmises dans le $_POST, il convient d'utiliser la fonction htmlspecialchars() pour échapper les guillemets. Voilà donc le script pour ceux que ça intéresse. Je rappelle que mon objectif est de créer des fonctions de création et de validation de formulaire un poil automatisées.
<?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
Re bonjour,
En même temps que je mets [RESOLU], je poste le script qui fonctionne. Il était donc de bon ton d'utiliser serialize() et unserialize() (merci Cyrano) en lieu et place de implode() et explode(). Par contre, pour que la chaine de caractère soit correctement transmises dans le $_POST, il convient d'utiliser la fonction htmlspecialchars() pour échapper les guillemets. Voilà donc le script pour ceux que ça intéresse. Je rappelle que mon objectif est de créer des fonctions de création et de validation de formulaire un poil automatisées.
[php]
<?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>
[/php]
Bon dimanche à tous