recupérer les données
je vous mets tout le code peut etre que c'est mieux comme ça
<?php
<?
require_once("connexion.php");
$connexion = mysql_connect($server, $user, $motdepasse);
echo "Connexion au serveur ". $connexion ? "réussie": "ratée";
$connexion2 = mysql_select_db($base);
echo "Connexion à la base ". $connexion2 ? "réussie": "ratée";
<table width="760" align="center"><td>
<form name="form1" method="post">
<fieldset style="border:.5pt solid black">
<legend align="center">
<table cellSpacing=1 cellPadding=4 bgColor="#000000" border=0>
<td width="100%" height=24 vAlign="middle" bgColor="#ffba00">
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Gestion des produits</FONT>
</td></table></legend>
<br>
<table align="center">
<td align="center" valign="top">
<table align="center">
<tr><td align="center"><b>Liste des produits</b></td></tr>
<tr>
<td align="center">
<select name='idproduit' size='10'>
<?
// construction de la liste des produits
$rqt = "SELECT idproduit, nomproduit, categorie FROM produit ORDER BY nomproduit";
$res = mysql_query($rqt, $connexion);
echo $rqt;
echo $res;
while ($curseur = mysql_fetch_array($res))
echo '<option value="'.stripslashes($curseur[0]).'" >'.stripslashes($curseur[1]).stripslashes($curseur[2]);?>
</select></td></tr></table></td>
<td align="center" valign="top"><br><br>
<p><input type="submit" name="bouton" value="Ajouter"></p>
<p><input type="submit" name="bouton" value="Supprimer" ></p>
<p><input type="submit" name="bouton" value="Modifier"></p>
</td></table>
<br>
</fieldset>
<br>
</form>
</td></table>
<?php
//On récupère l' id de notre produit en le protègeant des attaques par injection
$id_produit = mysql_real_escape_string($_POST['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 form_ajout_produit.php?idproduit=" . $id_produit);
break;
case 'Modifier' :
if (isset($_POST['idproduit']))
//On redirige vers la page de suppression
header("Location page_modifier.php?idproduit=$id_produit"); //<--ligne 75
break;
//On teste pour savoir si on modofie
case 'Supprimer' :
if(isset($_POST['idproduit']))
//On redirige vers la page de modification
header("Location page_modifier.php?idproduit=$id_produit");
break;
}
}
?>
le 12/08/2005 à 16:20
Bzh
Enlevez les deux "if(isset($_POST['idproduit']))" qui sont totalement inutiles !!!
Lorsque vous voulez ajouter cela fonctionne au moin ??? Vous arrivez bien sur la page "form_ajout_produit.php" ???
Enlevez les deux "if(isset($_POST['idproduit']))" et dites moi...
La logique c' est de répéter trois fois
<?php
case 'Ajouter' :
//On redirige vers la page d' ajout
header("Location form_ajout_produit.php?idproduit=" . $id_produit);
break;
?>
En ne changeant que 'Ajouter' et en rediregeant vers les pages correspondantes...
C'est normal d'avoir çà :
<?php
<?
???
Puis de faire du php, puis de l'html sans echo ou sans ?> pour fermer le php ?
le 12/08/2005 à 16:47
Bzh
Oui, La Globule à raison...
<?php
require_once("connexion.php");
$connexion = mysql_connect($server, $user, $motdepasse);
echo "Connexion au serveur ". $connexion ? "réussie": "ratée";
$connexion2 = mysql_select_db($base);
echo "Connexion à la base ". $connexion2 ? "réussie": "ratée";
?>
<table width="760" align="center"><td>
<form name="form1" method="post">
<fieldset style="border:.5pt solid black">
<legend align="center">
<table cellSpacing=1 cellPadding=4 bgColor="#000000" border=0>
<td width="100%" height=24 vAlign="middle" bgColor="#ffba00">
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Gestion des produits</FONT>
</td></table></legend>
<br>
<table align="center">
<td align="center" valign="top">
<table align="center">
<tr><td align="center"><b>Liste des produits</b></td></tr>
<tr>
<td align="center">
<select name='idproduit' size='10'>
<?php
// construction de la liste des produits
$rqt = "SELECT idproduit, nomproduit, categorie FROM produit ORDER BY nomproduit";
$res = mysql_query($rqt, $connexion);
echo $rqt;
echo $res;
while ($curseur = mysql_fetch_array($res))
echo '<option value="'.stripslashes($curseur[0]).'" >'.stripslashes($curseur[1]).stripslashes($curseur[2]);
?>
</select></td></tr></table></td>
<td align="center" valign="top"><br><br>
<p><input type="submit" name="bouton" value="Ajouter"></p>
<p><input type="submit" name="bouton" value="Supprimer" ></p>
<p><input type="submit" name="bouton" value="Modifier"></p>
</td></table>
<br>
</fieldset>
<br>
</form>
</td></table>
<?php
//On récupère l' id de notre produit en le protègeant des attaques par injection
$id_produit = mysql_real_escape_string($_POST['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 form_ajout_produit.php?idproduit=" . $id_produit);
break;
case 'Modifier' :
if (isset($_POST['idproduit']))
//On redirige vers la page de suppression
header("Location page_modifier.php?idproduit=$id_produit"); //<--ligne 75
break;
//On teste pour savoir si on modofie
case 'Supprimer' :
if(isset($_POST['idproduit']))
//On redirige vers la page de modification
header("Location page_modifier.php?idproduit=$id_produit");
break;
}
}
?>
Cela parait mieu comme ça...
voici le nouveau message d'erreru
Notice: Undefined index: idproduit in c:\program files\easyphp1-7\www\sitef\gestionp2.php on line 61
ligne 61
<?php
$id_produit = mysql_real_escape_string($_POST['idproduit']);?>
le 12/08/2005 à 16:55
Bzh
Lorsque vous lancez votre script, il est important que vous validez votre formulaire. Sinon $_POST['idproduit'] ne sera pas déclaré !!!
Et bien sur votre formulaire doit porter le nom de 'idproduit' (enfin le select) !!!
je pense que le mieux est que je vous explique comment marche mon site
sur la page pricipale il ya un onglet où c'est écrit gestion produit et lorsque l'utilisateur clique dessus il est directement redirigé sur la page gestion 2.php où sont affiché les produits plus les trois boutons ajouter supprimer, modifier lorque par la suite l'administrateur clique sur:
1 )soit ajouter c'est seulement là qu'il ya le formulaire ou il ya les zones de saisies pour le nom de produit
2) soit modifier et il doit etre redirigé vers la pagemodifier.php
3) soit sur supprimer
j'espere avoir été plus clair parce que meme avant hier j'ai tenté de vous l'expliqué mais ce n'était certainemet pas clair
merci
mais s'il
Aucun Code n'est parfait ... (http://www.phpamateur.africa-web.org/)
le 14/08/2005 à 12:04
Bzh
Mais oui !!! Une erreur toute bête !!!!
<?php
require_once("connexion.php");
$connexion = mysql_connect($server, $user, $motdepasse);
echo "Connexion au serveur ". $connexion ? "réussie": "ratée";
$connexion2 = mysql_select_db($base);
echo "Connexion à la base ". $connexion2 ? "réussie": "ratée";
//On teste pour savoir si notre formulaire à bien été validé. S' il n' a pas été validé, on l' affiche. Sinon on traite le formulaire...
if( ! isset($_POST['bouton']) and ! isset($_POST['idproduit']) ){
?>
<table width="760" align="center"><td>
<form name="form1" method="post">
<fieldset style="border:.5pt solid black">
<legend align="center">
<table cellSpacing=1 cellPadding=4 bgColor="#000000" border=0>
<td width="100%" height=24 vAlign="middle" bgColor="#ffba00">
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Gestion des produits</FONT>
</td></table></legend>
<br>
<table align="center">
<td align="center" valign="top">
<table align="center">
<tr><td align="center"><b>Liste des produits</b></td></tr>
<tr>
<td align="center">
<select name='idproduit' size='10'>
<?php
// construction de la liste des produits
$rqt = "SELECT idproduit, nomproduit, categorie FROM produit ORDER BY nomproduit";
$res = mysql_query($rqt, $connexion);
echo $rqt;
echo $res;
while ($curseur = mysql_fetch_array($res))
echo '<option value="'.stripslashes($curseur[0]).'" >'.stripslashes($curseur[1]).stripslashes($curseur[2]);
?>
</select></td></tr></table></td>
<td align="center" valign="top"><br><br>
<p><input type="submit" name="bouton" value="Ajouter"></p>
<p><input type="submit" name="bouton" value="Supprimer" ></p>
<p><input type="submit" name="bouton" value="Modifier"></p>
</td></table>
<br>
</fieldset>
<br>
</form>
</td></table>
<?php
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////
//Le formulaire à bien été validé, donc on le traite SANS AFFICHER d' HTML sinon la fonction header() qui envoit les en-tête va afficher un message d' erreur.
}else{
//On récupère l' id de notre produit en le protègeant des attaques par injection
$id_produit = mysql_real_escape_string($_POST['idproduit']);
switch(stripslashes($_POST['bouton']))
{
//On teste pour savoir si on ajoute...
case 'Ajouter' :
//On redirige vers la page d' ajout
header("Location form_ajout_produit.php?idproduit=" . $id_produit);
break;
//On teste pour savoir si on modifie...
case 'Modifier' :
//On redirige vers la page de modification
header("Location page_modifier.php?idproduit=$id_produit");
break;
//On teste pour savoir si on suprime
case 'Supprimer' :
//On redirige vers la page de supression
header("Location page_modifier.php?idproduit=$id_produit");
break;
}
}
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////
?>
Voila, à mon avis, ça commence à ressembler à quelques choses... Logiquement, il devrait fonctionner, mais je ne l' ai pas tester. A vous de voir...
Bye...
merci,
il ny a plus de message d'erreur mais la redirection ne se fait pas.
ce week end je n'avais pas accès à internet