Se connecter avec
S'enregistrer | Connectez-vous
Votre question

lancer une fonction php à partir d'un bouton ("button")

Tags :
  • Web
  • Javascript
  • Programmation
Dernière réponse : dans Programmation
Partagez
12 Janvier 2008 02:56:03

je veux lancer la fonction afficher() en cliquant sur le bouton envoyer de type button et non submit , j ai utiliser le code ci-dessous mais malheureusement ça marche pas!!! :fou:  y a t il une solution!??
<?
function afficher(){
echo "bonjours";
}
?>
<input type"button" name="envoyer" value="envoyer" onclick="<? afficher(); ?>">

Autres pages sur : lancer fonction php partir bouton button

12 Janvier 2008 11:07:03

balise [code] :o 
12 Janvier 2008 11:07:37

oui mais non !
php = coté server
js = coté client
Contenus similaires
12 Janvier 2008 12:13:37

KangOl a dit :
oui mais non !
php = coté server
js = coté client

+1

Utilise JavaScript, le php ne s'utilise que côté serveur.
12 Janvier 2008 13:23:25

guillaumech a dit :
+1

Utilise JavaScript, le php ne s'utilise que côté serveur.

non je peux pas utiliser javascript car ma fonction afficher() interroge le serveur pour recuperer une reponse et ça n'est possible q'avec php et non javascript.
j'est essayer d'utiliser ajax mais j ai rencontrer un pb de syncronisation j ai met:
xhr.open("Get","ajax.php?mail="+email,false); au lieu de xhr.open("Get","ajax.php?mail="+email,true);
mais rien à changer.

12 Janvier 2008 13:48:21

Donne tout le code englobant le problème. Certain pourront t'aider, pas moi, car je n'ai pas assez de connaissance en Ajax. Mais ton problème se résoudra en effet par l'Ajax.
12 Janvier 2008 14:50:15

mon code se compose en trois fichier ajax.php et index.html le but est de saisir un email et d'afficher le mot de passe, à partir de ma base de données mysql, en cliquant sur le bouton afficher.
Citation :

le fichier index.html
<html>
<head><title>Exemple</title></head>

<script language="JavaScript">
var motdepasse;
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr
}
function ret_motpasse(mail){
var xhr = getXhr()

xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var rep =xhr.responseText; return rep;
}

}
xhr.open("Get","ajax.php?mail="+mail,true);
xhr.send(null);

}
function afficher(){
var email=document.form_aff.email.value;

motdepasse=ret_motpasse(email);
alert("votre mot de passe est :"+motdepasse);
}
</script>

<body>
<form name="form_aff" action="" method="post">
<input type="text" name="email" size="28">
<input type="button" value="afficher mot de passe" onClick="afficher()">
</form>
</body>
</html>

fichier ajax.php:
<?
include "connexion.php";
if(isset($_GET['mail'])){
$email=$_GET['mail'];
$req=mysql_query("select * from membres where email='$email'");
$nbr=mysql_num_rows($req);
if($nbr){
$ligne=mysql_fetch_array($req);
echo $ligne['motpasse'];
}
}
?>


mon probleme est que le variable motdepasse à la premier execution ne contient rien, pour la deuxieme clique sur le bouton afficher() il s'affiche le mot de passe de l'email de la premiere execution et ainsi de suite car l'instruction alert("votre mot de passe est :"+motdepasse); s'execute avant que la fonction ret_motpasse(email) termine son execution est ça mon problème !!y a t il une solution???
12 Janvier 2008 23:29:47

1/ utilise la balise [code]
2/ le premier a de ajax veux dire "asynchrone" :o 
3/ vive le sql injection
4/ mauvais html