un formulaire modifie deux tables : détecter la modification
Bonjour,
voilà j'ai un seul formulaire qui modifie deux tables, je voudrais ajouter la date de modif que sur celle qui aurait été modifiée. Autrement dit, détecter quels champs remplis par une valeur initiale SELECT ont été modifiés par une nouvelle valeur $_POST
Merci pour votre aide éventuelle...
paralaile
Ben c'est le SET de ta requête qui te dit quels champs tu modifies.
Sans nous en dire plus, cela va être difficile de cerner ton problème.
Bonjour, LA GLOBULE,
en fait dans mon formulaire tous les champs sont déja remplis par un SELECT, et je voulais détecter quels sont ceux qu'ont étés changés par le correspondant grâce au formulaire, je ne sais pas comment faire le
onchange="<?php $value='change' ?>";
et aprés soumission du formulaire :
if ($value=='change')
{on détecte changement de valeur du champs d'où $date_modif==date();}
else
{pas de changement $date_modif==""}
merci d'avance
paralaile
L'attribut html onchange, c'est pour y coller du javascript.
onchange="<?php $value='change' ?>"; << cela ne fonctionnera pas
Le plus simple à faire : avant de faire ton UPDATE, tu SELECT les valeurs que tu avais avant la soumission du formulaire, et tu les compares à ce que tu reçois dans le tableau $_POST.
De la, si tu repères une différence, tu peux (en plus de modifier tes champs) modifier un champ date_modif.
Merci pour ta réponse , je voulais éviter une comparaison par champs.
Bonne journée et merci pour le site.
paralaile
Je pense avoir trouvé quelque chose :
<FORM method=post action="<?php $_SERVER['PHP_SELF'];?>">
<TABLE >
<TR>
<TD>Nom</TD>
<TD><INPUT id="nom" name="nom" type=text value="<?php echo $row_nom['nom']; ?>" onchange="document.getElementById('test_change').value='chengement_detecte';" >
<input type="hidden" name="test_change" id="test_change" />
</TD>
</TR>
<TR>
<TD COLSPAN=2>
<INPUT name="Envoyer" type="submit" id="Envoyer" value="Envoyer" >
</TD>
</TR>
</TABLE>
</FORM>
<?php if((isset($_POST['Envoyer'])) &&($_POST['Envoyer']!=""))
{
echo 'valeur de ='. $_POST['test_change'];
}
?>
paralaile
Oui, tu peux lever un evennement de ce genre, mais en faisant cela, tu fais entièrement confiance au visiteur du site.
Si celui ci désactive javascript, ta solution ne fonctionnera plus.
PS : faire un <FORM method=post action="<?php $_SERVER['PHP_SELF'];?>"> est dangereux.
Tu t'exposes à de nombreuses failles XSS.
Je te recommande cette
lecture.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: