PHP dans un <input/>

ludovinho
Invité n'ayant pas de compte PHPfrance

07 juin 2012, 16:08

Bonjour
Le but est de supprimer une ligne d'une table de donnée de ma bdd sql.
Quand japui sur le bouton supprimer de ma page une popup s'affiche.
Cette popup m'affiche la question "voulez vous vraiment supprimer, j'ai fai un bouton "oui" et "non", jusqu’a maintenant pas de probleme.
Le probleme est que quand jappui sur oui ou non ou meme que je ferme simplement la fenetre "popup" il supprime ma ligne alor qu'il devrai la supprimer que quand j'appui sur oui.

Voici le code de mes bouton :

<style type="text/css">
.btn_taille_egale{
width:200px;
}
</style>

<FORM>
<p align="center">
<INPUT TYPE="b" VALUE="Oui" ONCLICK="<?php $resultatDelete = odbc_exec($connexion, $delete);?>window.close()" style="color:black; font-weight:bold"onclick class="btn_corbeille"/>
<INPUT TYPE="button" VALUE="Non" ONCLICK="window.close()" style="color:black; font-weight:bold"onclick class="btn_corbeille"/>
</FORM>

Merci de bien vouloir m'aider

ViPHP
xTG
ViPHP | 7331 Messages

07 juin 2012, 16:14

PHP s'exécute côté serveur, le HTML et le Javascript côté client.
Donc après...
Souci de compréhension de la technologie qui abouti à une erreur de conception. :)

Le PHP ne fait qu'envoyer du texte au navigateur, le HTML et le JS ne sont que du texte.
Ils ne sont donc interprété qu'à la réception, mais le PHP lui a déjà été interprété.

Le plus basique et le plus simple serait de faire un lien ou un formulaire pour transmettre la valeur de la clé primaire de l'enregistrement à supprimer.
Ainsi tu aurais changement de page et donc exécution de code PHP.

ludovinho
Invité n'ayant pas de compte PHPfrance

07 juin 2012, 16:21

Mais mon code php s'execute le probleme c'est qu'il execute des que mon popup s'ouvre avant meme que j'appui sur un bouton

ViPHP
xTG
ViPHP | 7331 Messages

07 juin 2012, 16:22

Il ne s'exécute pas quand tu ouvres ton popup, il s'exécute avant même que ton navigateur n'affiche ta page. ;)
Relis mon message.

Mammouth du PHP | 2278 Messages

08 juin 2012, 09:55

Il ne s'exécute pas quand tu ouvres ton popup, il s'exécute avant même que ton navigateur n'affiche ta page. ;)
Relis mon message.
qui est d'une clarté totale et regarde le code dans le navigateur: il n'y a plus la moindre trace de PHP alors que le javascript y est toujours.
Mais, en-dehors de syntaxes assez aléatoires, question bête : avec onClick on peut appeler du PHP?
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

ludovinho
Invité n'ayant pas de compte PHPfrance

08 juin 2012, 10:51

tous sa ne m'aide pas trop a raisoudre mon probleme :(

Mammouth du PHP | 1967 Messages

08 juin 2012, 11:36

Mais, en-dehors de syntaxes assez aléatoires, question bête : avec onClick on peut appeler du PHP?
Oui bien sur, avec une page externe (voir ala même page mais avec une condition if d'envoi du formalaire)

Pour donner une piste de solution, il faut que ton bouton "oui" pointe vers une autre page qui éxécutera ton code php. Mais fait attention à la sécurité, il ne faudrait pas que n'importe qui aille sur cette nouvelle page pour suprimer n'importe quelle ligne
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

ViPHP
xTG
ViPHP | 7331 Messages

08 juin 2012, 11:42

tous sa ne m'aide pas trop a raisoudre mon probleme :(
Il me semble t'avoir donné la solution, preuve est que tu ne lis pas mes messages jusqu'au bout...
Et pour résoudre un problème il faut encore le comprendre, et encore une fois la réponse est dans mes messages.

Mammouth du PHP | 2278 Messages

08 juin 2012, 14:20

Il y a deux boutons ou un seul?
Un truc comme ça :
<html>
<form name ='toto' method = 'post' action = 'agir.php'>
<button type = 'submit' VALUE="Oui" /> Supprimer</button>
<button type = 'submit' VALUE="Non" /> Ne rien faire</button>

</form>

</html>
et agir.php fait le travail....
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD