Probleme d'affichage des photos PHP Mysql

Fermé
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015 - Modifié par jordane45 le 13/06/2015 à 23:47
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 - 16 juin 2015 à 19:06
Bonjour,
dans la base de donnes ,
j'ai crier deux table
le premier users (id , nom , prenom , email , password)
le 2 eme info (image) contient (nom, taille , lien , possesseur )
chaque utilisateur a un id deferent ,, possesseur depend de id de user
user ahmed de id 3 ajout 4 photos , alors possesseur = 3 de 4 photos !!

je besoin de affiche les photos de chaque utilisateur !!
j'ai crie ce code mais il affiche tous les images de tout les utilisateurs !!

<?php
    error_reporting(E_ALL ^ E_DEPRECATED);
$cnx = mysql_connect( "localhost", "root", "" ) ;
 
    $db = mysql_select_db( "uploadimageige36" ) ;



$req = mysql_query("SELECT info.nom , info.lien FROM info,users where info.possesseur = users.id "); 
$nbr = mysql_query("SELECT count(info.nom) FROM info,users where info.possesseur = users.id"); 
$n=mysql_fetch_array($nbr);

$arr=array();
while ($donnees = mysql_fetch_array($req)) 
  {
 $arr[]=$donnees['lien'];
 $arr2[]=$donnees['nom'];
  } 

   


$nbcol=4;  
$nbpics = $n[0];  
echo "<b><center>Cliqué Sur Une Image Pour L'afficher En Taille Réel</center></b><br>";
if ($nbpics != 0) { 
   echo '<table>'; 
   for ($i=0; $i<$nbpics; $i++){ 
      if($i%$nbcol==0) echo '<tr>'; 
  echo '<td > <a href='.$arr[$i].' target="_blank" ><img src='.$arr[$i].'  height=115 width=235 class="" alt="'.$arr2[$i].'" href='.$arr[$i].'></a></td>';
      if($i%$nbcol==($nbcol-1)) echo '</tr>'; 

   } 
   echo '</table>';  

}  

else echo '<b>Aucune image à afficher</b>';
echo "<br><br><b>Pour revenir a la page d'aceuil</b> <a href=index.html>Cliquez ici</a>";

?>


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.

A voir également:

9 réponses

jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
13 juin 2015 à 23:49
Bonjour,

Peux tu m'expliquer quelle est la différence entre :
"je besoin de affiche les photos de chaque utilisateur !! "
et
" il affiche tous les images de tout les utilisateurs !! "

... pour moi .. cela signifie la même chose.

1
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
14 juin 2015 à 01:08
ouii

mon site : upload image apres inscription
chaque utilisateur upload ses images et qui clique sur affiche les photos normalemns just les photos qui lui ajoute sera affiche mais non

tous les photos de tous les utilisateurs affichent dans chque utilisateur :/

