[php et mysql] erreur sql: undefined index

nina_bee

Nouveau membre
bonjour, je suis en train de creer la partie admin d'un site. Le fonctionnement est simple: dans une première page je voudrais afficher tous les produits. En cliquant sur le lien d'un produit, on est dirrigé vers sa fiche (avec le nom, la reference, le description etc)
le probleme est que quand je clique sur le lien j'ai:
Notice: Undefined index: id in f:\cna\espiral\espiral_site\admin\fiche_produit.php on line 8

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\cna\espiral\espiral_site\admin\fiche_produit.php on line 10
array(1) { ["id1"]=> string(0) "" }

pour le code:
celui de la page liste:
[cpp]
<?php
require("connection.inc.php");
mysql_select_db($base)or die("erreur sql".mysql_error());
//on démarre la session
session_start();
//s'il n'existe pas de variable de session login on redirrige l'internaute sur la page index_admin.php
if(!isset($_SESSION['login'])){header('Location:index_admin.php');}
$requete="SELECT * FROM produits ORDER BY nom ASC";
$resultat=mysql_query($requete)or die("erreur sql".mysql_error());
?>
[/cpp]
Code:
<div id="conteneur">
	<div id="header">
		<div id="logo"><a href="../template.php"><img src="img/logo_espiral.gif" align="absmiddle" border="0px" ></a></div>
		<div id="welcome"><?php echo $titrepage ?></div>
	</div>
	<div id="page">
		<div id="col">
			<div class="nav"><a href="index_admin.php">déconnection</a></div>
			<div class="nav"><a href="modifSupprim_produits.php">produits</a></div>
			<div class="nav"><a href="modifSupprim_agenda.php">agenda</a></div>
			<div class="nav"><a href="modifSupprim_membres.php">membres</a></div>
		</div>
		<div id="contenu">
			<div class="ligne">
				<div class="list">nom</div>
				<div class="list">modifier</div>
				<div class="list">supprimer</div>
			</div>
			 <?php 
			 	while ($ligne=mysql_fetch_array($resultat)){
			?>
			<div class="ligne">
				<div class="list"><a href="fiche_produit.php?id<?php echo $ligne['id']?>"><?php echo $ligne['nom']?></a></div>
				<div class="list"><a href="modif_produits.php?id=<?php echo $ligne['id']?>">modifier</a></div>
				<div class="list"><a href="supprim_produits.php?id=<?php echo $ligne['id']?>">supprimer</a></div>
			</div>
			<?php }  ?>
			<div class="addproduit"><a href="addproduits.php">ajouter un produit</a></div>
			
		</div>
	</div>
	</div>
</div>
</body>
</html>



et le code de la page fiche:
[cpp]
<?php
//appel de la connexion qui se trouve dans unfichier externe
require ("connection.inc.php");
include ("fonctions.inc.php");
//selectionner la base de données
mysql_select_db($base) or die ("erreur sql a".mysql_error());
//je fais appel a ma base de données
$requete="SELECT * FROM produits WHERE id=".$_GET['id'];
$resultat=mysql_query($requete); //or die("erreur SQL : ".mysql_error());
$ligne=mysql_fetch_array($resultat);
var_dump($_GET);
?>
[/cpp]
Code:
<div id="conteneur">
	<div id="header">
		<div id="logo"><a href="../template.php"><img src="img/logo_espiral.gif" align="absmiddle" border="0px" ></a></div>
		<div id="welcome"><?php echo "bonjour, ".$_SESSION['login']?></div>
	</div>
	<div id="page">
		<div id="col">
			<div class="nav"><a href="index_admin.php">déconnexion</a></div>
			<div class="nav"><a href="modifSupprim_produits.php">produits</a></div>
			<div class="nav"><a href="modifSupprim_agenda.php">agenda</a></div>
			<div class="nav"><a href="modifSupprim_membres.php">membres</a></div>
		</div>
		<div id="contenu">
			<div class="ligne">
				<div class="info">Nom: <?php echo $ligne['nom'] ?></div>
				<div class="info">Ref&eacute;rence: <?php echo $ligne['ref'] ?></div>
			</div>
			<div class="ligne">
				<div>Description: <?php echo $ligne['description'] ?></div>
			</div>
			<div class="ligne">
				<div class="info">Taille: <?php echo $ligne['taille'] ?></div>
				<div class="info">Prix: <?php echo $ligne['prix'] ?></div>
			</div>
			<div class="ligne">
				<div>Photo: <?php echo $ligne['photo'] ?></div>
			</div>
		</div>
	</div>
	</div>
</div>
</body>
</html>
voila je ne sait pas ce qui se asse j'ai vérifié les noms de la bdd et tout correspond... :cry: je ne sais plus quoi faire donc si qqun a une idée....
 

marsien

Grand Maître
Ca veut juste dire que dans ta fiche produit, tu utilises une variable $_GET['id'], alors que tu ne dois pas la transmettre par l'url... As-tu dans ton url quelque-chose comme fiche_produit.php?id=1 ?

Au fait, pour que ton code soit lisible, faut utiliser les balises
Code:
 (et non [php] ou [html]) ;)
 

zeb

Modérateur
( Spa con de sa part, à Nina. Elle a vu CPP pour le C++, alors elle écrit PHP ou HTML pour les langages qu'elles utilisent. Mais c'est raté :/ On est trop __________ (*) pour avoir la coloration syntaxique pour tous les langages alors nous n'avons que [CPP] et
Code:
, qui sont en fait synonymes :sarcastic:

Merci de bien vouloir corriger.

(*) mettre tout le mal que vous pensez de PPC ici :whistle: )
 

nina_bee

Nouveau membre
oui, quand je clique sur le lien du premier produit, la barre d'adresse affiche bien:http://......./Espiral/admin/fiche_produit.php?id1
(désolé pour ce code tout moche...)
 

marsien

Grand Maître
ben voilà l'erreur ! il faut que ton url termine par .php?id=1

Il faut un "=" entre id et le numéro ;) sinon actuellement ta variable transmise est $_GET['id1'] et non $_GET['id'] !
 

nina_bee

Nouveau membre
alors je dois remplacer:
Code:
<a href="fiche_produit.php?id<?php echo $ligne['id']?>">
par
<a href="fiche_produit.php?id=<?php echo $ligne['id']?>">
?
aller c'est parti!!!
 

zeb

Modérateur
(marsien: Tant que l'espace reste vide :whistle:
nina_bee: [strike]Tu peux te corriger, c'est le ptit bouton
Vous devez être connecté pour voir les images.
[/strike] )
 

salva57580

Nouveau membre


Bonjour,

J'ai la même erreur sur mon site mais sur la page d'accueil avant même que je n'envoie une requête !!!

Code:
Notice: Undefined index: petition in /var/www/vhosts/monsite.com/httpdocs/petition.php on line 9

A la ligne 9 j'ai cela :
Code:
if ($HTTP_POST_VARS['petition']=="ok")


Cette page fonctionnait très bien avant le passage à php5

Merci

@+
 

sisier

Grand Maître


Essaie d'utiliser $_POST à la place de $HTTP_POST_VARS


 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 124
Messages
6 717 732
Membres
1 586 356
Dernier membre
TommyStam
Partager cette page
Haut