Bonsoir,je suis en train de changer mon fichier "listemembre" pour qu'un visiteurs qui est connecté puisse y inserer une image(une photo de profil).
Je précise que dans cette liste des membres il y'a déjà quelque informations sur les membres inscris.Je sèche donc au niveau de l'insertion de l'image par un membre.
J'ai donc crée 2 tables comme ceci:
ma table membre
Nom : table membre.png
Affichages : 2269
Taille : 91,4 Ko
ma table images
Nom : table img.png
Affichages : 2130
Taille : 55,3 Ko
voici mon fichier "listemembre"(ou je voudrais que les utilisateur inserent leur photo de profil)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<?php
	session_start(); 
	if (!isset($_SESSION['login'])) {
	header('Location: refusacces.html');
	exit();
}
//on définit la taille maximale
  define('MAXSIZE', 100000); 
  define('TARGET', 'photoseleves/');
 
  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 {
		 $fichier = basename($_FILES['image']['name']);
		 $valeurs = explode('.',$fichier);
		//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 {         
 
			if($_FILES['image']['size'] > MAXSIZE)
			   echo 'Votre image est supérieure à la taille maximale de '.MAXSIZE.' octets';
			else {
				   $cible= TARGET.$_SESSION['login']. ".". $valeurs[1];
				   if(move_uploaded_file($_FILES['image']['tmp_name'], $cible)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
					{
						//echo 'Upload effectué avec succès !';
					}
					else //Sinon (la fonction renvoie FALSE).
					{
							echo 'Echec de l\'upload !';
					}
 
				//connexion à la base de données
				$connexion =  mysqli_connect ('localhost', 'root', '', 'mysql');
 
	          // on teste si une entrée de la base contient L image du pseudo
				$sql = 'SELECT count(*) FROM images WHERE login="'.mysqli_escape_string($connexion, $_SESSION['login']).'"';
				$req = mysqli_query($connexion, $sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysqli_error($connexion));
 
				$data = mysqli_fetch_array($req);
				//$req = mysqli_query($connexion, $sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysqli_error($connexion));
 
				if ($data[0] == 0) {
					try {
					$bdd = new PDO('mysql:host=localhost;dbname=mysql', 'root', '');
				    } catch (Exception $e) {
					exit('Erreur : ' . $e->getMessage());
				    }
 
				$req = $bdd->prepare("INSERT INTO images(login, description, img, extension) VALUES(:login, :description, :image, :type)");
				$req->execute(array(
					'login' => $_POST['nom'],
					'description' => $_POST['description'],
					'image' => $cible,
					'type' => $_FILES['image']['type']
					));
 
				//echo 'L\'insertion s est bien déroulée !';
				}
			}
		  }
	  }
  }
 
?>
<!DOCTYPE html>
<html>
    <head> 
 
	    <title>Menu html/Css recensement college</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link rel="stylesheet" href="fichiercss.css">
	<body>
 
		<header>
		<img class="banniere"src="images/banniere creteil.jpg"height="200"style="width: 1350px"VSPACE="0" HSPACE="0" align=center  /> 
			<nav>
			<label for="menu-mobile" class="menu-mobile">Menu</label>
			<input type="checkbox" id="menu-mobile" role="button"> 
			</head>
			<ul>
				<li class="menu-acceuil"><a href="index.php">Accueil </a></li>
				<li class="menu-inscription"><a href="inscription.php">Inscription</a>
				</li>
				<li class="menu-connexion"><a href="connexion.php"> Connexion </a>
				</li>	
				<li class="menu-college"><a href="descriptcollege.html"> Le college Amedee Laplace </a>
				</li>
				<li class="menu-liste"><a href="listemembres.php"> Les anciens eleves du college </a>	
				</li>
				<?php 
 
 
					if(isset($_SESSION['login'])) { 
 
					echo ' vous etes connecte!';
					}
 
				?> 
