Petit pense-bête :
Une petite doc sur comment réinstaller Windows XP, ce que j'ai dû faire pas mal de fois pour de la famille, des amis et collègues.
C'est très simple, commencer son formulaire comme ceci :
<form name="un_nom" action="http://perso0.free.fr/cgi-bin/form2mail.pl" method="post">
Et cela suit à se faire envoyer son formulaire à son adresse Free (et oui, pas une autre).
De son côté, l'internaute va être redirigé vers la page result.html. Si cette page ne convient pas (parce que le site du site est en PHP, par exemple), il suffit de n'y mettre qu'une redirection :
<html>
<head>
</head>
<body>
<META HTTP-EQUIV="REFRESH" CONTENT="0; URL=autre_page.php">
</body>
</html>
Ce qui est important c'est le 0, pour zéro seconde et la page de redirection.
// Repertoire ou se trouvent les images a afficher (le / final est necessaire) : $rep = "images/"; // Fichier de legendes dans le repertoire $rep une ligne par fichier de type : // nom_du_fichier|Legende $f_leg = "comment.txt"; // Taille max a afficher en largeur et hauteur, 0 sans limite : $larg_max = 0; $haut_max = 0; // Repertoire des vignettes (dans le repertoire $rep, le / final est necessaire) : $r_vign = "vign/"; // Repertoire des images reduites (dans le repertoire $rep, le / final est necessaire) : $r_redu = "redu/";Parcours du répertoire images et affichage avec ou sans diaporama (exemple ici) :
<?php
// Style applique aux images :
$style = "style='padding: 3px; background-color: white; margin: 3px;'";
// Traduction des trois lignes de la page :
$traduction["start"] = "Lancer";
$traduction["stop"] = "Arrêter";
$traduction["diapo"] = "le diaporama";
$traduction["prev"] = "Précédent";
$traduction["next"] = "Suivant";
$traduction["first"] = "Début";
$traduction["last"] = "Fin";
$tab = array ();
$tab_nc_img = array ();
$tab_info = array ();
$page = $_SERVER['PHP_SELF'];
$en_plus_url = "";
if (isset($_GET["rep"])) {
$rep = $_GET["rep"];
$en_plus_url .= "&rep=". $rep;
}
$f_leg = $rep . $f_leg;
$r_vign = $rep . $r_vign;
if (is_dir($rep)) {
// Lecture du repertoire d'images, recuperation du nom des fichiers
$nb_img = 0;
$dir = opendir($rep);
while ($f = readdir($dir)) {
$fichier = $rep . $f;
//if (is_file($fichier) && (! ereg($f, $page))) {
if (is_file($fichier) && ($fichier != $f_leg) && getimagesize($fichier)) {
$tab[$nb_img] = $f;
$nb_img++;
}
}
closedir($dir);
sort($tab);
foreach ($tab as $clef => $valeur) {
// Si il y a des images reduites, on les preferera aux originales
$fichier = $rep . $valeur;
if (is_file($rep . $r_redu . $valeur)) { $fichier = $rep . $r_redu . $valeur; }
if ($t = getimagesize($fichier)) {
$tab_nc_img[$clef] = $fichier;
$tab_info[$clef] = $t;
}
}
}
// Est-ce qu'on affiche un index plutôt que le diapo ?
if (isset($_GET["index"]) && $_GET["index"] == 1) {
// L'index !
echo("<a href='?diapo=1". $en_plus_url ."'>". $traduction["start"] ."</a> ". $traduction["diapo"] ."<br />");
if (is_dir($r_vign)) {
// Lecture du fichier de legendes s'il existe
$legende = array();
if (is_file($f_leg) && ($t = file($f_leg))) {
foreach ($t as $ligne) {
list($fic, $leg) = explode("|", $ligne);
$legende[$fic] = $leg;
}
}
// Lecture du repertoire d'images, recuperation du nom des fichiers
$dir = opendir($r_vign);
$tab_temp = array();
while ($f = readdir($dir)) {
if (is_file($r_vign . $f) && ($t = getimagesize($r_vign . $f))) {
$tab_temp[] = $f;
}
}
closedir($dir);
sort($tab_temp);
foreach ($tab_temp as $f) {
$i = array_search($f, $tab);
if (is_numeric($i)) {
// Si c'est une image du tableau d'images, on l'affiche
echo("<a href='?img=$i&diapo=0". $en_plus_url ."'><img src='". $r_vign . $f ."' alt='". $legende[$f] ."' title='". $legende[$f] ."' $style /></a> ");
}
}
}
}
else {
// Recuperation des parametres (initialisation et verification)
$diapo = 1;
if (isset($_GET["diapo"]) && $_GET["diapo"] == 0) { $diapo = 0; }
$nb_sec = 5;
if (isset($_GET["nb_sec"]) && is_numeric($_GET["nb_sec"])) {
$nb_sec = $_GET["nb_sec"];
$en_plus_url .= "&nb_sec=". $nb_sec;
}
$img = 0;
if (isset($_GET["img"]) && is_numeric($_GET["img"])) { $img = $_GET["img"]; }
if ($img > 0) { $img_prec = $img - 1; }
else { $img_prec = $nb_img - 1; }
if ($img < ($nb_img - 1)) { $img_suiv = $img + 1; }
else { $img_suiv = 0; }
echo("<a href='?index=1". $en_plus_url ."'>Index</a> - ");
echo("<a href='?img=$img". $en_plus_url ."&diapo=");
if ($diapo == 1) { echo("0'>". $traduction["stop"]); }
if ($diapo == 0) { echo("1'>". $traduction["start"]); }
echo("</a> ". $traduction["diapo"] ."<br />");
// Lecture du fichier de legendes s'il existe
$legende = $tab[$img];
if (is_file($f_leg) && ($t = file($f_leg))) {
$ok = 0;
$i = count($t) - 1;
while ((! $ok ) && ($i >= 0)) {
list($nom, $leg) = explode("|", $t[$i]);
if ($nom == $tab[$img]) { $legende = $leg; }
$i--;
}
}
// Controle de la taille de l'image :
$largeur = $tab_info[$img][0];
$hauteur = $tab_info[$img][1];
if ($larg_max && ($largeur > $larg_max)) {
// Image trop large, il faut l'afficher plus petit
$rapport = $larg_max / $largeur;
$largeur = $larg_max;
$hauteur = round($rapport * $hauteur);
}
if ($haut_max && ($hauteur > $haut_max)) {
// Image trop longue, il faut l'afficher plus petit
$rapport = $haut_max / $hauteur;
$hauteur = $haut_max;
$largeur = round($rapport * $largeur);
}
$attr = "width='$largeur' height='$hauteur'";
// Affichage
echo("<div style='text-align: center;'>");
$param = "diapo=$diapo". $en_plus_url;
$navigation = "<p><a href='?img=0&$param' title='". $traduction["first"] ."'><<</a> <a href='?$param&img=".
$img_prec ."' title='". $traduction["prev"] ."'><b><</b></a> ". $legende .
" (". ($img + 1) ."/$nb_img) <a href='?$param&img=". $img_suiv .
"' title='". $traduction["next"] ."'><b>></b></a> <a href='?img=". ($nb_img - 1) ."&$param' title='". $traduction["last"] ."'>>></a></p>";
echo($navigation);
echo("<p><a href='". $rep . $tab[$img] ."'><img src='". $tab_nc_img[$img] ."' alt='$legende' title='$legende' $attr $style /></a></p>");
echo($navigation ."</div>");
if ($diapo) {
echo('<meta http-equiv="REFRESH" content="'. $nb_sec .'; url='. $page .'?'. $param .'&img='. $img_suiv .'" />');
}
}
?>