Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/12/2012, 19h44   #1
thais781
Invité de passage
 
Inscription : février 2010
Messages : 96
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 96
Points : 3
Points : 3
Par défaut PHP et Message Box

Bonjour,

J'utilise un fichier SendMail en PHP pour envoyer un formulaire présent sur un site.
Si l'envoi est Ok, je souhaite informer l'utilisateur via une boite de dialogue.

Pour l'instant, j'utilise un echo avec une nouvelle page web pour afficher l'info.
C'est pas top.

Connaissez vous un moyen d'utiliser une boite de dialogue ?
Dans le reste du site, j'utilise jQuery pour cela, je ne sais pas si c'est compatible ?

Thais
thais781 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 19h50   #2
beegees
Membre Expert
 
Avatar de beegees
 
Homme David Non communiqué
Développeur Web
Inscription : mars 2004
Messages : 3 348
Détails du profil
Informations personnelles :
Nom : Homme David Non communiqué
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 348
Points : 1 220
Points : 1 220
Salut,

Il t'est possible d'écrire du code javascript en PHP du genre :

Code :
<?php echo '<script type="text/javascript">alert("message sent")</script>' ?>
A tester.

bee
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2012, 19h54   #3
christele_r
Membre Expert
 
Avatar de christele_r
 
Femme Christele Rubneau
Inscription : novembre 2009
Messages : 1 052
Détails du profil
Informations personnelles :
Nom : Femme Christele Rubneau
Âge : 40
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 1 052
Points : 1 426
Points : 1 426
Bonjour,
C'est le cas idéal pour un mini AJAX !
1) Il clic pour envoyer son message.
2) AJAX l'envoie a un PHP du serveur et retourne en echo "message envoyé"
3) AJAX reçois ce message réponse et le place dans un DIV de réponse.
Bien sûr lui n'a pas quitté sa page
Pas besoins de JQUERY ou autre
A++
Christele
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/12/2012, 19h56   #4
beegees
Membre Expert
 
Avatar de beegees
 
Homme David Non communiqué
Développeur Web
Inscription : mars 2004
Messages : 3 348
Détails du profil
Informations personnelles :
Nom : Homme David Non communiqué
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 348
Points : 1 220
Points : 1 220
Bonsoir,

Totalement d'accord avec toi, je ne voulais pas trop compliquer, mais c'est la solution idéale.

bee
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 09h09   #5
thais781
Invité de passage
 
Inscription : février 2010
Messages : 96
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 96
Points : 3
Points : 3
Bonjour,

Merci beaucoup pour vos infos.
Comme je ne suis pas expert, je favoriserais la solution js dans php de beegees.

Mais après l'affichage de la msg box alert, je reste sur la page php, je ne reviens pas sur la page html du départ.

C'est possible sans passer en Ajax (que je ne connais pas du tout ...)

Merci

Thais
thais781 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 09h51   #6
christele_r
Membre Expert
 
Avatar de christele_r
 
Femme Christele Rubneau
Inscription : novembre 2009
Messages : 1 052
Détails du profil
Informations personnelles :
Nom : Femme Christele Rubneau
Âge : 40
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 1 052
Points : 1 426
Points : 1 426
Non seul AJAX peut appeler un PHP en restant sur la page,
mais tu sais cela tiendrait en quelques lignes !
Une dernière solution, mais pas élégante serait d'appeler ton PHP et celui-ci reviendrait sur la page !
A++
Christele
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 10h03   #7
thais781
Invité de passage
 
Inscription : février 2010
Messages : 96
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 96
Points : 3
Points : 3
Bonjour,

Merci pour ton aide, mais je suis une newbiz en Ajax, jamais utilisé
Tu sais ou je pourrais trouver un exemple a customiser ?

Merci

Thais
thais781 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 10h59   #8
christele_r
Membre Expert
 
Avatar de christele_r
 
Femme Christele Rubneau
Inscription : novembre 2009
Messages : 1 052
Détails du profil
Informations personnelles :
Nom : Femme Christele Rubneau
Âge : 40
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 1 052
Points : 1 426
Points : 1 426
Plus élémentaire que cela, tu meurt
monajax.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
<?php
header('Content-type: text/html; charset=UTF-8');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="en">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<body >
<script type="text/javascript">
function maFonctionAjax(message, Mail,Nom)
{
  var MaFontion;
  if (window.XMLHttpRequest){ MaFontion = new XMLHttpRequest();}
  else if (window.ActiveXObject) {MaFontion = new ActiveXObject('Microsoft.XMLHTTP');}
  else {
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    MaFontion = false;   }
  MaFontion.open('POST',"tonphp.php",true);
  MaFontion.onreadystatechange = function()
  {
      if (MaFontion.readyState == 4 && MaFontion.status==200)
      {         document.getElementById 'LaReponse').innerHTML=''+MaFontion.responseText+'';
      }     
  }
  MaFontion.setRequestHeader('Content-type','application/x-www-form-urlencoded');
  MaFontion.send('message='+message+'&Mail='+Mail+'&Nom='+Nom);                  
}
</script>
<br />
<form id='LeForm' name='LeForm'  method='post' onsubmit="maFonctionAjax(this.message.value,this.Mail.value,this.Nom.value);return false" action='' >
Message    <input  name='message' id='message' type=text ><br />
<input name='Mail' id='Mail' type=text  >
<input name='Nom' id='Nom' type=text  >
<input type=submit value='envoyer'  />
</form><br /><br />
<div id='LaReponse' class='LaReponse'>
</div></body></html>
Pour ton PHP attention un seul echo en réponse un PHP appelé par AJAX n'envoie strictement qu'un ECHO !
tonphp.php
Code :
1
2
3
4
5
6
7
8
9
 
<?PHP
header('Content-type: text/html; charset=UTF-8');
$Nom = (isset($_POST['Nom'])) ? $_POST['Nom'] : '';
$Mail = (isset($_POST['Mail'])) ? $_POST['Mail'] : '';
$message = (isset($_POST['message'])) ? $_POST['message'] : '';
$liste="Recu ".$Nom."==>".$Mail."==>".$message;
echo $liste;
?>
A++
Christele
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 11h03   #9
Bovino
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 18 091
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 42
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 18 091
Points : 64 607
Points : 64 607
Code javascript :
if (document.getElementById)

Elle sert à quoi cette condition ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 11h07   #10
christele_r
Membre Expert
 
Avatar de christele_r
 
Femme Christele Rubneau
Inscription : novembre 2009
Messages : 1 052
Détails du profil
Informations personnelles :
Nom : Femme Christele Rubneau
Âge : 40
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 1 052
Points : 1 426
Points : 1 426
Citation:
Envoyé par Bovino Voir le message
Code javascript :
if (document.getElementById)
Elle sert à quoi cette condition ?
Oui j'ais un train de retard, je pouvais directement mettre
Code :
1
2
 
document.getElementById('LaReponse').innerHTML=''+MaFontion.responseText+'';

Il faudra corriger cela ailleur ...
Merci pour ta vigilence
Christele
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 12h58   #11
thais781
Invité de passage
 
Inscription : février 2010
Messages : 96
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 96
Points : 3
Points : 3
Bonjour,

Merci pour toute ces infos.
Par contre à quel comment, le mail est envoyé ?

Il ne faut pas rajouter un
Code :
mail($recipient, $subject, $msg, "From: $VousEmail")
dans tonphp.php ??

Merci pour votre aide

Thais
thais781 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 13h19   #12
christele_r
Membre Expert
 
Avatar de christele_r
 
Femme Christele Rubneau
Inscription : novembre 2009
Messages : 1 052
Détails du profil
Informations personnelles :
Nom : Femme Christele Rubneau
Âge : 40
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 1 052
Points : 1 426
Points : 1 426
Bien sur, tu mets toute action voulue !
ça c'est a toi de l'écrire
ensuite il ferait un echo "votre mail est envoyé";
bref a toi de te creuser un peut !
Christele
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 13h31   #13
thais781
Invité de passage
 
Inscription : février 2010
Messages : 96
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 96
Points : 3
Points : 3
Je pensais juste que j'avais un pb avec la fonction MaFontion.send que je n'arrivais pas à faire marcher.

Merci encore pour ton aide, c'est nickel.

Thais
thais781 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 19h11   #14
beegees
Membre Expert
 
Avatar de beegees
 
Homme David Non communiqué
Développeur Web
Inscription : mars 2004
Messages : 3 348
Détails du profil
Informations personnelles :
Nom : Homme David Non communiqué
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 348
Points : 1 220
Points : 1 220
Citation:
Envoyé par thais781 Voir le message
Je pensais juste que j'avais un pb avec la fonction MaFontion.send que je n'arrivais pas à faire marcher.

Merci encore pour ton aide, c'est nickel.

Thais
Si c'est résolu, clic sur le bouton stp.

Dans le cas contraire, indique-nous si tu as toujours un souci.

Bon W.E.

bee
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h18.


 
 
 
 
Partenaires

Hébergement Web