<body><a href="deconnexion.php"><font style="color:#E81100";>Deconnexion</font></a></body>
			</ul>
		</nav>
		 </div>
	</header><hr>
 
	<h2>Ajouter votre photo de classe</h2>
	<form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
		<p>
			<label for="nom">Nom : </label><input type="text" name="nom" id="nom" value="<?php echo $_SESSION['login']; ?>" /><br/>
			<label for="description">Description : </label><textarea name="description" id="description" rows="6" cols="30"></textarea><br/>
			<label for="image">Image : </label><input type="file" name="image" id="image" /><br/>
			<label for="validation">Valider : </label><input type="submit" name="validation" id="validation" value="Envoyer" />
		</p>
	</form>
 
 
<?php
 
	try
	{
		// On se connecte à MySQL
		$bdd = new PDO('mysql:host=localhost;dbname=mysql;charset=utf8', 'root', '');
	}
	catch(Exception $e)
	{
		// En cas d'erreur, on affiche un message et on arrête tout
			die('Erreur : '.$e->getMessage());
	}
 
	// Si tout va bien, on peut continuer
 
	// On récupère tout le contenu de la table 
	$reponse = $bdd->query('SELECT * FROM membres ,images where login=nom');
 
	// On affiche chaque entrée une à une
	while ($donnees = $reponse->fetch())
	{
?>
    <hr>
    <fieldset><font color="white"><strong>nom du membre :</strong></font>  <strong><font style="color:#7BF200";><?php echo $donnees['nom']; ?></font><br /></font></strong>
     <font color="white"><strong>prenom du membre :</strong></font> <strong><font style="color:#7BF200";><?php echo $donnees['prenom']; ?><br />
	 <font color="white"><strong>L'annee de debut de sa scolarite au college Amedee Laplace:</strong> </font> <strong><font style="color:#7BF200";><?php echo $donnees['date-debut']; ?><font color="white"><strong>, et la fin:</strong></font> <?php echo $donnees['date-fin']; ?><br /></font>
    <font color="white"><strong>situation actuelle:</strong></font> <strong><font style="color:#7BF200";><?php echo $donnees['sit-act']; ?> <br /></font>
	<font color="red"><strong>photo de classe:</strong></font><img  <?php echo  $donnees['id_img'] ;?> /> <br />
  </p></fieldset>
<?php
}
 
	$reponse->closeCursor(); // Termine le traitement de la requête
 
?>
<?php
 
// afficher tout les photos des anciens eleves inscrit sur le site 
      if( !empty($message) ) 
      {
        echo '<p>',"\n";
        echo "\t\t<strong>", htmlspecialchars($message) ,"</strong>\n";
        echo "\t</p>\n\n";
      }
 
		try
		{
	// On se connecte à MySQL
 
		$connexion = mysqli_connect ('localhost', 'root', '', 'mysql');
		}
		catch(Exception $e)
		{
	// En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
		}
		$sql = 'SELECT * FROM membres ,images where login = nom';
		$req = mysqli_query($connexion, $sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysqli_error($connexion));
        while($donnees = mysqli_fetch_assoc($req))
		{
?>
<?php
		}
			mysqli_free_result($req);
?>			
 
<footer class="footer2">
 
	<hr>
	<img src="photosEleves/sami12.jpg" height="60" style="width: 60px;"  VSPACE="0" HSPACE="8" align=left />
	<font color="white"><p>Hella Sami:Créateur du site</p></font>
	<center> <li><a href="http://collegelaplace.free.fr/index.php"> <font style="color:#7BF200";>le site du college Amedee Laplace</font>  </a></li> </center>
	<center> <li><a href="https://www.facebook.com/profile.php?id=100004882458025"><font style="color:#7BF200";> ma page facebook</font> </a></li> </center>
	</footer>
	</body>
Je pense que mon erreur est au niveau des jointures...
Ici le message d'erreur est le suivant:
Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\projet site Sami\listemembres.php on line 146
Merci d'avance