Aide PHP

Résolu/Fermé
Utilisateur anonyme - 20 déc. 2007 à 11:59
 Utilisateur anonyme - 20 déc. 2007 à 17:14
Bonjour,

J'ai un probleme avec PHP , j'ai 4 fichier, 1: liste_fournisseur.php, 2:efface_fournisseur.php,3: ajout_fournisseur.php , 4: update_fournisseur.php qui me permettent d'afficher, supprimer,ajouter et de mettre à jour des donnes d'une BD.

Mon probleme est le suivant ,j 'arrive à utiliser tous les fichiers , donc a afficher , supprimer , ajouter des donnes sur la BD Adresses/Table Fournisseurs sauf à les mettres à jour , donc si quelqu'un peu m'aider ... MERCI BEAUCOUP d'avance.

Voici mon code pour update_fournisseur.php :

<?php
/* ---------------------------------------------------------------------
*
*
* Auteur: Shaban Jashari
* Date: Decembre 2007
* Description: Mise à jour de la liste: Fournisseur
* ---------------------------------------------------------------------
*/
// Variables

//pas de variable
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Update Fournisseur</title>
<?php
require_once("include/pre.php");
?>
<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
}
a:link {
color: #0000FF;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #FF0000;
}
a:hover {
text-decoration: none;
color: #0099FF;
}
a:active {
text-decoration: none;
color: #0000FF;
}
-->
</style></head>
<?php
//connexion à la base de donnée

if (!$link=mysql_connect("localhost","root","")){
//probleme de connexion
echo " Probleme de connexion à la BD ";
exit;
}

if (!mysql_select_db("Adresses")){
//probleme de selection
echo "Probleme de selection de la BD ";
exit;
}

$nom =getParam($_POST, 'Nom', '');
$adresse = getParam($_POST, 'Adresse', '');
$telephone = getParam($_POST, 'Telephone', '');
$fax = getParam($_POST, 'Fax', '');
$webmail=getParam($_POST,'Webemail',' ');

$Fourni_id= (int) getParam($_GET, 'Fourni_id',0);
$go = (int) getParam($_POST, 'go', 0);

if ($go == true){

//on met à jour les données dans la BD

$sql= "UPDATE fournisseurs SET Nom='$nom', Adresse='$adresse', Telephone='$telephone', Fax='$fax',
Webemail='$webmail' WHERE Fourni_id='$Fourni_id'";

$res = mysql_query($sql);

if ($res == false){
echo "<h4>Problème de mise à jour des utilisateurs</h4>";
exit;
}
echo "<center><h4>Voilà tout a été mise à jour</h4></center>";
echo '<br />';
echo '<center><a href="liste_fournisseur.php"> Liste des fournisseurs</a></center>';

}
else {

//sinon on affiche la base de donée

$sql= "SELECT Nom,Adresse,Telephone,Fax,Webemail,Fourni_id FROM fournisseurs WHERE Fourni_id=$Fourni_id ";

$res=mysql_query($sql);

if($res == false){
echo "<h4>Probleme d'affichage</h4>";
exit;
}

$row=mysql_fetch_array($res);

?>

<h2 align="center">Mettre à jour un Fournisseur</h2>
<br>
<a href="liste_fournisseur.php">Liste des fournisseurs <a>

<center><form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p>Nom<br />
<textarea name="Nom" wrap="virtual"><?php echo $row['Nom']; ?> </textarea>
</p>
<p>Adresse<br />
<textarea name="Adresse" wrap="virtual" ><?php echo $row['Adresse']; ?></textarea>
</p>
<p>Telephone<br />
<textarea name="Telephone" wrap="virtual"><?php echo $row['Telephone']; ?></textarea>
</p>
<p>Fax<br />
<textarea name="Fax" wrap="virtual"><?php echo $row['Fax']; ?></textarea>
</p>
<p>Web et mail<br />
<textarea name="Webemail" wrap="virtual"><?php echo $row['Webemail']; ?></textarea>
</p>
<p>
<input name="go" type="hidden" value="1" />
<input name="Fourni_id" type="hidden" value="<?php echo $Fourni_id; ?>" />(Cette ligne je ne sais pas si elle sert a quelque chose)
<input type="submit" name="Submit" value="Mettre à jour">
<br />
</p>
</form></center>
<?php
}
?>
</body>
</html>
A voir également:

7 réponses

Bonjour,

$Fourni_id= (int) getParam($_GET, 'Fourni_id',0);
Tu envoies un formulaire par POST et tu essayes de récupérer une valeur par $_GET, normal que ça ne marche pas

(Cette ligne je ne sais pas si elle sert a quelque chose)
Donc tu as repompé quelque chose sans chercher à comprendre. Si, elle sert, justement à retrouver la valeur de $Fourni_id d'un appel du formulaire à l'autre.
0
Utilisateur anonyme
20 déc. 2007 à 13:32
Ok merci pour ta réponse , j'essaie et je te redit si ca marche.
0
Utilisateur anonyme
20 déc. 2007 à 14:03
Salut , merci pour ta réponse mais c'etait pas cela.

En fait je récupérai la valeur Fourni_id avec GET et pour faire la mise à jour j'ai mis REQUEST.

Ca fonctionne niquel.

J'ai récupéré la valeur Fourni_id avec GET et la renvoi avec POST , mais j'ai changé j ai mis REQUEST au lieu de GET et comme ca il trouve tout seul la solution.

J'espere que ca aidera quelqu'un , merci pour vos réponses.