c pour ca ja ajoute attribut possesseur (table info de image) pour specifier id de chaque utilisateuur mais le probleme le code marche pas avec moi :(
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
Modifié par jordane45 le 14/06/2015 à 01:16
Donc .. tu veux afficher uniquement les images de l'utilisateur connecté ?

Pour commencer.. il faudrait que l'on sache comment tu connais quel utilisateur est connecté à ton site ...
peut être as tu stocké dans une variable de SESSION cette information ?
Si oui.. il faudrait nous indiquer laquelle....

Ensuite.. une fois cette variable connue.. il suffit de modifier tes requête en y ajoutant une clause WHERE sur ce critère...
par exemple :
$idUser = isset($_SESSION['id_user'])?$_SESSION['id_user']:NULL;
if($idUser){
$sql1 = "SELECT info.nom , info.lien 
          FROM info I
          LEFT JOIN users U ON U.id = I.possesseur 
          WHERE U.id = '$idUser'";

$req = mysql_query($sql1) or die("Erreur dans la requete :".$sql1 . "<br>Erreur :<br>".mysql_error());
}


Cordialement,
Jordane
1
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
14 juin 2015 à 02:54
la session utilise

$_SESSION['email'] = $email;

apropos de ca

$nbr = mysql_query("SELECT count(info.nom) FROM info,users where info.possesseur = users.id");

aucune modification !!
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
Modifié par jordane45 le 14/06/2015 à 03:07

la session utilise
$_SESSION['email'] = $email;

Dans ce cas :
$email= isset($_SESSION['email'])?$_SESSION['email']:NULL;
if($idUser){
$sql1 = "SELECT info.nom , info.lien 
          FROM info I
          LEFT JOIN users U ON U.id = I.possesseur 
          WHERE U.email = '$email'";

$req = mysql_query($sql1) or die("Erreur dans la requete :".$sql1 . "<br>Erreur :<br>".mysql_error());
}



$nbr = mysql_query("SELECT count(info.nom) FROM info,users where info.possesseur = users.id");

aucune modification !!

Si bien sûr ....
mais je pensais qu'en t'inspirant de mon exemple tu réussirais à le faire toi même...
Et puis .. je n'en vois pas bien l'utilité dans ton code...puisque tu ne l'utilise, visiblement, que pour faire ta boucle....
Pourquoi ne pas mettre tout le traitement dans le while directement ?
(il me semble que quelqu'un te l'avait conseillé dans une autre de tes questions....)

ce qui donnerait :
$nbcol=4;  
$i=0;
  echo '<table>'; 
while ($donnees = mysql_fetch_array($req))   {
 $lien=$donnees['lien'];
 $nom=$donnees['nom'];

  if($i%$nbcol==0){
    echo '<tr>'; 
  }
  echo "<td > 
            <a href='$lien' target='_blank' >
             <img src='$lien'  height='115' width='235' alt='$nom' href='$lien'>
            </a>
            </td>";
      if($i%$nbcol==($nbcol-1)){
       echo "</tr>";
      } 
   //on incrémente i
    $i++;
  } 
  echo '</table>'; 


(et donc.. avec ce code.. plus besoin de ta seconde requête )

Cordialement,
Jordane
1
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
15 juin 2015 à 03:42
Merci BCP mon frere mais il ya un probleme

le code affiche les images de chaque utilasteur mais affiche chaque images 6 fois ??
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
15 juin 2015 à 08:42
Le souci est peut être au niveau de la requête ou de ce que contient ta BDD....
Peux tu prendre la requête et la tester DIRECTEMENT dans ta BDD (c'est à dire via phpmuadmin par exemple)et me dire ce que ça te donne ?
0
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
Modifié par jordane45 le 16/06/2015 à 11:24
j'ai utilise aussi ce code (votre code mais avec pdo) mais meme probleme 6 photos !!!!!!!!!!

try
{
  $bdd = new PDO('mysql:host=localhost;dbname=uploadimageige36','root','');
}

catch (Exception $e)
{
  die('Erreur : ' . $e->getMessage());
}

$reponse = $bdd->query('SELECT * FROM users');

while ($donnees = $reponse->fetch())
{
  $idUser=$donnees['id'];
}
if($idUser){
$sql1 = "SELECT info.nom , info.lien 
          FROM info , users 
          WHERE info.possesseur = '$idUser'";

$req = mysql_query($sql1) or die("Erreur dans la requete :".$sql1 . "<br>Erreur :<br>".mysql_error());
}

$nbr = mysql_query("SELECT count(*) FROM info where possesseur = possesseur "); 
$n=mysql_fetch_array($nbr);

$arr=array();
while ($donnees = mysql_fetch_array($req)) 
  {
 $arr[]=$donnees['lien'];
 $arr2[]=$donnees['nom'];
  } 

   


$nbcol=4;  
$nbpics = $n[0];  
echo "<b><center>Cliqué Sur Une Image Pour L'afficher En Taille Réel</center></b><br>";
if ($nbpics != 0) { 
   echo '<table>'; 
   for ($i=0; $i<$nbpics; $i++){ 
      if($i%$nbcol==0) echo '<tr>'; 
  echo '<td > <a href='.$arr[$i].' target="_blank" ><img src='.$arr[$i].'  height=115 width=235 class="" alt="'.$arr2[$i].'" href='.$arr[$i].'></a></td>';
      if($i%$nbcol==($nbcol-1)) echo '</tr>'; 

   } 
   echo '</table>';  

}  

else echo '<b>Aucune image à afficher</b>';
echo "<br><br><b>Pour revenir a la page d'aceuil</b> <a href=index.html>Cliquez ici</a>";



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681 > khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
15 juin 2015 à 09:04
Tu mélange du PDO et du mysql ?????
Et tu parles de mon code ?? .. là je vois ton ancien code à toi !!!!

De toutes façons.. tu n'as pas répondu à ma question concernant le test de la requête !
0
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
15 juin 2015 à 09:10
Desole , je suis un debutant
comment je fait le test
je connais just de test (SQL)
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
16 juin 2015 à 11:33
Je viens de regarder...

Donc.. la bonne requête à utilsier (avec MON CODE) est :
SELECT  U.prenom
       ,U.email
       ,I.nom 
       ,I.lien 
       ,U.nom
FROM info I
LEFT JOIN users U ON U.id = I.possesseur 
WHERE U.email = '$email'


Et donc ça devrait donner un truc de ce genre :
$email= isset($_SESSION['email'])?$_SESSION['email']:NULL;
if($email){
$sql1 = "SELECT  U.prenom
                 ,U.email
                 ,I.nom 
                 ,I.lien 
                 ,U.nom
          FROM info I
          LEFT JOIN users U ON U.id = I.possesseur 
          WHERE U.email = '$email'";

$req = mysql_query($sql1) or die("Erreur dans la requete :".$sql1 . "<br>Erreur :<br>".mysql_error());

 // Au cas où.. pour connaitre le nb de résultats retournées par la requête
$num_rows = mysql_num_rows($req);

// Le temps des tets :
echo "<br> La requête a retournée : <b>".$num_rows. "</b> résulats <br><br>";

$nbcol=4;  
$i=0;
  echo '<table>'; 
while ($donnees = mysql_fetch_array($req))   {
 $lien=$donnees['lien'];
 $nom=$donnees['nom'];

  if($i%$nbcol==0){
    echo '<tr>'; 
  }
  echo "<td > 
            <a href='$lien' target='_blank' >
             <img src='$lien'  height='115' width='235' alt='$nom' href='$lien'>
            </a>
            </td>";
      if($i%$nbcol==($nbcol-1)){
       echo "</tr>";
      } 
   //on incrémente i
    $i++;
  } //fin du WHILE
  echo '</table>';

}else{
  echo "<br> ERREUR : Pas d'email ! ";
} // fin du IF email


1
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
16 juin 2015 à 13:07
not work :'(
je pense que une urreur dans ce code
identificatient de prossessus apartir de id user
SVP SVP tu peut verifie ce code
et je ss vraiment desole
normalement c quelqu'un ajouter une image le processuss de chaque image prend la valeur de id de user
try
{
  $bdd = new PDO('mysql:host=localhost;dbname=uploadimageige36','root','');
}

catch (Exception $e)
{
  die('Erreur : ' . $e->getMessage());
}

$reponse = $bdd->query('SELECT * FROM users');

while ($donnees = $reponse->fetch())
{
  $id_user=$donnees['id'];
}
//==========

$cnx = mysql_connect( "localhost", "root", "" ) ;
 
    //Sélection de la base de données:
    $db = mysql_select_db( "uploadimageige36" ) ;
 

  $nom= $name ;
  $taille = $size ;
  $extension = $type ;
  $lien= "$uploadpath/$name" ;
  //PARTIE A AJOUTER
  //==========
  $possesseur=$id_user;
  //==========
 
  //création de la requête SQL:
  $sql = "INSERT  INTO info (nom, taille, extension, lien , possesseur) VALUES ( '$nom', '$taille', '$extension', '$lien' , '$possesseur') " ;
 
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
16 juin 2015 à 13:17
Ce code là ... il te sert à quoi normalement ?
$reponse = $bdd->query('SELECT * FROM users');
while ($donnees = $reponse->fetch())
{
  $id_user=$donnees['id'];
}
//==========

Car actuellement ... là ... tu ne fais que récupérer le dernier ID parmis toute ta table...
et en aucun cas .. il ne s'agit de l'ID du user connecté !


A la limite .. vu que tu as dans tes variables de session l' email du USER...
tu pourrais modifier le code ainsi :
$email= isset($_SESSION['email'])?$_SESSION['email']:NULL;
$sql = "SELECT * FROM users WHERE email = '$email' ";
$reponse = $bdd->query($sql);
while ($donnees = $reponse->fetch())
{
  $id_user=$donnees['id'];
}


Par contre.... il faut vraiment que tu m'expliques POURQUOI .. tu utilises en même temps ... du PDO et du mysql_* ?????

Soit tu fais tout avec l'extension mysql ... soit tu passes TOUT en PDO !!!!!
(et de préférence.. PDO est mieux !!! )



1
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
15 juin 2015 à 17:07
-- phpMyAdmin SQL Dump
-- version 4.1.14
-- http://www.phpmyadmin.net
--
-- Client :  127.0.0.1
-- Généré le :  Lun 15 Juin 2015 à 15:04
-- Version du serveur :  5.6.17
-- Version de PHP :  5.5.12

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données :  `uploadimageige36`
--

-- --------------------------------------------------------

--
-- Structure de la table `admin`
--

CREATE TABLE IF NOT EXISTS `admin` (
  `email` text NOT NULL,
  `password` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `admin`
--

INSERT INTO `admin` (`email`, `password`) VALUES
('peu@hotmail.com', '123456'),
('ige_36@yahoo.fr', '123456');

-- --------------------------------------------------------

--
-- Structure de la table `info`
--

CREATE TABLE IF NOT EXISTS `info` (
  `nom` varchar(100) NOT NULL,
  `taille` int(11) NOT NULL,
  `extension` varchar(15) NOT NULL,
  `lien` varchar(100) NOT NULL,
  `date` date NOT NULL,
  `motclef` varchar(70) NOT NULL,
  `possesseur` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `info`
--

INSERT INTO `info` (`nom`, `taille`, `extension`, `lien`, `date`, `motclef`, `possesseur`) VALUES
('BestHDWallpapersPack1140_73.gif', 790454, 'image/gif', 'verify/BestHDWallpapersPack1140_73.gif', '0000-00-00', '', 6),
('BestHDWallpapersPack1140_91.gif', 798107, 'image/gif', 'verify/BestHDWallpapersPack1140_91.gif', '0000-00-00', '', 6),
('BestHDWallpapersPack1140_60.gif', 717379, 'image/gif', 'verify/BestHDWallpapersPack1140_60.gif', '0000-00-00', '', 5),
('BestHDWallpapersPack1140_63.gif', 421277, 'image/gif', 'verify/BestHDWallpapersPack1140_63.gif', '0000-00-00', '', 5),
('BestHDWallpapersPack1140_75.gif', 768607, 'image/gif', 'verify/BestHDWallpapersPack1140_75.gif', '0000-00-00', '', 6);

-- --------------------------------------------------------

--
-- Structure de la table `messages`
--

CREATE TABLE IF NOT EXISTS `messages` (
  `nom` text NOT NULL,
  `email` text NOT NULL,
  `sujet` text NOT NULL,
  `message` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `messages`
--

INSERT INTO `messages` (`nom`, `email`, `sujet`, `message`) VALUES
('khaled', 'adda', 'adda', 'jajlajzj'),
('khaled', 'kkzzk', 'kkzzk', 'slkfdjqlkjdqlkdjq'),
('sf,sfsdfs', 'sdfs', 'sdfs', 'sfsfsfs'),
('sf,sfsdfs', 'sdfs', 'sdfs', 'sfsfsfs');

-- --------------------------------------------------------

--
-- Structure de la table `users`
--

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nom` text NOT NULL,
  `prenom` text NOT NULL,
  `email` text NOT NULL,
  `password` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

--
-- Contenu de la table `users`
--

INSERT INTO `users` (`id`, `nom`, `prenom`, `email`, `password`) VALUES
(1, 'belhadia ', 'youcef', 'aaaaa@aaa.fr', '1234567'),
(2, 'aez', 'mammeri', 'aez@outlook.fr', '04061993'),
(3, 'farid', 'belkhelfa', 'cicifafa@outlook.fr', '123'),
(4, 'aaaa', 'AAA', 'aaaaa@aaa.fr', '123'),
(5, 'fff', 'dddd', 'sihamouizou@yahoo.fr', '1234'),
(6, 'farid', 'belkhelfa', 'peu@hotmail.com', '123');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
0
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
16 juin 2015 à 00:48
SVP :'(
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681 > khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
16 juin 2015 à 09:31
Je n'ai pas eu le temps hier .. je vais essayer de voir ça aujourd'hui.
0
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
16 juin 2015 à 11:20
j vous attends ^^merci
0
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
16 juin 2015 à 14:23
Ok OK
j'utilise mysql ..
je n sais pas , q je oublige d'utiliser une des deux
desole mon frere
je suis un debutant ... et de vous nous apprenons
merci bcp pout tt les explications !!

j'utilise le dernier code :
$cnx = mysql_connect( "localhost", "root", "" ) ;
 
    //Sélection de la base de données:
    $db = mysql_select_db( "uploadimageige36" ) ;
$email= isset($_SESSION['email'])?$_SESSION['email']:NULL;
$sql = "SELECT * FROM users WHERE email = '$email' ";
$reponse = $bdd->query($sql);
while ($donnees = $reponse->fetch())
{
  $id_user=$donnees['id'];
}
//==========


mais il affiche a l'exucution un probleme sur cett ligne

$reponse = $bdd->query($sql);
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
16 juin 2015 à 14:56
... Typiquement ... là .. dans ton code ... tu as un mixe des deux ... donc ça ne marchera JAMAIS.
Par exemple ...
tu fais :
 $db = mysql_select_db( "uploadimageige36" ) ;

(ce qui est du mysql_* )
et ensuite :
$reponse = $bdd->query($sql);

... qui est du PDO !!!!!!!

Dans ce cas... la bonne syntaxe serait :
$reponse  = mysql_query($sql) or die('Requête invalide : ' . mysql_error());


Idem pour ta boucle WHILE ... là.. tu y as mis la syntaxe PDO ....
en mysql_* ça serait
while($donnees =mysql_fetch_array($reponse)) {
  $id_user=$donnees['id'];
}


mais bon... comme cette requête n'est sensée retourner qu'une seule ligne de toutes façons...
tu pourrais retirer la boucle while et directement écrire :
$donnees =mysql_fetch_array($reponse));
 $id_user=$donnees['id'];

0
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
16 juin 2015 à 15:18
Merciiii Bcp
ça marche trres tres tres bienn
!!

just une autre question
j'ai utilise deux session une pou chaque user et une pour adminn !!
et le probleme dans affichage
normalement cela l'admin vu tt les photos

pas de solutions ou j'ai crie une autre page !!!
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
16 juin 2015 à 15:37
Tu peux simplement modifier la requête et y retirer le WHERE si ADMIN.
Je ne peux pas t'en dire plus sans savoir comment tu identifies que le user est admin ou non ... une variable de SESSION peut-être ??
0
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
16 juin 2015 à 15:41
TU peux le virifier svp mon frere
fichier login
$query = "SELECT * FROM `users` WHERE email='$email' and password='$password'";
	$res = mysql_query($query) or die(mysql_error());
	$count= mysql_num_rows($res);
	if ($count == 1){
		if(session_id() == '') {
 		session_start();
		}
		$_SESSION['email'] = $email;
		header ('location: useer.php');
		}
	else {
		$query = "SELECT * FROM `admin` WHERE email='$email' and password='$password'";
		$res = mysql_query($query) or die(mysql_error());
		$count= mysql_num_rows($res);
			if ($count == 1){
				if(session_id() == '') {
 				session_start();
				}
				$_SESSION['email'] = $email;
						header ('location: administrateur.php');
				}
	}
	setcookie($_POST['email'],"",time()+3600);   
	}
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
16 juin 2015 à 16:04
Voici ton code corrigé :
<?php
// Démarrer les SESSION  AVANT TOUT AUTRE CHOSE !
if(session_id() == '') {
session_start();
}
		
		
$query = "SELECT * FROM `users` WHERE email='$email' and password='$password'";
	$res = mysql_query($query) or die(mysql_error());
	$count= mysql_num_rows($res);
	if ($count == 1){
    $_SESSION['admin'] = false;
		$_SESSION['email'] = $email;
		header ('location: useer.php');
		}
	else {
		$query = "SELECT * FROM `admin` WHERE email='$email' and password='$password'";
		$res = mysql_query($query) or die(mysql_error());
		$count= mysql_num_rows($res);
			if ($count == 1){
		    $_SESSION['admin'] = true;
				$_SESSION['email'] = $email;
						header ('location: administrateur.php');
				}
	}
	setcookie($_POST['email'],"",time()+3600);   
	}


... par contre... je vois que tu as fais deux tables... une pour les users.. une pour les admins...
Le mieux serait de n'avoir qu'une seule table ... qui aurait (en plus des autres champs) un champ : isadmin .. que tu mettrais à 1 ou à 0 en fonction de si l'utilisateur est un admin ou non ....

ce qui modifierait ton code ainsi :
// Démarrer les SESSION  AVANT TOUT AUTRE CHOSE !
if(session_id() == '') {
session_start();
}
		
//récupération des variables
$email = isset($_POST['email'])?$_POST['email']:NULL;
$password = isset($_POST['password'])?$_POST['password']:NULL;		
		
		
$query = "SELECT * FROM `users` WHERE email='$email' and password='$password'";
	$res = mysql_query($query) or die(mysql_error());
	$count= mysql_num_rows($res);
	
	if ($count == 1){
	 // l'utilisateur existe
	  setcookie($email,"",time()+3600);   
	 	$row = mysql_fetch_row($result)
    $isadmin = $row['isadmin'];
		$_SESSION['email'] = $email;
		if($isadmin == 1 ){
		  $_SESSION['admin'] = true;
			header ('location: administrateur.php');
		}else{
		  $_SESSION['admin'] = false;
		  header ('location: useer.php');
		}
	else {
		echo "<br> Erreur : il y a ".$count ."  resultats pour cette requete";
	}
	
	}

0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
16 juin 2015 à 16:10
Et pour ce qui est de ta page Photos..... (celle où tu affiches les photos...)
tu peux faire :
$strWhere = isset($_SESSION['isadmin'])  && $_SESSION['isadmin'] == true ? "WHERE email = '$email'  ": '';
$sql = "SELECT * FROM users ".$strwhere;
0
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
16 juin 2015 à 17:22
j'ai utilise isadmin mais j'ai ajoute un champ dans la table user et modifier les admin
isadmin =1

mais ne fonctione pas
il lu tous les utilisateurs comme user et la destination userr.php toujours
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
16 juin 2015 à 17:24
Désolé.. petite erreur :
$row = mysql_fetch_row($result)


A remplacer par :
$row = mysql_fetch_row($res)
0
khalidouche Messages postés 26 Date d'inscription jeudi 11 juin 2015 Statut Membre Dernière intervention 16 juin 2015
16 juin 2015 à 17:32
MEME problemee toujours
vers la page user . php
comme user
0
jordane45 Messages postés 38217 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 juillet 2024 4 681
16 juin 2015 à 19:06
Ajoute un print_r ( $row); et colle nous le résultat.
Montre nous aussi le ode que tu utilises (y compris avec le print_r )
0