Le blog de syeric

MyPlanet v0.3 beta2

Nouvelle version pour correction de bug

Lire la suite

MyPlanet : Nouvelle version v0.3 alpha1 enfin...

Je suis heureux de vous annoncer la sortie d'une nouvelle version de MyPlanet !

Lire la suite

Utiliser Google Maps pour son site de manière simple

Vous êtes allergique à javascript ? Un tour dans la doc de Google Maps vous a découragé ? Vous n'avez rien contre php ? Alors ce billet est pour vous !

Lire la suite

Mini-planet devient MyPlanet et donne de ses nouvelles :)

Déjà, désolé pour mon silence sur le sujet... Mais MyPlanet est loin d'être inactif ! Je vais vous expliquer un peu ce que je fais actuellement...

Lire la suite

Mini-Planet : une nouvelle alpha

Bonjour à tous ! C'est avec plaisir que je vous présente l'alpha3 de mini-planet v0.2. En voici le programme...

Lire la suite

Mini-planet v0.2 alpha1

Voici une nouvelle version du mini-planet. Je vais d'ailleurs peut être le renommer en "my planet", car finalement, ce n'est pas un planet au sens strict du terme mais plutôt un agrégateur permettant de partager Sa Planète sur le net.

Lire la suite

Un "mini planet"

Petit développement pour un "mini planet"

Lire la suite

Convertir les guillemets d'un formulaire

Salut

Petite fonction php que tout le monde connait sauf moi.

Lire la suite

Charset charset...

Bonjour !

Alors je vous l'annonce : je suis un nul en php :D C'est donc tout naturellement que j'ai proposé au BDE de mon école de leur faire un site digne de ce nom. On me dit alors : ce serait sympa d'avoir les dernières nouvelles en page d'accueil ! Bon, OK, mon camarade le capitaine Tsly sait faire ! Il me donne donc le tip pour afficher un flux rss. Clubic nous donne la solution ici.

Bon, alors je commence tranquille à insérer ça dans mon php. Tout va bien jusqu'au moment où j'affiche. Là les caractères accentués sont transformés en affreux points d'interrogation. Je tergiverse, plonge même dans ma config d'apache pour voir. Mais rien :( J'essaye avec différents flux pour voir si ce n'est pas une rébellion anti unicode mais non...

Alors comme en maths, quand ça ne va plus, il faut revenir à la définition. En php, elle est plutôt consistante, c'est le site php.net :D Et là je tombe sur la fonction magique :

[php]



Et... Yahooooo ! Ca marche ! Alors oui, je sais, je suis nul, mais bon, j'essaye de m'améliorer petit à petit :D

A +

Sylvain

Script upload d'image pour phpbb et wiki

Satut !

Mon camarade de linuxpourlesnuls llooll et moi même avons développé un script qui permet d'uploader une image et d'en générer une miniature, un peu à la manière de rockhosting par exemple. Nous avons fait une version pour phpbb, qui va donner en retour le BBcode à insérer dans un post, et une version wiki (dokuwiki, je sais pas si la syntaxe est la même sur tous les systèmes de wiki) qui permet en plus de choisir la mise en page.

Pour le mettre en place, je vous recommande d'utiliser un ftp différent de votre forum. En effet laisser un moyen d'entrée est toujours délicat. Donc sur ce ftp, free par exemple, il faut créer deux répertoires à la racine, pics et minis, qui vont contenir respectivement les images de taille originale et les miniatures. Il faut ensuite mettre le script ci-dessous, par exemple upload.php, à la racine. Certains champs sont à changer pour votre site ;-) En l'état, seuls png et jpeg sont acceptés. Mais accepter des gifs est facile, je vous laisse le faire ;-) Pour une meilleure lisibilité du code, faites un copier / coller dans un fichier ;-) Une remarque, php n'est pas sensible à l'indentation mais je l'ai fait pour que ce soit plus facile à lire et à déboguer ;-)

