Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/10/2011, 11h18   #1
Membre régulier
 
Avatar de MelkInarian
 
Inscription : février 2007
Messages : 173
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 173
Points : 73
Points : 73
Par défaut Variables d'une page php contenant des include

Bonjour à toutes et à tous!
Je suis débutant, j'apprends HTML5, PHP et Javascript pour créer un site local pour des règles de D&D3.5.
Il contient plusieurs milliers de pages.

Mes pages sont découpées en 4 blocs:
1 - Entête (Haut.php)
2 - Bas de page (Bas.php)
3- au centre à gauche un "navigateur"
4- au centre à droite le corps de ma page.
Pour 3 et 4 j'utilise des colonnes factices.

Pour faciliter le classement j'ai créé 24 répertoires contenant chacun plusieurs répertoires en cascade.
Dans chaque répertoire de la racine (les 24) j'ai créé un fichier (Haut.php) qui contient toute la partie <head> et ce que ci-dessus j'appelle (3- au centre à gauche un "navigateur") c'est ce qui change peu d'une page à l'autre.
Les seuls changements sont :
- <title>
- 2 liens (page précédente, page suivante)
- x liens représentant l'arborescence amont de la page (Chapitre, sous-chapitre...)

Chaque page php "principale" ne contient que la partie 4 plus:
- elle commence par une requête MySQL récupérant les données pour :
* <title>
* 2 liens (page précédente, page suivante)
* La date de mise à jour de la page
* La position de la page dans l'arborescence
* Le nom de la page "sans .php"
- l'include de Haut.php
- le corps de page
- l'include de Bas.php
Code :
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
 
<?php
	echo $_GET['Nom'];
	if(isset($_GET['Nom'])) 		// Si le paramètre Nom (qui représente le nom de la page) est présent
	  {
		$serveur = "localhost";	// Le serveur
		$nom_base = "MaBase";	// La Base de données
		$login = "MonLogin";	// le login
		$pwd = "MonPswd";	// Le mot de passe
 
		// connexion à MySQL
		$link = mysql_connect($serveur,$login,$pwd) or die('ERREUR '.mysql_error());
 
		// sélection de la base de données<br />
		mysql_select_db ($nom_base) or die ('ERREUR '.mysql_error());
 
		// J'effectue une requête
		$requete = "SELECT * FROM navig WHERE nom = Nom"; // SELECT(ionner) * (tous les champs) FROM (depuis) navig (la table navig) WHERE (pour lesquels) nom (le champ nom) = (est égal à) Nom (la chaine contenue dans le paramètre passé Nom)
		$resultat = mysql_query($requete, $link) or die($requete . " - " . mysql_error());
 
		$ligne = mysql_fetch_assoc($resultat);	// $ligne contiendra un enregistrement complet de la table
 
	  }
	echo $ligne["id"] . " - " .$ligne["Nom"] . " - " .$ligne["Avant"] . " - " .$ligne["Apres"] . " - " .$ligne["Titre"] . " - " .$ligne["DateMaJ"] . " - " . " - " .$ligne["Arbre"];
 
	include('Haut.php');
	?>
