fomulaire de gestion

Eléphanteau du PHP | 32 Messages

12 août 2005, 08:43

bonjour à tous,
je veux créer un fomulaire pour la gestion des produits, j'y vais petit a petit en commençant par le formulaire d'ajout. cependant j'ai un message d'erreur et je ne vois vraiment pas d'où est ce que ça peut venir
merci d'avance

formulaire1
<?php
    
    
    //On récupère l' id de notre produit en le protègeant des attaques par injection
    $id_produit = mysql_real_escape_string($_GET['idproduit']);
    
    //On teste pour savoir si on ajoute...
if (isset($_POST['bouton']))
{
	switch(stripslashes($_POST['bouton']))
	 {
		case 'Ajouter' :		    
        //On redirige vers la page d' ajout
        header("Location page_ajouter.php?idproduit=$id_produit");
		break;	
    
    	case 'Modifier' :
		if (isset($_POST['idproduit']))         
        //On redirige vers la page de suppression
        header("Location page_supprimer.php?idproduit=$id_produit");        
   		break;
page_ajouter.php (je ne mets pas la partie php)
<? 
// récupération des variables du formulaire
		$nomproduit = $_POST['nomproduit'];		
		$descproduit = $_POST['descproduit'];
		// insertion dans la table Enseignant
		$rqt = "INSERT INTO produit (nomproduit,descproduit)".
		" VALUES ('$nomproduit','$descproduit')";// 			
		mysql_query($rqt) or die(mysql_error());
			
		// récupération de l'identifiant de l'enseignant ajouté
		$idproduit = mysql_insert_id();
		}
?>

Eléphanteau du PHP | 32 Messages

12 août 2005, 08:46

le message d'erreru qui dit que idproduit n'est pas défini

Undefined index: idproduit in c:\program files\easyphp1-7\www\sitef\gestionp2.php on line 55

ligne 55-->$id_produit = mysql_real_escape_string($_GET['idproduit']);

Mammouth du PHP | 19672 Messages

12 août 2005, 09:00

Ça veut dire que idproduit n'est pas dans les paramètres de l'url...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 32 Messages

12 août 2005, 09:09

merci mais je ne vous ai pas tres bien compris
vous voulez peut etre dire que idproduit n'est pas dans la base?

Mammouth du PHP | 19672 Messages

12 août 2005, 09:12

non, $_GET['variable'] fait référence à un paramètre passé par l'url d'une page, ici en l'occurence par exemple à index.php?variable=valeur

Donc si le message indique Undefined index: variable... c'est que le paramètre n'a pas été défini dans l'url et ne peut donc pas être récupéré.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 32 Messages

12 août 2005, 09:23

merci mais je ne vois pas sur les deux codes la où peut provenir l'errereur pour la redirection j'ai bien mis $idproduit
header("Location form_ajout_produit.php?idproduit=$id_produit");

Mammouth du PHP | 19672 Messages

12 août 2005, 09:30

D'abord, ça devrait être:
header("Location : form_ajout_produit.php?idproduit=". $id_produit);
Ensuite, est-ce que tu vois bien dans ton url le paramètre et une valeur qui va avec ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 32 Messages

12 août 2005, 09:34

merci beaucoup j'ai vu plus clair , ça marche !!!!