[php]
<?php
//Création de la fonction str_split si PHP < 5
if (!function_exists("str_split")) 
{
	function str_split($str,$length = 1) 
	{
		if ($length < 1) return false;
		$strlen = strlen($str);
		$ret = array();
		for ($i = 0; $i < $strlen; $i += $length) 
		{
			$ret[] = substr($str,$i,$length);
		}
	return $ret;
	}
} 
//Récupération du chemin actuel
$pos=strrpos($_SERVER['REQUEST_URI'],"/");
$chemin="http://".$_SERVER['HTTP_HOST'].substr($_SERVER['REQUEST_URI'],0,$pos)."/";
// on défini le répertoire où sont stockées les images de grande taille
$dir = 'pics';
// on défini le répertoire où seront stockées les miniatures
$dir_mini = 'minis';
// on défini une variable $ratio qui vaudra 150 dans notre cas (150 pixels). En fait, pour nos miniatures, nous allons respecter le ratio de l'image originale, mais nous allons forcer sa taille à 150 pixels, soit en hauteur soit en largeur (tout dépend de l'orientation de notre image : paysage ou portrait).
$ratio = 150;
$liste = "abcdefghijklmnopqrstuvwxyz0123456789";
$liste=str_split($liste);
// on teste si le formulaire permettant d'uploader un fichier a été soumis
if (isset($_POST['ok'])==1) 
{
    // on teste si le champ permettant de soumettre un fichier est vide ou non
	if (empty($_FILES['image']['tmp_name'])) 
	{
        // si oui, on affiche un petit message d'erreur
		$erreur = 'Aucun fichier envoyé.';
	}
	else 
	{
		$NomImage = "";
		while(strlen($NomImage) != 8)
		{
			$NomImage .= $liste[rand(0,35)];
		}
		$file_upload=$NomImage;
		// on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier (je vous suggère de regarder la documentation de la fonction getimagesize pour de plus amples informations)
		$tableau = @getimagesize($_FILES['image']['tmp_name']);
		if ($tableau == FALSE) 
		{
            // si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur
			unlink($_FILES['image']['tmp_name']);
			$erreur = 'Votre fichier n\'est pas une image.';
		}
		else 
		{
			$extension_fichier = array_pop(explode(".", $_FILES['image']['name']));
			$file_upload.=".".$extension_fichier;
			// on teste le type de notre image : jpeg ou png
			if ($tableau[2] == 2 || $tableau[2] == 3) 
			{
			// si on a déjà un fichier qui porte le même nom que le fichier que l'on tente d'uploader, on modifie le nom du fichier que l'on upload
			if (is_file('pics/'.$file_upload)) $file_upload = '_'.$file_upload;
			// on copie le fichier que l'on vient d'uploader dans le répertoire des images de grande taille
				copy ($_FILES['image']['tmp_name'], $dir.'/'.$file_upload);
			// il nous reste maintenant à générer la miniature
			//on regarde si les dimensions sont pas inférieures a 150 pixels
		if (($tableau[0] < $ratio) && ($tableau[1] < $ratio))
		{
		//si c'est le cas, ben on copie aussi le fichier dans minis
			copy ($_FILES['image']['tmp_name'], $dir_mini.'/'.$file_upload);
		}
		else
		{
			if(($tableau[0] < $ratio) && ($tableau[1] > $ratio))
			{
				//si l'une des dimensions est inferieure au ratio
				if ($tableau[2] == 2) // si notre image est de type jpeg
				{
					$src = imagecreatefromjpeg($dir.'/'.$file_upload);
					$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
					imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
					imagejpeg ($im, $dir_mini.'/'.$file_upload);
				}
				elseif ($tableau[2] == 3) 
				{
					$src = imagecreatefrompng($dir.'/'.$file_upload);
					$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
					imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
					imagepng ($im, $dir_mini.'/'.$file_upload);
				}
			
			}
			elseif(($tableau[0] > $ratio) && ($tableau[1] < $ratio))
			{
				if ($tableau[2] == 2) // si notre image est de type jpeg
				{
					$src = imagecreatefromjpeg($dir.'/'.$file_upload);
					$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
					imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
					imagejpeg ($im, $dir_mini.'/'.$file_upload);
				}
				elseif ($tableau[2] == 3) 
				{
					$src = imagecreatefrompng($dir.'/'.$file_upload);
					$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
					imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
					imagepng ($im, $dir_mini.'/'.$file_upload);
				}
			}
			else
			{
				if ($tableau[2] == 2) 
				{
					// on crée une image à partir de notre grande image à l'aide de la librairie GD
					$src = imagecreatefromjpeg($dir.'/'.$file_upload);
					// on teste si notre image est de type paysage ou portrait
					if ($tableau[0] > $tableau[1]) 
					{
						$im = imagecreatetruecolor($ratio,round(($ratio*$tableau[1])/$tableau[0]));
						imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round(($ratio/$tableau[0])*$tableau[1]), $tableau[0], $tableau[1]);
					}
					else 
					{
						$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]),$ratio);
						imagecopyresampled($im, $src, 0, 0, 0, 0, round($tableau[0]*($ratio/$tableau[1])), $ratio, $tableau[0], $tableau[1]);
					}
					// on copie notre fichier généré dans le répertoire des miniatures
					imagejpeg ($im, $dir_mini.'/'.$file_upload);
				}
				elseif ($tableau[2] == 3) 
				{
					$src = imagecreatefrompng($dir.'/'.$file_upload);
					if ($tableau[0] > $tableau[1]) 
					{
						$im = imagecreatetruecolor($ratio,round(($ratio*$tableau[1])/$tableau[0]));
						imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round(($ratio/$tableau[0])*$tableau[1]), $tableau[0], $tableau[1]);
					}
					else 
					{
						$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]),$ratio);
						imagecopyresampled($im, $src, 0, 0, 0, 0, round($tableau[0]*($ratio/$tableau[1])), $ratio, $tableau[0], $tableau[1]);
					}
					imagepng ($im, $dir_mini.'/'.$file_upload);
				}
			}
		}
                // on redirige l'administrateur vers l'accueil de la partie admin
                //header('location: index.php');
		//Génération du BBCode
		echo "<img src=\"url de votre logo\" width=\"781\" height=\"67\"><br><br><form name=\"up\"><input type=\"textarea\" name=\"txt2paste\" value=\"[url=".$chemin.$dir."/".$file_upload."][img]".$chemin.$dir_mini."/".$file_upload."[/img][/url]\" readlony size=\"100\"></form><input type=\"button\" onclick=\"javascript:document.up.txt2paste.select();\"