Mon problème est que Haut.php, et bas.php ne "voient" pas mes $ligne[], car <title>, mes 2 liens (page précédente, page suivante) et La date de mise à jour de la page ne se mettent pas à jour sur les pages appelées.
Pourtant l'echo m'affiche l'enregistrement donc la requête fonctionne.
J'ai oublié de dire que lors de l'appel d'une page j'ajoute un paramètre
Code :
<a href="../PERSO/_0Descrpt.php?Nom=_0Descrpt">Description</a>
et que ce Nom est un champ indexé de ma base.
Voila, j'espère avoir été clair dans l'exposé de mon problème.
Inutile de vous dire que depuis plusieurs jours j’écume "GOGOL" mais je n’ai pas trouvé de solution claire j'ai lu des choses sur $GLOBAL mais je n'ai pas bien compris le fonctionnement et en plus il est dit que çà engendrait des failles de sécurité.
Pardon pour la longueur et merci pour vos explications éclairées à venir.
MelkInarian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 18h18   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 664
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 664
Points : 5 390
Points : 5 390
Pour résumer : tu as un script B.php inclus dans ton script A.php et tu veux utiliser dans B.php des variables définies dans A.php avant l'appel à l'include. C'est bien ça ?
Normalement c'est possible, sans global ni rien.
Citation:
Envoyé par PHP.net
Lorsqu'un fichier est inclus, le code le composant hérite de la portée des variables de la ligne où l'inclusion apparaît. Toutes les variables disponibles à cette ligne dans le fichier appelant seront disponibles dans le fichier appelé, à partir de ce point.
http://fr2.php.net/manual/fr/functio...hp#example-137

Tu as essayé de faire un var_dump($ligne); au début de haut.php ?
Tu pourrais aussi nous montrer le code de haut.php.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 00h05   #3
Membre régulier
 
Avatar de MelkInarian
 
