stophking
Messages postés5Date d'inscriptiondimanche 10 juillet 2005StatutMembreDernière intervention20 novembre 2013
-
27 juil. 2010 à 23:53
Dav_c
Messages postés194Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 décembre 2015
-
29 juil. 2010 à 03:11
bonjour :
je suis entrain de créer une galerie photo avec php/mysql et j'aimeria bien que vous me corriger le code si il ya des fautes, et une chose que je veus bien si si possible c'est comment fiare un lien au-dessus des images se lien permettre de supprimer l'image de la base de données.
<?php
if(isset($_POST['validation'])) {
//Indique si le fichier a été téléchargé
if(!is_uploaded_file($_FILES['image']['tmp_name']))
echo 'Un problème est survenu durant l opération. Veuillez réessayer !';
else {
//liste des extensions possibles
$extensions = array('/png', '/gif', '/jpg', '/jpeg');
//récupère la chaîne à partir du dernier / pour connaître l'extension
$extension = strrchr($_FILES['image']['type'], '/');
//vérifie si l'extension est dans notre tableau
if(!in_array($extension, $extensions))
echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
else {
//on définit la taille maximale
define('MAXSIZE', 300000);
if($_FILES['image']['size'] > MAXSIZE)
echo 'Votre image est supérieure à la taille maximale de '.MAXSIZE.' octets';
else {
//on se connecte (remplacer les paramètres de connexion)
$connexion = mysql_connect("localhost", "root", "") or exit (mysql_error());
$database = mysql_select_db("tata") or exit (mysql_error());
//récupération des infos saisies
$nom = mysql_escape_string($_POST['nom']);
$description = mysql_escape_string($_POST['description']);
//Lecture du fichier. On doit utiliser la fonction mysql_escape_string car les données binaires contiennent des caractères spéciaux.
$image = mysql_escape_string(file_get_contents($_FILES['image']['tmp_name']));
//Il ne reste qu'à insérer tout ça dans notre table.
mysql_query("INSERT INTO images(nom, description, img, extension) VALUES('".$nom."', '".$description."', '".$image."', '".$_FILES[image][type]."')") or exit (mysql_error());
mysql_close();
echo 'L insertion s est bien déroulée !';
}
}
}
}
?>
la page apercu.php
<?php
//si nous avons une image
if(!empty($_GET['id_img'])) {
//connexion à la base de données
$connexion = mysql_connect("localhost", "root", "") or exit (mysql_error());
$database = mysql_select_db("BASE")or exit (mysql_error());
//on sécurise notre donnée
$idImg = intval($_GET['id_img']);
//la requète qui récupère l'image à partir de l'identifiant
$apercu mysql_query("SELECT extension, img FROM images WHERE id_img ".$idImg) or exit (mysql_error());
//si le résultat est différent de 1
if(mysql_num_rows($apercu) != 1)
echo 'L image n existe pas !';
else {
//on stocke les données dans un tableau
$reponse = mysql_fetch_assoc($apercu);
//on indique qu'on affiche une image
header ("Content-type: ".$reponse['extension']);
//on affiche l'image en elle même
echo $reponse['img'];
}
mysql_close();
} else
echo 'Vous n avez pas sélectionné d image !';
?>
et la page final galerie.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Ma galerie d'images</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
body {
width: 95%;
}
div {
width: 22%;
float: left;
text-align: center;
border: 1px solid black;
margin: 5px;
padding: 5px;
}
p {
text-align: left;
}
a {
color: #000000;
text-decoration: none;
}
</style>
</head>
Ma galerie d'images
<?php
$connexion = mysql_connect("localhost", "root", "") or exit (mysql_error());
$database = mysql_select_db("images") or exit (mysql_error());
$affichage = mysql_query("SELECT id_img, nom, description FROM images") or exit (mysql_error());
while($result = mysql_fetch_assoc($affichage)) {
echo '
';
echo '[apercu.php?id_img='.$result[id_img].' ]';
echo 'Description : '.$result["description"].'
';
echo '
';
}
mysql_close();
?>
</html>
et voila la base "images" que j'ai créer :
CREATE TABLE `images` (
`id_img` INT NOT NULL AUTO_INCREMENT,
`nom` VARCHAR(50) NOT NULL,
`description` text NOT NULL,
`img` BLOB NOT NULL,
`extension` VARCHAR(25) NOT NULL,
PRIMARY KEY (`id_img`)
)
Dav_c
Messages postés194Date d'inscriptiondimanche 25 janvier 2004StatutMembreDernière intervention11 décembre 2015 29 juil. 2010 à 03:11
Pour le piton supprimer, n'ayait fait un reçament :
<?php
////Dans le haut
if($_GET['Mod']=="DelPart")
{
$requete = ("DELETE FROM Ta-table WHERE ID='".$_GET['ID']."'");
mysql_query ($requete);}
///Variable
$del_alt='Supprimer';
$del_str='Etes-vous sur de vouloir supprimer cette insert, on vas dire?';
///// pour le piton
echo '[index.php?Mod=DelPart&ID='.$row[ ';
echo']';
?>