style=\"font-family: Arial,Verdana,Helvetica;font-size: 11px; color:#330033 ;font-weight:bold;\"
value=\"Tout s&eacute;lectionner\"><br><br>Apr&egrave;s avoir tout s&eacute;lectionn&eacute;, n'oubliez pas de copier ! Puis collez le dans la fen&ecirc;tre de postage</font></p><br><br><br><br><br><br><input type=\"button\" value=\"Fermer la fen&ecirc;tre\" onclick=\"window.close()\" />";
                exit();
	}
	else 
	{
                // si notre image n'est pas de type jpeg ou png, on supprime le fichier uploadé et on affiche un petit message d'erreur
                unlink($_FILES['image']['tmp_name']);
                $erreur = 'Votre image est d\'un format non supporté.';
	}
}  
}
}
?>
<form method="post" enctype="multipart/form-data" target="_self">
<img style="width: 781px; height: 67px;" alt="logo" src="url de votre logo"><br>
<br>Bienvenue sur l'applet d'upload d'image de votre site !<br>
<br>Choisissez votre image (Attention, format jpeg ou png)<br>
<br>Envoyez puis faites un copier / coller de l'INTEGRALITE du code qui vous est fourni <br> (penser au clic droit, "s&eacute;lectionner tout")<br>
<br>
<br>
<table width="100%">
<tbody>
<tr>
<input name="ok" value="1" type="hidden">
S&eacute;lectionnez ici votre image !<br><br>
<input name="image" type="file">&nbsp;<input name="go" value="Envoyer" type="submit">
</tr>
</tbody>
</table>
</form>
<?
if (isset($erreur))
{
	echo "<b><font color=\"red\">!!!!!&nbsp;&nbsp;&nbsp;".$erreur."&nbsp;&nbsp;&nbsp;!!!!</b><br>";
}
?>