Voici mon code qui fonctionne :

<?php
/* ---------------------------------------------------------------------
*
*
* Auteur: Shaban Jashari
* Date: Decembre 2007
* Description: Mise à jour de la liste: Fournisseur
* ---------------------------------------------------------------------
*/
// Variables

//pas de variable
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Update Fournisseur</title>
<?php
require_once("include/pre.php");
?>
<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
}
a:link {
color: #0000FF;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #FF0000;
}
a:hover {
text-decoration: none;
color: #0099FF;
}
a:active {
text-decoration: none;
color: #0000FF;
}
-->
</style></head>
<?php
//connexion à la base de donnée

if (!$link=mysql_connect("localhost","root","")){
//probleme de connexion
echo " Probleme de connexion à la BD ";
exit;
}

if (!mysql_select_db("Adresses")){
//probleme de selection
echo "Probleme de selection de la BD ";
exit;
}

$nom =getParam($_POST, 'Nom', '');
$adresse = getParam($_POST, 'Adresse', '');
$telephone = getParam($_POST, 'Telephone', '');
$fax = getParam($_POST, 'Fax', '');
$webmail=getParam($_POST,'Webemail',' ');

$Fourni_id= (int) getParam($_REQUEST, 'Fourni_id',0);
$go = (int) getParam($_POST, 'go', 0);

if ($go == true){

//on met à jour les données dans la BD

$sql= "UPDATE fournisseurs SET Nom='$nom', Adresse='$adresse', Telephone='$telephone', Fax='$fax',
Webemail='$webmail' WHERE Fourni_id='$Fourni_id'";

$res = mysql_query($sql);

if ($res == false){
echo "<h4>Problème de mise à jour des utilisateurs</h4>";
exit;
}
echo "<center><h4>Voilà tout a été mise à jour</h4></center>";
echo '<br />';
echo '<center><a href="liste_fournisseur.php"> Liste des fournisseurs</a></center>';

}
else {

//sinon on affiche la base de donée

$sql= "SELECT Nom,Adresse,Telephone,Fax,Webemail,Fourni_id FROM fournisseurs WHERE Fourni_id=$Fourni_id ";

$res=mysql_query($sql);

if($res == false){
echo "<h4>Probleme d'affichage</h4>";
exit;
}

$row=mysql_fetch_array($res);

?>

<h2 align="center">Mettre à jour un Fournisseur</h2>
<br>
<a href="liste_fournisseur.php">Liste des fournisseurs <a>

<center><form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p>Nom<br />
<textarea name="Nom" wrap="virtual"><?php echo $row['Nom']; ?> </textarea>
</p>
<p>Adresse<br />
<textarea name="Adresse" wrap="virtual" ><?php echo $row['Adresse']; ?></textarea>
</p>
<p>Telephone<br />
<textarea name="Telephone" wrap="virtual"><?php echo $row['Telephone']; ?></textarea>
</p>
<p>Fax<br />
<textarea name="Fax" wrap="virtual"><?php echo $row['Fax']; ?></textarea>
</p>
<p>Web et mail<br />
<textarea name="Webemail" wrap="virtual"><?php echo $row['Webemail']; ?></textarea>
</p>
<p>
<input name="go" type="hidden" value="1" />
<input name="Fourni_id" type="hidden" value="<?php echo $Fourni_id; ?>" />
<input type="submit" name="Submit" value="Mettre à jour">
<br />
</p>
</form></center>
<?php
}
?>
</body>
</html>
0
Salut , merci pour ta réponse mais c'etait pas cela.
Mais si justement c'était bien cela ! Explique-moi ce qu'il y avait de faux dans a réponse au lieu de te contenter de le dire.

C'est normal que ça marche aussi avec $_REQUEST, puisque $_REQUEST regroupe $_GET et $_POST.
Si tu considères que programmer c'est essayer des formules magiques au pif jusqu'à ce qu'il y en ait une qui semble donner satisfaction, on peut arrêter le sujet là.
Sinon renseigne-toi sur ce que signifient les variables $_GET, $_POST et $_REQUEST
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
20 déc. 2007 à 16:07
Je suis d'accord que ca fonctionnerait pas si je mais GET avec comme methode POST , mais le probleme c'est que sur l'autre fichier(liste_fournisseur.php j'arrivai pas à récupérer la valeur sauf en faisant un GET et pour l autre page ( update_fournisseur.php) je essaiy GET ca ne me le mettai pas a jour et quand j essaie POST , ca affichait aucune valeur dans le fichier .

Parck si tu veux j'ai une liste de fournisseurs qui est affiché dans un tableau et lorsque je clique sur un lien qui doit envoyé l'ID du fournisseur pour mettre à jour le fournisseur choisi et qu'on arrive sur le fichier , mettre à jour , il y a un formulaire avec les valeurs du fournisseur et la on modifie , puis on met a jour.

Et avec GEt ca marchait pas , mais je suis sur que j'aurais pu faire tout cela avec POST seulement mais bon j'ai pas le temps , et ce que je trouve je le prend.

Peut etre que je n'ai pas fait ça dans l'ordre , mais je ne suis pas très bon dans ce domaine.

Meric de ta compréhension.
0
mais bon j'ai pas le temps ,
Tu gagnerais beaucoup de temps si tu essayais de savoir pourquoi il faut mettre tantôt $_GET tantôt $_POST au lieu d'en perdre à essayer au hasard
0
Utilisateur anonyme
20 déc. 2007 à 17:14
oui tout a fait d accord avec toi
0