Bonjour à tous,
J'éprouve quelques difficultés à trouver mon bonheur.
Je m'explique:
J'ai fait un espace personnel accessible via un login, qui correspond au mail d'une personne et via un mot de passe.
Une fois sur son son espace personnel, la personne a la possibilité de modifier ses données personnelles (coordonnées) et a aussi accès à l'ensemble des fiches qu'elle a mis en ligne.
Prenons le cas d'une personne qui disposerait d'un camping, elle retrouverait sur son espace perso ses propres coordonnées personnelles et la fiche de son camping.
D'un point de vue technique, dans la base de données, la table de son établissement est rattachée à la table de la personne avec comme clef étrangère: le mail de la personne.
Ainsi, le mail conditionne d'une part son entrée sur son espace personnel et d'autre part le rattachement de la fiche de son établissement afin de pouvoir en modifier les données.
Néanmoins, je souhaiterais que cette personne ait la possibilité de modifier son adresse mail pour X raisons. Conséquences:
- il faut que l'adresse mail se mette à jour sur la table client mais aussi sur la table des etablissements au niveau de l'enregistrement appartenant à cette personne.
Comment faire pour que les deux tables se mettent à jour?
A l'heure actuelle, voici mon code:
//requête permettant de déterminer l'ancien mail de la personne
$query_rs_login='SELECT login, id_client FROM tbl_client WHERE id_client='.$_GET['client'];
$rs_login = mysql_query($query_rs_login);
$row_rs_login = mysql_fetch_assoc($rs_login);
mysql_select_db($database_conn_develop, $conn_develop);
//requête mettant à jour toutes les autres informations personnelles de la personne (autre que le mail)
$query_modifier_utilisateur = "UPDATE tbl_client SET
nom_client='".mysql_real_escape_string($_POST['nom_client'])."',
prenom_client='".mysql_real_escape_string($_POST['prenom_client'])."',
adresse_client='".mysql_real_escape_string($_POST['adresse_client'])."',
cp_client='".mysql_real_escape_string($_POST['cp_client'])."',
ville_client='".mysql_real_escape_string($_POST['ville'])."',
tel_client='".mysql_real_escape_string($_POST['tel_client'])."',
fax_client='".mysql_real_escape_string($_POST['fax_client'])."'
WHERE id_client = ".$_GET['client'];
$modifier_utilisateur = mysql_query($query_modifier_utilisateur);
//requête visant à modifier le mail, à la fois sur la table du client et sur la table des etablissements
if ((isset($_POST['login_client'])) && (trim($_POST['login_client']) != $row_rs_login['login'])) {
//modifier le login du client sur la table etab
$query_modifier_login1 = "UPDATE tbl_etab SET
login_client='".mysql_real_escape_string($_POST['login_client'])."'
WHERE login_client = ".$row_rs_login['login'];
$modifier_login1 = mysql_query($query_modifier_login1);
//modifier le login sur la table client
$query_modifier_login = "UPDATE tbl_client SET
login='".mysql_real_escape_string($_POST['login_client'])."'
WHERE id_client = ".$_GET['client'];
$modifier_login = mysql_query($query_modifier_login);
}
Actuellement, le changement s'opère bien sur la table du client mais pas sur celle des etablissements.
Qui plus est, je suppose que le changement du mail qui correspond aussi au login risque d'entrainer l'expulsion de la personne de son espace personnel.
Merci par avance de toute l'aide que vous pourrez m'apporter.