Maintenant la variante pour wiki. Elle se met en place exactement de la même manière.

[php]
<?php
//Création de la fonction str_split si PHP < 5
if (!function_exists("str_split")) 
{
	function str_split($str,$length = 1) 
	{
		if ($length < 1) return false;
		$strlen = strlen($str);
		$ret = array();
		for ($i = 0; $i < $strlen; $i += $length) 
		{
			$ret[] = substr($str,$i,$length);
		}
	return $ret;
	}
} 
//Récupération du chemin actuel
$pos=strrpos($_SERVER['REQUEST_URI'],"/");
$chemin="http://".$_SERVER['HTTP_HOST'].substr($_SERVER['REQUEST_URI'],0,$pos)."/";
// on défini le répertoire où sont stockées les images de grande taille
$dir = 'pics';
// on défini le répertoire où seront stockées les miniatures
$dir_mini = 'minis';
// on défini une variable $ratio qui vaudra 150 dans notre cas (150 pixels). En fait, pour nos miniatures, nous allons respecter le ratio de l'image originale, mais nous allons forcer sa taille à 150 pixels, soit en hauteur soit en largeur (tout dépend de l'orientation de notre image : paysage ou portrait).
$ratio = 150;
$liste = "abcdefghijklmnopqrstuvwxyz0123456789";
$liste=str_split($liste);
// on teste si le formulaire permettant d'uploader un fichier a été soumis
if (isset($_POST['ok'])==1) 
{
    // on teste si le champ permettant de soumettre un fichier est vide ou non
	if (empty($_FILES['image']['tmp_name'])) 
	{
        // si oui, on affiche un petit message d'erreur
		$erreur = 'Aucun fichier envoyé.';
	}
	elseif (isset($_POST['position'])==0)
	{
		$erreur = 'Aucune position sp&eacute;cifi&eacute;e';
	}
	else 
	{
		$NomImage = "";
		while(strlen($NomImage) != 8)
		{
			$NomImage .= $liste[rand(0,35)];
		}
		$file_upload=$NomImage;
		// on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier (je vous suggère de regarder la documentation de la fonction getimagesize pour de plus amples informations)
		$tableau = @getimagesize($_FILES['image']['tmp_name']);
		if ($tableau == FALSE) 
		{
            // si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur
			unlink($_FILES['image']['tmp_name']);
			$erreur = 'Votre fichier n\'est pas une image.';
		}
		else 
		{
			$extension_fichier = array_pop(explode(".", $_FILES['image']['name']));
			$file_upload.=".".$extension_fichier;
			// on teste le type de notre image : jpeg ou png
			if ($tableau[2] == 2 || $tableau[2] == 3) 
			{
			// si on a déjà un fichier qui porte le même nom que le fichier que l'on tente d'uploader, on modifie le nom du fichier que l'on upload
			if (is_file('pics/'.$file_upload)) $file_upload = '_'.$file_upload;
			// on copie le fichier que l'on vient d'uploader dans le répertoire des images de grande taille
				copy ($_FILES['image']['tmp_name'], $dir.'/'.$file_upload);
			// il nous reste maintenant à générer la miniature
			//on regarde si les dimensions sont pas inférieures a 150 pixels
		if (($tableau[0] < $ratio) && ($tableau[1] < $ratio))
		{
		//si c'est le cas, ben on copie aussi le fichier dans minis
			copy ($_FILES['image']['tmp_name'], $dir_mini.'/'.$file_upload);
		}
		else
		{
			if(($tableau[0] < $ratio) && ($tableau[1] > $ratio))
			{
				//si l'une des dimensions est inferieure au ratio
				if ($tableau[2] == 2) // si notre image est de type jpeg
				{
					$src = imagecreatefromjpeg($dir.'/'.$file_upload);
					$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
					imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
					imagejpeg ($im, $dir_mini.'/'.$file_upload);
				}
				elseif ($tableau[2] == 3) 
				{
					$src = imagecreatefrompng($dir.'/'.$file_upload);
					$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
					imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
					imagepng ($im, $dir_mini.'/'.$file_upload);
				}
			
			}
			elseif(($tableau[0] > $ratio) && ($tableau[1] < $ratio))
			{
				if ($tableau[2] == 2) // si notre image est de type jpeg
				{
					$src = imagecreatefromjpeg($dir.'/'.$file_upload);
					$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
					imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
					imagejpeg ($im, $dir_mini.'/'.$file_upload);
				}
				elseif ($tableau[2] == 3) 
				{
					$src = imagecreatefrompng($dir.'/'.$file_upload);
					$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
					imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
					imagepng ($im, $dir_mini.'/'.$file_upload);
				}
			}
			else
			{
				if ($tableau[2] == 2) 
				{
					// on crée une image à partir de notre grande image à l'aide de la librairie GD
					$src = imagecreatefromjpeg($dir.'/'.$file_upload);
					// on teste si notre image est de type paysage ou portrait
					if ($tableau[0] > $tableau[1]) 
					{
						$im = imagecreatetruecolor($ratio,round(($ratio*$tableau[1])/$tableau[0]));
						imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round(($ratio/$tableau[0])*$tableau[1]), $tableau[0], $tableau[1]);
					}
					else 
					{
						$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]),$ratio);
						imagecopyresampled($im, $src, 0, 0, 0, 0, round($tableau[0]*($ratio/$tableau[1])), $ratio, $tableau[0], $tableau[1]);
					}
					// on copie notre fichier généré dans le répertoire des miniatures
					imagejpeg ($im, $dir_mini.'/'.$file_upload);
				}
				elseif ($tableau[2] == 3) 
				{
					$src = imagecreatefrompng($dir.'/'.$file_upload);
					if ($tableau[0] > $tableau[1]) 
					{
						$im = imagecreatetruecolor($ratio,round(($ratio*$tableau[1])/$tableau[0]));
						imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round(($ratio/$tableau[0])*$tableau[1]), $tableau[0], $tableau[1]);
					}
					else 
					{
						$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]),$ratio);
						imagecopyresampled($im, $src, 0, 0, 0, 0, round($tableau[0]*($ratio/$tableau[1])), $ratio, $tableau[0], $tableau[1]);
					}
					imagepng ($im, $dir_mini.'/'.$file_upload);
				}
			}
		}
                // on redirige l'administrateur vers l'accueil de la partie admin
                //header('location: index.php');
		//Génération du BBCode
		if (($_POST['position'])=='gauche')
		{
			echo "<img src=\"url de votre logo\" width=\"X\" height=\"Y\"><br><br><form name=\"up\"><input type=\"textarea\" name=\"txt2paste\" value=\"[[".$chemin.$dir."/".$file_upload."|{{".$chemin.$dir_mini."/".$file_upload."}}]]\" readlony size=\"100\"></form><input type=\"button\" onclick=\"javascript:document.up.txt2paste.select();\" style=\"font-family: Arial,Verdana,Helvetica;font-size: 11px; color:#330033 ;font-weight:bold;\" value=\"Tout s&eacute;lectionner\"><br><br>Apr&egrave;s avoir tout s&eacute;lectionn&eacute;, n'oubliez pas de copier ! Puis collez le dans la fen&ecirc;tre de postage</font></p><br><br><br><br><br><br><input type=\"button\" value=\"Fermer la fen&ecirc;tre\" onclick=\"window.close()\" />";
			exit();
		}
		elseif (($_POST['position'])=='centre')
		{
			echo "<img src=\"url de votre logo\" width=\"X\" height=\"Y\"><br><br><form name=\"up\"><input type=\"textarea\" name=\"txt2paste\" value=\"[[".$chemin.$dir."/".$file_upload."|{{&nbsp;".$chemin.$dir_mini."/".$file_upload."&nbsp;}}]]\" readlony size=\"100\"></form><input type=\"button\" onclick=\"javascript:document.up.txt2paste.select();\" style=\"font-family: Arial,Verdana,Helvetica;font-size: 11px; color:#330033 ;font-weight:bold;\" value=\"Tout s&eacute;lectionner\"><br><br>Apr&egrave;s avoir tout s&eacute;lectionn&eacute;, n'oubliez pas de copier ! Puis collez le dans la fen&ecirc;tre de postage</font></p><br><br><br><br><br><br><input type=\"button\" value=\"Fermer la fen&ecirc;tre\" onclick=\"window.close()\" />";
			exit();
		}
		elseif (($_POST['position'])=='droite')
		{
			echo "<img src=\"url de votre logo\" width=\"X\" height=\"Y\"><br><br><form name=\"up\"><input type=\"textarea\" name=\"txt2paste\" value=\"[[".$chemin.$dir."/".$file_upload."|{{&nbsp;".$chemin.$dir_mini."/".$file_upload."}}]]\" readlony size=\"100\"></form><input type=\"button\" onclick=\"javascript:document.up.txt2paste.select();\" style=\"font-family: Arial,Verdana,Helvetica;font-size: 11px; color:#330033 ;font-weight:bold;\" value=\"Tout s&eacute;lectionner\"><br><br>Apr&egrave;s avoir tout s&eacute;lectionn&eacute;, n'oubliez pas de copier ! Puis collez le dans la fen&ecirc;tre de postage</font></p><br><br><br><br><br><br><input type=\"button\" value=\"Fermer la fen&ecirc;tre\" onclick=\"window.close()\" />";
			exit();
		}
	}
	else 
	{
                // si notre image n'est pas de type jpeg ou png, on supprime le fichier uploadé et on affiche un petit message d'erreur
                unlink($_FILES['image']['tmp_name']);
                $erreur = 'Votre image est d\'un format non supporté.';
	}
}  
}
}
?>
<form method="post" enctype="multipart/form-data" target="_self">
<img style="width: Xpx; height: Ypx;" alt="logo" src="url de votre logo"><br>
<br>Bienvenue sur l'applet d'upload d'image de nom du site!<br>
<br>Choisissez votre image (Attention, format jpeg ou png)<br>
<br>Choisissez la position de votre image dans l'article (gauche, centr&eacute; ou droite)</b>
<br>Envoyez puis faites un copier / coller de l'INTEGRALITE du code qui vous est fourni <br> (penser au clic droit, "s&eacute;lectionner tout")<br>
<br>
<br>
<table width="100%">
<tbody>
<tr>
<input name="ok" value="1" type="hidden">
S&eacute;lectionnez ici votre image !<br><br>
<input name="image" type="file">&nbsp;
<br>
<br>Choisissez la position de votre image !<br>
<input name="position" type="radio" value="gauche"> A gauche<br>
<input name="position" type="radio" value="centre"> Centr&eacute;<br>
<input name="position" type="radio" value="droite"> A droite<br><br>
<input name="go" value="Envoyer" type="submit">
</tr>
</tbody>
</table>
</form>
<?
if (isset($erreur))
{
	echo "<b><font color=\"red\">!!!!!&nbsp;&nbsp;&nbsp;".$erreur."&nbsp;&nbsp;&nbsp;!!!!</b><br>";
}
?>



Et voila !

A bientot !

Sylvain