Voici « cadavre délicieux » version miniature.
Il s’agit d’un script de cadavre exquis permettant de générer simplement des descriptions uniques pour vos inscriptions dans les annuaires.
-
-
-
<?php
-
//avant tout, pour sécuriser
-
foreach($_GET as $key => $value){
-
$_GET[$key]=$value;
-
${$key}=$value;
-
}
-
-
foreach($_POST as $key => $value){
-
$_POST[$key]=$value;
-
${$key}=$value;
-
}
-
//définition de fonctions
-
function creuse($tableaux,$ligne){
-
-
$suite=$tableaux;
-
$criteres=$GLOBALS[$tableaux[0]];
-
-
foreach($criteres as $crit){
-
else creuse($suite, $ligne.‘ ‘.$crit);
-
}
-
}
-
-
//définition de variables
-
$nb = $_GET[‘nb’];
-
$vide= »;
-
-
{
-
$nb_champs = $_POST[‘nb_champs’];
-
-
for($i=1;$i<=$nb_champs;$i++)
-
{
-
$champ = "champ".$i;
-
$TableauDesTableaux[]=$champ;
-
-
//crée l’array des url
-
-
//explode les champs par le retour à la ligne
-
foreach ($tableau_champ as $value) {
-
if(!in_array($value, ${$champ})&&count(${$champ})<6) //si l’url n’est pas déjà dans le tableau des URL
-
{
-
${$champ}[]=$value;
-
}
-
}
-
-
} // sinon c’est que le champ est vide
-
}
-
-
creuse($TableauDesTableaux,$vide);
-
}
-
-
-
?>
-
<select name="nb" onchange=‘location=this.options[this.selectedIndex].value’>
-
<option>Selectionner un nombre de morceaux</option>
-
<option value="creusep.php?nb=2">2</option>
-
<option value="creusep.php?nb=3">3</option>
-
<option value="creusep.php?nb=4">4</option>
-
<option value="creusep.php?nb=5">5</option>
-
</select>
-
<?php } else { ?>
-
<p>Attention :</p>
-
<li>Pas d‘espace avant, pas d’espace après,</li>
-
<li>Pas de ligne vide,</li>
-
<li>N‘oubliez pas la ponctuation à la dernière phrase.</li>
-
<li>Le script de démo est limité à 5 entrées différentes par morceau.</li>
-
-
-
<form method="post" action="creusep.php">
-
<?php
-
for($i=1;$i<=$nb;$i++)
-
{
-
echo ‘<textarea name="champ’.$i.’" rows="10"></textarea>
-
‘;
-
}
-
?>
-
-
-
<input type="hidden" value="<?php echo $nb; ?>" name="nb_champs" />
-
<input type="submit" class="submit" />
-
</form><?php } ?>
-
-
-
Edit : Voici la démo du script en direct, limité à 5 possibilités par morceau.
{ 5 comments }