Inscription : février 2007
Messages : 173
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 173
Points : 73
Points : 73
Citation:
Envoyé par Celira Voir le message
Pour résumer : tu as un script B.php inclus dans ton script A.php et tu veux utiliser dans B.php des variables définies dans A.php avant l'appel à l'include. C'est bien ça ?
Normalement c'est possible, sans global ni rien.
C'est bien çà sauf que lorsque j'essaye d'écraser le contenu de <title> çà ne le fait pas. Idem pour les liens de navigation qui ne se mettent pas à jour.
Citation:
Envoyé par Celira Voir le message
Tu as essayé de faire un var_dump($ligne); au début de haut.php ?
Tu pourrais aussi nous montrer le code de haut.php.
Je ne connais pas cette commande
Citation:
var_dump($ligne);
.
Je vais m'instruire un peu plus.
Toute cette après-midi j'ai modifié ma façon de faire et au lieu de prendre un fichier .php dans lequel j'inclus un entête et un bas de page j'ai fait le contraire.
J'ai créé un fichier base.php dans lequel j'inclue au milieu le fichier xy.php qui contient la partie qui diffère grandement d'une page à l'autre.
J'ai réussi à faire les mises à jour de <title> et des liens de navigation, mais maintenant je bloque sur ma requête qui me renvoie toujours le même enregistrement, le premier.
Voici mon fichier "00Base0.php"
J'ai créé un clone qui s'appelle "00Base1.php" et d'une page sur l'autre j'appelle tantôt l'un tantôt l'autre pour être sûr de tout recharger dans la recherche de mon problème de requête qui semble ne pas s'exécuter.
Mon fichier précédemment nommé Haut.php est la 1ère partie jusqu'au require.
Code :
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
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<!DOCTYPE html>
<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
	<head>
		<meta charset="UTF-8" />
		<meta name="author" content="GSA" />
		<meta lang="fr" name="keywords" content="D&amp;D, DRS, Donjons, Dragons, Aquila," />
		<!-- La feuille de styles "base.css" doit être appelée en premier. -->
		<link rel="stylesheet" type="text/css" href="../0-Res/base.css" media="all" />
		<link rel="stylesheet" type="text/css" href="../0-Res/DetD.css" media="screen" />
		<script type="text/JavaScript" src="../0-Res/DD.js"></script>
		<script type="text/JavaScript" src="tree_items.js"></script>
		<script type="text/JavaScript" src="tree_tpl.js"></script>
		<!-- On doit donner une largeur au <pre> à cause d'Internet Explorer, on ne va donc l'appliquer qu'à Internet Explorer en utilisant le  commentaire conditionnel suivant, à placer dans la partie HTML,  et plus précisément dans l'élément <head> : -->
		<!--[if IE]><style type="text/css"> html pre{ width: 636px ;}</style> <script src="js/html5.js"></script><![endif]-->
		<!-- Attribuer des valeurs identiques à l'attribut "name" et à l'attribut "id" :
		L'attribut "name" est remplacé par l'attribut "id" ( identification d'un objet communication avec le DOM ). cependant, pour des raisons de compatibité avec les anciens navigateurs,il est conseillé d'utiliser les deux attributs à la fois, en leur attribuant des valeurs identiques. -->
 
		<?php
			$Precedent = null;						// Création et initialisation de variable
			$Suivant = null;						// Création et initialisation de variable
			$Nom = null;							// Création et initialisation de variable
			$ligne = null;							// Création et initialisation de variable
			$url = null;							// Création et initialisation de variable
			$ext = null;							// Création et initialisation de variable
			$Base0 = false;							// Création et initialisation de variable
			$Base1 = false;							// Création et initialisation de variable
			$PajApL = null;							// Création et initialisation de variable
 
 
 
			function ParamNom($P,$entree, $i) 		// Fonction qui a 2 utilités : 	si $P = "." alors $i = 0 et elle enlève ".php" de la chaine d'entrée
			  {										//								si $P = "'" alors $i = 1 et elle supprime les simples côtes qui entourent Nom.
			    if ($entree[0]<>"'")and($P<>".")	// Si $split ne commence pas par "'" c'est que $entree ne contenait pas $P ET si $P <> "." on retourne $entree
				  {
					return $entree;			
				  }
				else 								// Si $entree commence par $P on continue
				  {
					$split = explode($P,$entree);	// explode — Coupe une chaîne en segments ; Description : array explode ( string $delimiter , string $string [, int $limit ] )
													// explode() retourne un tableau de chaînes, chacune d'elle étant une sous-chaîne du paramètre string extraite en utilisant le séparateur delimiter. 
													// delimiter : Le séparateur. S'il est absent de string alors explode renvoie une chaine vide
													// string : La chaîne d'entrée. 
													// limit :     Si limit est défini et positif, le tableau retourné contient, au maximum, limit éléments, et le dernier élément contiendra le reste de la chaîne. Si le paramètre limit est négatif, tous les éléments, excepté les -limit derniers éléments sont retournés. Si limit vaut zéro, il est traité comme valant 1.
					return $split[$i];				
				  }
			  }
 
 
			function NomPage($url = "",$ext = ".php") // Pour extraire le nom de la page en cours
			  {
				if($url=="") $url = $_SERVER['PHP_SELF']; // S'il n'y a pas de paramètre $url ou si celui ci est vide on affecte l'url de la page en cours
				//echo "|-" . $url . "-|" ;
				$chaine = basename($url,$ext);
				//echo "Z" . $chaine . "Z" ;
				return $chaine;						// on renvoie le nom de la page sans extension
			  }
 
			if (NomPage() == "00Base0")
				{ 
				$Base0 = true;
				$Base1 = false;
				}
			if (NomPage() == "00Base1")
				{ 
				$Base0 = false;
				$Base1 = true;
				}
				//echo "><" . $Base0 . "><" ;
				//echo "><" . $Base1 . "><" ;
			if ($Base0) {
				$PajApL = "00Base1";
				echo "oooo" . $PajApL . "oooo" ;
				}
			elseif  ($Base1) {
				$PajApL = "00Base0";
				echo "oooo" . $PajApL . "oooo" ;
				};
 
			//--------------------------------------------------------------------------------------------------------------------------------------------------
			//             MA REQUETE
			//--------------------------------------------------------------------------------------------------------------------------------------------------
 
			if(isset($_GET['Nom'])) 				// Si le paramètre Nom (qui représente le nom de la page) est présent
			  {
				$serveur = "localhost";				// Le serveur
				$nom_base = "MaBase";					// La Base de données
				$login = "MonLogin";					// le login
				$pwd = "MonPwd";					// Le mot de passe
				$Nom = $_GET['Nom'];				// $Nom contiendra le nom de la page à afficher qui a été passé en paramètre depuis la page précédemment affichée
				$Nom = ParamNom("'",$Nom,1);		// il faut supprimer les simples côtes qui entourent 'Nom'.
				echo "°°°>" . $Nom . "<°°°" ;
				echo "°°°°|" . $_GET['Nom'] . "|°°°°" ;
 
				// connexion à MySQL
				$link = mysql_connect($serveur,$login,$pwd) or die('ERREUR '.mysql_error());
 
				// sélection de la base de données<br />
				mysql_select_db ($nom_base) or die ('ERREUR '.mysql_error());
 
				// J'effectue une requête
				$requete = "SELECT * FROM navig WHERE nom = Nom"; // SELECT(ionner) * (tous les champs) FROM (depuis) navig (la table navig) WHERE (pour lesquels) nom (le champ nom) = (est égal à) Nom (la chaine contenue dans le paramètre passé Nom)
				$resultat = mysql_query($requete, $link) or die($requete . " - " . mysql_error());
				$ligne = mysql_fetch_assoc($resultat);	// $ligne contiendra un enregistrement complet de la table
 
				echo "|" . $ligne["id"] . "|" . $ligne["Nom"] . "|" . $ligne["Avant"] . "|" . $ligne["Apres"] . "|" . $ligne["Titre"] . "|" . $ligne["DateMaJ"] . "|" . $ligne["Arbre"] . "|";
 
				$Precedent = $ligne["Avant"];
				$Suivant = $ligne["Apres"];
			  }
			//--------------------------------------------------------------------------------------------------------------------------------------------------			//             FIN de MA REQUETE
			//--------------------------------------------------------------------------------------------------------------------------------------------------
 
		?> 
 
		<title><?php echo $ligne["Titre"]; ?></title> <!-- on affecte le titre de la page à partir de la base MySQL -->
 
 	</head>
 
	<body>
 
		<div id="global">
 
			<!-- **************************************   DEBUT DE LA PARTIE ENTETE ********************************************** -->
			<div id="entete">
 
				<!-- DEBUT PAGE HEADER -->
				<table id="pageHeader">
					<tbody>
 
						<!-- LIGNE 1 -->
						<tr> <!-- La balise <tr> représente une ligne de tableau (Nous sommes ici dans la première ligne) -->
 
							<!-- LIGNE 1 COLONNE 1 -->
							<td id="L1C1" class="left"> <!-- La balise <td> représente une colonne de tableau (Nous sommes ici dans la 1ère colonne de la 1ère ligne)-->
								<h1><a class="noHover" href="../Index.html" target="_parent" Title="Page d'accueil">
									<img src="../0-Res/Img/logo.jpg" alt="Logo D20 system">
								</a>DRS - Règles de Donjons & Dragons 3.5</h1>
							</td>
							<!-- FIN de LIGNE 1 COLONNE 1 -->
 
							<!-- LIGNE 1 COLONNE 2 -->
							<td id="L1C2" class="right"> <!-- La balise <td> représente une colonne de tableau (Nous sommes ici dans la 2ème colonne de la 1ère ligne)-->
 
								<!-- DEBUT TOOLS UTILITIES-->
								<div class="utilities">
										<a href="../GLOSr/_Glossaire.html" target="_parent" Title="Glossaire">
											Glossaire
										</a>
									| <a href="../Lexik.html" target="_parent"> Table des matières </a>
								</div>
								<!-- FIN TOOLS UTILITIES-->
 
							</td>
							<!-- FIN de LIGNE 1 COLONNE 2 -->
 
						</tr> <!-- FIN de la 1ère ligne -->
						<!-- FIN de LIGNE 1 -->
 
						<!-- LIGNE 2 -->
						<tr> <!-- La balise <tr> représente une ligne de tableau (Nous sommes ici dans la 2ème ligne) -->
 
							<!-- LIGNE 2 COLONNE 1 -->
							<td id="L2C1" class="left"> <!-- La balise <td> représente une colonne de tableau -->
								<!-- DEBUT NAVIGATION ARBRES ITEM--><span class="arbre"> <a href="../Index.html">Accueil</a> &gt; </span><!-- FIN NAVIGATION ARBRES ITEM-->
								<!-- DEBUT NAVIGATION ARBRES ITEM--><span class="arbre"> <a href="../PERSO/"$PajApL".php?Nom=_00PJ">Personnages</a> &gt; </span><!-- FIN NAVIGATION ARBRES ITEM-->
								<!-- DEBUT NAVIGATION ARBRES ITEM--><span class="arbre"> <a href="../PERSO/"$PajApL".php?Nom=_0Descrpt">Description</a> &gt; </span><!-- FIN NAVIGATION ARBRES ITEM-->
								<!-- DEBUT NAVIGATION ARBRES HERE--><span class="arbre"> <?php echo $ligne["Titre"]; ?> </span><!-- Le libellé affiché est en fait le nom de la page --><!-- FIN NAVIGATION ARBRES HERE-->
							</td>
							<!-- FIN de LIGNE 2 COLONNE 1 -->
 
							<!-- LIGNE 2 COLONNE 2 -->
							<td id="L2C2" class="right">
								<!-- START PAGE NAVIGATION NEXT IN SEQUENCE IMAGES -->
								<p class="pageNavigation">
								<img src="../0-Res/Img/Moins.png" alt="Bouton Précédent"> 
 
								<a id="lienAvant" href='<?php echo $PajApL . ".php" . "?Nom=" . $Precedent;?>'>  <span class="label">Précédent</span></a><!--  -->
 
								&nbsp;&nbsp;
 
								<a id="lienApres" href='<?php echo $PajApL . ".php" . "?Nom=" . $Suivant;?>'>  <span class="label">Suivant</span></a><!--  -->
 
								<img src="../0-Res/Img/Plus.png" alt="Bouton Suivant">
								</p><!-- FIN PAGE NAVIGATION NEXT IN SEQUENCE IMAGES -->
							</td>
							<!-- FIN de LIGNE 2 COLONNE 2 -->
						</tr>
						<!-- FIN de LIGNE 2 -->
 
					</tbody>
				</table><!-- FIN PAGE HEADER -->
			</div><!-- entete - FIN -->
			<!-- **************************************   FIN DE LA PARTIE ENTETE ********************************************** -->
 
			<div id="centre">
 
				<!-- **************************************   DÉBUT DE LA PARTIE NAVIGATION (explorateur de gauche) ********************************************** -->
				<div id="navigation">
					<!-- ARBORESCENCE DU SITE - DÉBUT -->
					<div class="tree">
						<script type="text/JavaScript"> <!--
							new tree (TREE_ITEMS, TREE_TPL);
						--></script>
					</div><!-- ARBORESCENCE DU SITE - FIN -->
				</div><!-- #navigation -->
				<!-- **************************************   FIN DE LA PARTIE NAVIGATION (explorateur de gauche) ********************************************** -->
 
				<div id="contenu">
					<h2><?php echo $ligne["Titre"]; ?></h2> <!-- On utilise le résultat de la requête MySQL de Haut.php : $ligne["Titre"] -->
					<div class="Justif"><h1><!--START PAGE BOX PARTIAL MAP--><span class="breadcrumb">Description</span></h1>
					<!-- **************************************   DEBUT DE LA PARTIE PARTICULIERE (ce qui change d'une page à l'autre) ********************************************** -->
 
 
					<?php 
						$fic = null;
						//$fic = $Nom . ".php";
						$fic = $ligne["Arbre"] . $Nom . ".php";
						echo " Nom de fichier chargé : " . $fic;
						require($fic);
					?>
 
					<!-- **************************************   FIN DE LA PARTIE PARTICULIERE (ce qui change d'une page à l'autre) ********************************************** -->
					</div>
				</div><!-- #contenu -->
 
			</div><!-- #centre -->
 
			<!-- **************************************   DEBUT du PIED de PAGE (Ne change pas) ********************************************** -->
			<div id="pied">
				<div id="Fond">
					<a href="#entete" title="Haut">
						Accéder en haut de la page
					</a>
				</div><!-- #Fond -->
				<div id="DernierMaJ">
 
					<?php
						function dateFR($date) 		// Fonction qui remet la date au format français : jj-mm-aaaa
						{
						$split = explode("-",$date);	// explode — Coupe une chaîne en segments ; Description : array explode ( string $delimiter , string $string [, int $limit ] )
													// explode() retourne un tableau de chaînes, chacune d'elle étant une sous-chaîne du paramètre string extraite en utilisant le séparateur delimiter. 
													// delimiter : Le séparateur.
													// string : La chaîne d'entrée. 
													// limit :     Si limit est défini et positif, le tableau retourné contient, au maximum, limit éléments, et le dernier élément contiendra le reste de la chaîne. Si le paramètre limit est négatif, tous les éléments, excepté les -limit derniers éléments sont retournés. Si limit vaut zéro, il est traité comme valant 1.
						$annee = $split[0];
						$mois = $split[1];
						$jour = $split[2];
 
						return $jour."-".$mois."-".$annee;
						}
					echo "Dernière mise à jour : " . dateFR($ligne["DateMaJ"]); ?>
				</div><!-- #DernierMaJ -->
			</div><!-- #pied -->
			<!-- **************************************   FIN du PIED de PAGE (Ne change pas) ********************************************** -->
 
		</div><!-- #global -->
 
	</body>
</html>
MelkInarian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 10h00   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 188
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 188
Points : 8 565
Points : 8 565
je te conseil de séparer ton code en plusieurs fichier
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 12h22   #5
Membre régulier
 
Avatar de MelkInarian
 
Inscription : février 2007
Messages : 173
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 173
Points : 73
Points : 73
Citation:
Envoyé par stealth35 Voir le message
je te conseil de séparer ton code en plusieurs fichier
Bonjour stealth35,
Je ne comprends pas votre conseil!
Dois-je saucissonner encore plus mon code dans des include()
merci
MelkInarian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 13h16   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 188
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 188
Points : 8 565
Points : 8 565
Citation:
Envoyé par MelkInarian Voir le message
Bonjour stealth35,
Je ne comprends pas votre conseil!
Dois-je saucissonner encore plus mon code dans des include()
merci
oui
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 20h46   #7
Membre régulier
 
Avatar de MelkInarian
 
Inscription : février 2007
Messages : 173
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 173
Points : 73
Points : 73
lors de l'appel de la 2ème page, la requête me donne l'erreur suivante:
Citation:
SELECT * FROM navig WHERE nom = _0Descrpt - Unknown column '_0Descrpt' in 'where clause'
voici la requête :
Code :
$requete = "SELECT * FROM navig WHERE nom = Nom";
et voici un jpeg de ma table
Ce n'est pas un nom de champ que contient Nom mais bien une donnée du champ Nom.
Merci de me guider, je m'arrache les cheveux.
Images attachées
Type de fichier : jpg Table.jpg (179,9 Ko, 2 affichages)
MelkInarian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 10h23   #8
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 664
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 664
Points : 5 390
Points : 5 390
ça n'a peut-être pas d'impact, mais d'habitude lorsqu'on travaille avec des varchar on ajoute des quotes autour...
Code :
$requete = 'SELECT * FROM navig WHERE nom = \''.$Nom.'\' ';
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h26.


 
 
 
 
Partenaires

Hébergement Web