par
webide » 04 mars 2007, 21:39
Le problème qu'il y a c'est que lorsque je vais sur la galerie photo, il montre toutes les photos uploadées et pas seulement celles du membre.
Je sais que la meilleure solution est de gérer cela par BDD. J'ais créé une table dans la base membres mais par contre je n'arrives pas à lier la galerie, la page upload et la BDD
Voici la galerie
<?
//ouverture et control de la session
session_start();
if ( !session_is_registered("email") )
{
print "<center><b>Cette page et uniquement pour les membres<br> <br><a href='../index.php'>connection</a> <br>-||||-<br> <a href='inscription.php'>inscription</a></b><center>";exit;
}
//connexion a la base de donnée
include"config.php";
include"include/variable.php";
$db = mysql_connect($serveur, $login, $password);
mysql_select_db($base,$db);
//je recherche les données de la base membre de l'email du mec
if ($action == "change")
{
$query = "UPDATE $table SET pseudo = '$pseudo',email= '$email', passe= '$passe' ,nom= '$nom' ,prenom= '$prenom' ,pays= '$pays' , site ='$site', age ='$age', sexe='$sexe',departement ='$departement', ville='$ville', mot='$mot' WHERE email = '$email'";
$result = mysql_query($query);
}
if ($action == "image")
{
//ici je recherche l'image qui correspond a l'email
$query = "UPDATE $table SET image='$image' WHERE email = '$email'";
$result = mysql_query($query);}
$sql=("select image from $table Where email='$email'");$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$image=$rs["image"];
//ici je recherche l'id de l'email
$sql=("select id from $table Where email='$email'");
$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$id=$rs["id"];
//la requete je prends toutes les données de la table membre
$sql = "select*from $table WHERE email='$email'";
// on envoie la requete
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo"$info";
php $requete = mysql_query("Select * FROM a_galerie WHERE `auteur`='".$_SESSION['pseudo']."'");
// on ferme la connexion à mysql
mysql_close();
mysql_close($db);
?>
<html><head>
<link rel="stylesheet" type="text/css" href="style-gal.css">
<TITLE><? echo(":: Galerie d'images de .$pseudo. ::"); ?></TITLE>
</head><body>
<!-- DEBUT DU SCRIPT -->
<script language="JavaScript1.2">
/*
SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
[url=http://www.editeurjavascript.com]http://www.editeurjavascript.com[/url]
*/
function ejs_nodroit()
{
alert('Désolé, le clic droit a été désactivé sur cette page. ');
return(false);
}
document.oncontextmenu = ejs_nodroit;
</script>
<!-- FIN DU SCRIPT -->
<body background="im/fond1.jpg">
<SCRIPT LANGUAGE="JavaScript">
table_photo = new Array;
table_noms = new Array;
table_type = new Array;
<?
$a = 0;
$handle = opendir("up");
while (($file = readdir())!=false) {
clearstatcache();
$extension = strrchr($file, ".");
if($file!=".." && $file!="." && ($extension==".jpg" || $extension==".jpeg" || $extension==".gif" || $extension==".png" || $extension==".bmp"))
{
// RECHERCHE DU FICHIER
while ($result=mysql_fetch_array($requete))
{
echo "<img src=\"$result['urlphoto']\">;
}
// RECHERCHE DU TYPE DE FICHIER
$file_type = strrchr($file, ".");
$file_type = str_replace(".", "", $file_type);
$file_type = strtoupper($file_type);
echo "table_type[$a] = '$file_type';";
// RECHERCHE DU NOM :
$file_name = strtolower($file);
$file_name = str_replace(".jpg", "", $file_name);
$file_name = str_replace(".jpeg", "", $file_name);
$file_name = str_replace(".gif", "", $file_name);
$file_name = str_replace(".png", "", $file_name);
echo "table_noms[$a] = '$file_name';";
$a++;
}
}
closedir($handle);
?>
function showing_photos(num)
{
if(document.getElementById)
{
diaporama_fin = "";
if(num!=0)
diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num-1)+");return(false)'><img border=0 src=im/suiv.gif></A></td>";
if(num!=(table_photo.length-1))
diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num+1)+");return(false)'><img border=0 src=im/prec.gif></A></td>";
document.getElementById("affichage_photos").innerHTML = "<div align=center><center><table border=0 width=640 cellspacing=0 cellpadding=5 height=500><tr><td colspan=2 valign=middle width=100% bgcolor=#000000 height=20><table border=0 width=100% cellspacing=0 cellpadding=0><tr><td width=50%><img align=absmiddle border=0 src=im/nom-gal.gif width=16 height=16> Nom de l'image : "+table_noms[num]+"</td><td width=50%><img align=absmiddle border=0 src=im/typ-gal.gif width=16 height=16> Type d'image : "+table_type[num]+"</td></tr></table></td></tr><tr><td width=100% colspan=2 valign=middle height=380><table border=0 width=100% cellspacing=1 cellpadding=0 bgcolor=#FF0000 height=100%><tr><td width=100% bgcolor=#000000 height=380><center><img src='"+table_photo[num]+"' BORDER=0></center></td></tr></table></td></tr><br><br><tr>"+diaporama_fin+"</tr></table></center></div>";
}
}
window.onload = new Function("showing_photos(0)")
</SCRIPT>
<DIV align="center" ID="affichage_photos"></DIV>
<a href = "index.php">Retourner au service d'upload ?<a/>
</body>
</html>
La page d'upload
$DESTINATION_FOLDER = 'up/'; //
// Taille maximale de fichier, valeur en bytes //
$MAX_SIZE = 1000000; //
// Récupération de l'url de retour //
$RETURN_LINK = $_SERVER['HTTP_REFERER']; //
// Définition des extensions de fichier autorisées (avec le ".")//
$AUTH_EXT = array(".jpg", ".bmp", ".gif"); //
// ############################################################ //
// Fonction permettant de créer un lien de retour automatique
function createReturnLink(){
global $RETURN_LINK;
echo "<a href='".$RETURN_LINK."'>Retour</a><br>";
}
// Fonction permettant de vérifier si l'extension du fichier est
// autorisée.
function isExtAuthorized($ext){
global $AUTH_EXT;
if(in_array($ext, $AUTH_EXT)){
return true;
}else{
return false;
}
}
// On vérifie que le champs contenant le chemin du fichier soit
// bien rempli.
if(!empty($_FILES["file"]["name"])){
$nomFichier = $idMembre.'-'.$_FILES["file"]["name"];
// Nom du fichier choisi:
$nomFichier = $_FILES["file"]["name"] ;
// Nom temporaire sur le serveur:
$nomTemporaire = $_FILES["file"]["tmp_name"] ;
// Type du fichier choisi:
$typeFichier = $_FILES["file"]["type"] ;
// Poids en octets du fichier choisit:
$poidsFichier = $_FILES["file"]["size"] ;
// Poids en Kilo-octets du fichier choisit:
$poidsFichierK = $poidsFichier/1024;
// Pré formatage en affichage avec 0 chiffre après la virgule , donc pas de virgule.
$poidsFichierK = sprintf("%.0f", $poidsFichierK) ;
// Code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["file"]["error"] ;
// Extension du fichier
$extension = strrchr($nomFichier, ".");
// Si le poids du fichier est de 0 bytes, le fichier est
// invalide (ou le chemin incorrect) => message d'erreur
// sinon, le script continue.
if($poidsFichier <> 0){
// Si la taille du fichier est supérieure à la taille
// maximum spécifiée => message d'erreur
if($poidsFichier < $MAX_SIZE){
// On teste ensuite si le fichier a une extension autorisée
if(isExtAuthorized($extension)){
// Ensuite, on copie le fichier uploadé ou bon nous semble.
$uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
if($uploadOk){
echo "L'upload a réussi !<br><br>";
echo "Nom du Fichier : $nomFichier<br>";
echo "Taille du Fichier : $poidsFichierK Ko<br>";
echo "URL du Fichier : [url=http://www.crazytchat.com/upload/up/<br><br>";]http://www.crazytchat.com/upload/up/<br><br>";[/url]
echo "Aperçu:<br><br>";
switch ($extension) { //Tu fais écrire du html par le php
case ".jpeg": echo "<IMG SRC='$nomFichier'>";break;
case ".bmp": echo "<IMG SRC='$nomFichier'>";break;
case ".gif": echo "<IMG SRC='$nomFichier'>";break;
default: echo "<IMG SRC='error/inconnu.gif'>"; }
echo "<br><br>";
echo(createReturnLink());
}else{
echo("L'upload a échoué !<br><br>");
echo(createReturnLink());
}
}else{
echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
echo (createReturnLink()."<br>");
}
}else{
$tailleKo = $MAX_SIZE / 100;
echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>");
echo (createReturnLink()."<br>");
}
}else{
echo("Le fichier choisi est invalide !<br>");
echo (createReturnLink()."<br>");
}
}else{
echo("Vous n'avez pas choisi de fichier !<br>");
echo (createReturnLink()."<br>");
}
?>
et la table
CREATE TABLE a_galerie (
pseudo varchar(30) NOT NULL default '',
image varchar(50) NOT NULL default '',
id int(11) NOT NULL auto_increment,
PRIMARY KEY (id)
) TYPE=MyISAM;
[/php]
Le problème qu'il y a c'est que lorsque je vais sur la galerie photo, il montre toutes les photos uploadées et pas seulement celles du membre.
Je sais que la meilleure solution est de gérer cela par BDD. J'ais créé une table dans la base membres mais par contre je n'arrives pas à lier la galerie, la page upload et la BDD
Voici la galerie
[php]
<?
//ouverture et control de la session
session_start();
if ( !session_is_registered("email") )
{
print "<center><b>Cette page et uniquement pour les membres<br> <br><a href='../index.php'>connection</a> <br>-||||-<br> <a href='inscription.php'>inscription</a></b><center>";exit;
}
//connexion a la base de donnée
include"config.php";
include"include/variable.php";
$db = mysql_connect($serveur, $login, $password);
mysql_select_db($base,$db);
//je recherche les données de la base membre de l'email du mec
if ($action == "change")
{
$query = "UPDATE $table SET pseudo = '$pseudo',email= '$email', passe= '$passe' ,nom= '$nom' ,prenom= '$prenom' ,pays= '$pays' , site ='$site', age ='$age', sexe='$sexe',departement ='$departement', ville='$ville', mot='$mot' WHERE email = '$email'";
$result = mysql_query($query);
}
if ($action == "image")
{
//ici je recherche l'image qui correspond a l'email
$query = "UPDATE $table SET image='$image' WHERE email = '$email'";
$result = mysql_query($query);}
$sql=("select image from $table Where email='$email'");$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$image=$rs["image"];
//ici je recherche l'id de l'email
$sql=("select id from $table Where email='$email'");
$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$id=$rs["id"];
//la requete je prends toutes les données de la table membre
$sql = "select*from $table WHERE email='$email'";
// on envoie la requete
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo"$info";
php $requete = mysql_query("Select * FROM a_galerie WHERE `auteur`='".$_SESSION['pseudo']."'");
// on ferme la connexion à mysql
mysql_close();
mysql_close($db);
?>
<html><head>
<link rel="stylesheet" type="text/css" href="style-gal.css">
<TITLE><? echo(":: Galerie d'images de .$pseudo. ::"); ?></TITLE>
</head><body>
<!-- DEBUT DU SCRIPT -->
<script language="JavaScript1.2">
/*
SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
[url=http://www.editeurjavascript.com]http://www.editeurjavascript.com[/url]
*/
function ejs_nodroit()
{
alert('Désolé, le clic droit a été désactivé sur cette page. ');
return(false);
}
document.oncontextmenu = ejs_nodroit;
</script>
<!-- FIN DU SCRIPT -->
<body background="im/fond1.jpg">
<SCRIPT LANGUAGE="JavaScript">
table_photo = new Array;
table_noms = new Array;
table_type = new Array;
<?
$a = 0;
$handle = opendir("up");
while (($file = readdir())!=false) {
clearstatcache();
$extension = strrchr($file, ".");
if($file!=".." && $file!="." && ($extension==".jpg" || $extension==".jpeg" || $extension==".gif" || $extension==".png" || $extension==".bmp"))
{
// RECHERCHE DU FICHIER
while ($result=mysql_fetch_array($requete))
{
echo "<img src=\"$result['urlphoto']\">;
}
// RECHERCHE DU TYPE DE FICHIER
$file_type = strrchr($file, ".");
$file_type = str_replace(".", "", $file_type);
$file_type = strtoupper($file_type);
echo "table_type[$a] = '$file_type';";
// RECHERCHE DU NOM :
$file_name = strtolower($file);
$file_name = str_replace(".jpg", "", $file_name);
$file_name = str_replace(".jpeg", "", $file_name);
$file_name = str_replace(".gif", "", $file_name);
$file_name = str_replace(".png", "", $file_name);
echo "table_noms[$a] = '$file_name';";
$a++;
}
}
closedir($handle);
?>
function showing_photos(num)
{
if(document.getElementById)
{
diaporama_fin = "";
if(num!=0)
diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num-1)+");return(false)'><img border=0 src=im/suiv.gif></A></td>";
if(num!=(table_photo.length-1))
diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num+1)+");return(false)'><img border=0 src=im/prec.gif></A></td>";
document.getElementById("affichage_photos").innerHTML = "<div align=center><center><table border=0 width=640 cellspacing=0 cellpadding=5 height=500><tr><td colspan=2 valign=middle width=100% bgcolor=#000000 height=20><table border=0 width=100% cellspacing=0 cellpadding=0><tr><td width=50%><img align=absmiddle border=0 src=im/nom-gal.gif width=16 height=16> Nom de l'image : "+table_noms[num]+"</td><td width=50%><img align=absmiddle border=0 src=im/typ-gal.gif width=16 height=16> Type d'image : "+table_type[num]+"</td></tr></table></td></tr><tr><td width=100% colspan=2 valign=middle height=380><table border=0 width=100% cellspacing=1 cellpadding=0 bgcolor=#FF0000 height=100%><tr><td width=100% bgcolor=#000000 height=380><center><img src='"+table_photo[num]+"' BORDER=0></center></td></tr></table></td></tr><br><br><tr>"+diaporama_fin+"</tr></table></center></div>";
}
}
window.onload = new Function("showing_photos(0)")
</SCRIPT>
<DIV align="center" ID="affichage_photos"></DIV>
<a href = "index.php">Retourner au service d'upload ?<a/>
</body>
</html>
[/php]
La page d'upload
[php]
$DESTINATION_FOLDER = 'up/'; //
// Taille maximale de fichier, valeur en bytes //
$MAX_SIZE = 1000000; //
// Récupération de l'url de retour //
$RETURN_LINK = $_SERVER['HTTP_REFERER']; //
// Définition des extensions de fichier autorisées (avec le ".")//
$AUTH_EXT = array(".jpg", ".bmp", ".gif"); //
// ############################################################ //
// Fonction permettant de créer un lien de retour automatique
function createReturnLink(){
global $RETURN_LINK;
echo "<a href='".$RETURN_LINK."'>Retour</a><br>";
}
// Fonction permettant de vérifier si l'extension du fichier est
// autorisée.
function isExtAuthorized($ext){
global $AUTH_EXT;
if(in_array($ext, $AUTH_EXT)){
return true;
}else{
return false;
}
}
// On vérifie que le champs contenant le chemin du fichier soit
// bien rempli.
if(!empty($_FILES["file"]["name"])){
$nomFichier = $idMembre.'-'.$_FILES["file"]["name"];
// Nom du fichier choisi:
$nomFichier = $_FILES["file"]["name"] ;
// Nom temporaire sur le serveur:
$nomTemporaire = $_FILES["file"]["tmp_name"] ;
// Type du fichier choisi:
$typeFichier = $_FILES["file"]["type"] ;
// Poids en octets du fichier choisit:
$poidsFichier = $_FILES["file"]["size"] ;
// Poids en Kilo-octets du fichier choisit:
$poidsFichierK = $poidsFichier/1024;
// Pré formatage en affichage avec 0 chiffre après la virgule , donc pas de virgule.
$poidsFichierK = sprintf("%.0f", $poidsFichierK) ;
// Code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["file"]["error"] ;
// Extension du fichier
$extension = strrchr($nomFichier, ".");
// Si le poids du fichier est de 0 bytes, le fichier est
// invalide (ou le chemin incorrect) => message d'erreur
// sinon, le script continue.
if($poidsFichier <> 0){
// Si la taille du fichier est supérieure à la taille
// maximum spécifiée => message d'erreur
if($poidsFichier < $MAX_SIZE){
// On teste ensuite si le fichier a une extension autorisée
if(isExtAuthorized($extension)){
// Ensuite, on copie le fichier uploadé ou bon nous semble.
$uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
if($uploadOk){
echo "L'upload a réussi !<br><br>";
echo "Nom du Fichier : $nomFichier<br>";
echo "Taille du Fichier : $poidsFichierK Ko<br>";
echo "URL du Fichier : [url=http://www.crazytchat.com/upload/up/<br><br>";]http://www.crazytchat.com/upload/up/<br><br>";[/url]
echo "Aperçu:<br><br>";
switch ($extension) { //Tu fais écrire du html par le php
case ".jpeg": echo "<IMG SRC='$nomFichier'>";break;
case ".bmp": echo "<IMG SRC='$nomFichier'>";break;
case ".gif": echo "<IMG SRC='$nomFichier'>";break;
default: echo "<IMG SRC='error/inconnu.gif'>"; }
echo "<br><br>";
echo(createReturnLink());
}else{
echo("L'upload a échoué !<br><br>");
echo(createReturnLink());
}
}else{
echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
echo (createReturnLink()."<br>");
}
}else{
$tailleKo = $MAX_SIZE / 100;
echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>");
echo (createReturnLink()."<br>");
}
}else{
echo("Le fichier choisi est invalide !<br>");
echo (createReturnLink()."<br>");
}
}else{
echo("Vous n'avez pas choisi de fichier !<br>");
echo (createReturnLink()."<br>");
}
?>
[/php]
et la table
[php]
CREATE TABLE a_galerie (
pseudo varchar(30) NOT NULL default '',
image varchar(50) NOT NULL default '',
id int(11) NOT NULL auto_increment,
PRIMARY KEY (id)
) TYPE=MyISAM;
[/php][/php]