Ben en fait maintenant j'ai refait ce code, je me suis concentré, j'ai tout analysé mais rien ne marche encore et je ne comprends pas : le voici :
Donc c'est la dernière version. J'ai essayé toutes les combinaisons possibles et inimaginables mais en vain.
------------------------------------------------------------------
Nom de la base de données : test
Nom de la première table : membre
Nom de la deuxième table : compte
------------------------------------------------------------------------
Page modifie.php, la page de modification de la donnée. A savoir, ici, il faut modifier un texte (longtext) déjà présent dans une table prédéfinie dans la base de données. Afin de le modifier, celui-ci doit s'afficher avant. Il faut donc établir une requête mysql. Voici donc le fichier, enfin le début de modifie.php
// * Ouverture d'une session ou poursuite de la session en cours :
-------------------------------------------------------------------------------
<?
session_start();
session_id('id_membre');
session_register('id_membre');
if(session_is_registered('id_membre')) {}
else {}
--------------------------------------------------------------------
//* Le fichier Conf est requis afin d'établir les connexions à la base de données.
require("conf.php3");
--------------------------------------------------------------------------
//* Connexion à la base de données
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
-----------------------------------------------------------------------
//* Requête mysql afin de demander l'id en cours (alors là, normalement je le mettais pas mais bon vu que qui ne tente rien n'a rien) j'ai quand même essayé. Mais la solution n'est pas ici. Qu'on le mette ou non ça ne change rien.
L'id se trouve dans la table membre et également dans la table compte seulement il n'a pas les mêmes valeurs. En effet, je n'arrive pas à l'attribuer de la même façon dans les deux tables. Et d'ailleurs je pense que le fait que ça ne mette pas à jour provienne d'un problème d'id entre les deux tables, ne pensez-vous ? Bref je continue.
$requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$id\"",$db_link) or die(mysql_error());
-----------------------------------------------------------------------------------
//* Requête mysql afin de demander le contenu de l'article1 qui se trouve dans la table compte :
$requete=mysql_db_query($sql_bdd, "select article1 from compte") or die(mysql_error());
//* Récupération de ce même article 1 de cette même table compte :
$article1=mysql_result($requete,0,"article1");
?> //* Fin du code avant html
----------------------------------------------------------------------------------------------------
Maintenant se trouve le formulaire suivant :
<?
//* Appel du fichier maj.inc.php3 qui mettra, enfin normalement, la base de données et donc la table à jour.
echo "<form action=\"maj.inc.php3\">\n";
-----------------------------------------------------------------------
//* Affichage du texte initial, déjà présent dans la base de données et dans la table compte :
print("<font face=\"arial\" size=\"2\" color=\"blue\"><textarea rows=\"20\" cols=\"60\">$article1</textarea></font><br>");
-------------------------------------------------------------------------------
//* Champ caché : id mais cette id devrait être l'id de session utilisé jusqu'à présent, or est-ce réellement celui-ci qui est pris en compte ? Je me pose cette question
echo "<input type=hidden name=\"id\" value='$id'>\n";
-----------------------------------------------------------------------------------------
//* Mise en place du bouton de modification :
echo "<input type=submit value=\"Modifier\">\n";
-----------------------------------------------------------
//* Fin du formulaire
echo "</form>";
--------------------------------------
//* Déconnexion de la base de données
mysql_close($db_link);
?>
----------------------------------------------
//* Jusqu'ici tout fonctionne
--------------------------------------------------------------------------------------------------------------------
!!!!!!!!!!!!! Le fichier modifie.php se termine ainsi. !!!!!!!!!!!!!!!!!!!
---------------------------------------------------------------------------------------------
Le fichier maj maintenant :
A vrai dire, vu que c'est lui qui s'occupe de mettre à jour la base de données, à mon avis, l'erreur doit se trouver quand même par là :
Fichier maj.inc.php3
----------------------------------------------------------------------
//* Déclaration de la session en cours ou création d'une nouvelle session :
<?
session_start();
session_id('id_membre');
session_register('id_membre');
if(session_is_registered('id_membre')) {}
else {}
-----------------------------------------------------------------------------------------------
//* Le fichier Conf est requis afin d'établir les connexions à la base de données.
require("conf.php3");
---------------------------------------------------------------------------------------------
//* Connexion à la base de données :
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
------------------------------------------------------------------------------------------------------
//* Tentative de mise à jour de la table : Mise à jour de l'article1 dans la table compte où l'id est égal à l'id de session. Le problème est que dans la table compte, le champ id est vide alors l'erreur proviendrait-elle de là ? Si oui, pouvez vous me dire comment relier deux tables et deux champs partculièrement entre eux, s'il y a une commande particulière ? Je vous remercie.
$result=mysql_query("UPDATE compte SET article1='$article1' WHERE id=\"$id\"",$db_link) or die(mysql_error());
-------------------------------------------------------------------------------------------
//* Requête mysql pour sélectionner le champ article1 mis à jour afin d'un nouvel affichage actualisé sur la page suivante :
$requete=mysql_db_query($sql_bdd, "select article1 from compte") or die(mysql_error());
?>
-------------------------------------------------------------------------------------------------
//* Le code de fin : afin d'informer le visiteur que son article a bien été mis à jour ou bien s'il y a eu une erreur :
<?
if (!$result) {
echo "La mise à jour de votre article a échoué. Essayez plus tard<br>";
} else {
echo "Votre article a été mis à jour avec succès<br>";
}
mysql_close($db_link);
?>
-----------------------------------------------------------------------
Alors si quelqu'un peut bien me sauver la vie, je le remercie !! C'est assez urgent ! merci bien ! a plus ! Parce que là je ne vois plus, j'ai tout essayé !