Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/05/2011, 17h36   #1
Invité de passage
 
Inscription : mai 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 15
Points : 0
Points : 0
Par défaut Création d'un mail de confirmation en PHP

bonjour

je débute avec php.
j'ai créé une page "formulaire", une page "inscription.php", une page "validation.php", j'ai même ma page "identifiants.php".

j'ai "phmyadmin" et "sql" chez free.

tout est ok jusque là, c'est à dire, que je peux m'inscrire, je reçois mon mail de confirmation d'inscription à valider, je peux valider et mon inscription est "ok".

mais voilà, mon premier souci, c'est que j'aimerai avoir en copie dès qu'un nouveau membre s'inscrit.
et là, cela fait 3 jours (par tranche de 3 à 4h /j) que je buche et je n'y arrive pas.

comment puis-je demander à avoir le double des renseignements ? et sur quelle page je dois mettre "le code"

merci.

je n'ose pas faire un copier de mes pages en php
ytzmi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 18h52   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
dans ta page ou tu as la fonction mail() tu as juste a ajouter la même ligne avec ton adresse en destinataire.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 21h18   #3
Invité de passage
 
Inscription : mai 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 15
Points : 0
Points : 0
Citation:
Envoyé par sabotage Voir le message
dans ta page ou tu as la fonction mail() tu as juste a ajouter la même ligne avec ton adresse en destinataire.
j'ai essayé de toutes les manières, je n'y suis pas arrivée !

en plus, ce serait plutôt lors de l'activation du compte, que j'aimerai avoir les renseignements, en fait.

et dans la page "activation", je ne vois pas trop où je pourrais mettre un lien.

car dans la page inscription, je ne peux pas avoir les renseignements, pseudo, et mot de passe, tant que le membre n'a pas activé son compte.

donc, à mon avis, cela doit se faire à partir de la page activation.php

µµµµµµµµµµµµ

voici :
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
39
40
41
42
43
44
45
46
47
48
49
 
<?php
  include ('protected/login.inc.php');
  //include ('protected/ctrl.inc.php');
 
 
  // On récupère le Pseudo et la clé chiffrée du message d'activation
  $MailPseudo = $_GET['log'];
  $MailClé = $_GET['cle'];
  $MailFlag = $_GET['flag'];
 
 
  // S'IL S'AGIT D'UNE ACTIVATION, ON MET LE FLAG D'ACTIVATION A 1  ET ON SORT
  If ($MailFlag==1):
    // On met le flag d'activation à 1
    $requete = "UPDATE kdo SET Activation='1' WHERE Cle='$MailClé'";
    $resultat = mysql_query($requete,$connexion) or die ("Erreur : ".mysql_error());
    mysql_close($connexion);
	// On propose le retour à la page d'accueil
    echo '<br><span class="Style4">A présent ton compte est actif. D\'ici quelques temps ta page sera construite. Pour retourner sur le site, Mini Kdo, cliques sur <a href="http://kdo.free.fr/">ce lien</a>';
    // Et on quitte
	exit;
  endif;
 
  // Il s'agit forcément  d'une création, on cherche la clé dans la base de données
  $sql = "SELECT Cle FROM kdo WHERE Pseudo = '$MailPseudo'";
  $resultat = mysql_query($sql,$connexion) or die ("Erreur : ".mysql_error());
 
  while ($row = mysql_fetch_assoc($resultat)) 
    { 
    $DBClé = $row["Cle"]; 
    }
 
  // On compare les clés
    if($MailClé == $DBClé): // On compare nos deux clés	
      $requete = "UPDATE kdo SET Activation='1' WHERE Pseudo = '$MailPseudo'";
      $resultat = mysql_query($requete,$connexion) or die ("Erreur : ".mysql_error());
      echo '<br><span class="Style4">A présent ton compte est actif. <br><br>Prévois un certain temps avant que ta page soit fonctionnelle<BR><BR>En attendant, tu peux réfléchir aux cadeaux que tu aimerais avoir
	  <br><br>Pour retourner sur le site, Mini Kdo, cliques sur <a href="http://kdo.free.fr/">ce lien</a>';
	else:                   // Si les deux clés sont différentes on ne valide pas
      mysql_close($connexion);
	  exit('Votre compte n\'a pu être activé pour une raison indéterminée. Veuillez faire un nouvel essai ou contacter le webmaster.');
 
 endif;
	  //FERMETURE DE LA CONNEXION
	endif;
    mysql_close($connexion);
 
?>
Où puis-je et surtout comment me faire parvenir son pseudo et son m d p pour lui créer sa page propre

désolée d'en arriver là, et d'envoyer un "au secours !"

merci
ytzmi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 22h44   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu as juste a ajouter l'envoi du mail par la fonction mail() dans ce code.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 10h43   #5
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Et d'éviter les variables avec les accents
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 17h53   #6
Invité de passage
 
Inscription : mai 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 15
Points : 0
Points : 0
bonjour

merci pour vos réponses.

j'ai fini par trouver et je reçois un message m'informant qu'un nouveau membre s'est inscrit.

mais, après je ne sais combien d'essai et de "script", impossible de recevoir les informations nécessaires.

donc voici, la partie où je demande à recevoir l'avis d'un nouvel enregistrement.

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
 
	// - Le webmaster recoit un mail lorsque l'inscription est validé
 
    if ($Flag==1):
    $requete = "UPDATE kdo SET Activation='1' WHERE Cle='$MailClé'";
    $resultat = mysql_query($requete,$connexion) or die ("Erreur : ".mysql_error());
    mysql_close($connexion);
 
	 //ON RECUPERE LES IDENTIFIANTS
	 $Pseudo = $_REQUEST['Pseudo'];
	 $Password = $_REQUEST['Password'];
	 $Email = $_REQUEST['Email'];
 
	 //Envoi du message au webmaster
 
  	  $Sujet   = "Nouvelle inscription au site Mini Kdo";
	  $Entete = "webmaster@$SERVER_NAME";
	  $Destinataire = $Email;
 
	   $subject="Nouvelle inscription pour Mini Kdo Flash";
       $Texte="Bonjour,\n\n";
       $Texte.="Un nouveau membre vient de s\'inscrire :\n";
       $Texte.="Nom : '$Pseudo'\n";
       $Texte.="mot de passe : '$Password'\n";
       $Texte.="E-Mail : '$Email']\n";
       $headers="From: webmaster@SERVER_NAME\n";
       @mail($adresse_webmaster, $subject, $Texte, $headers);
 
	  //FERMETURE DE LA CONNEXION
	endif;
    mysql_close($connexion);

quand je reçois le mail, pas de pseudo, ni de m d p et mail.

surtout ne pas trop hurler en voyant ce que j'ai fait, merci...
ytzmi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 13h36   #7
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 302
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 302
Points : 4 480
Points : 4 480
$MailClé > ça serait bien d'éviter les accents
: '$Email'] > pas de crochet à la fin
$subject et $headers n'existe pas dans ton code c'est normal?

pourrais tu faire un echo de tes variable mail etc ... au lieu d'envoyer ton email pour vérifier qu'elle contiennent bien des données.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 20h08   #8
Invité de passage
 
Inscription : mai 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 15
Points : 0
Points : 0
bonjour

je dois avouer que je fais les choses sans trop savoir ce que je fais et je suis éblouie quand ça marche.
je vais à la "pêche", je prends, j'adapte par rapport à ce que je comprends mais là, je n'ai rien trouvé sur ce sujet.

voilà où j'en suis, je suis nulle de chez débutant. Car pour faire 5 pages (formulaire, identification, inscription, activation et la page index), sans parler de faire ma structure SQL, j'ai mis 2 semaines à raison de 4 à 5 heures par jour. mais, je ne me plains pas, loin de là.
je veux y arriver, mais là, bien souvent, je ne comprends pas ce que l'on me dit, c'est comme une langue étrangère dont je cerne quelques mots et j'essaye de comprendre le reste...

mais on s'en fout de ça, je dois fatiguer, là.


Citation:
Envoyé par Vil'Coyote Voir le message

pourrais tu faire un echo de tes variable mail etc ... au lieu d'envoyer ton email pour vérifier qu'elle contiennent bien des données.
là, et bien, je ne comprends pas trop ce que tu veux me dire, désolée

de tout ce que j'ai lu et vu, pour moi "echo" c'est renvoyé un message sur un page dès que l'on a cliqué ou validé.

par exemple (humour)

Code :
1
2
3
 echo '<br><span class="Style4">Tu as tout compris !';
	else:                  
	  exit('plus nulle que toi ça n\'existe pas ! Abandonne.');
quel genre d' "echo" je pourrais faire pour que cela arrive dans un mail ?

merci
ytzmi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 23h30   #9
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
Salut

je pense que ce qu'il veut dire c'est qu'au lieu d'envoyer un mail, il suffit que tu affiches les variables (à l'aide d'un echo) afin de voir ce qu'elles contiennent :

Code :
1
2
3
4
 
echo  $_REQUEST['Pseudo'] . '<br/>'; 
echo  $_REQUEST['Password'] . '<br/>'; 
echo  $_REQUEST['Email'];
Pour conclure echo permet d'afficher du texte, que ce soit un texte défini ou tout simplement le contenu d'une variable.

Finality
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 18h10   #10
Invité de passage
 
Inscription : mai 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 15
Points : 0
Points : 0
bonjour

j'ai essayé de comprendre et voilà ce que j'ai écrit
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
 if ($Flag==1):
    $requete = "SELECT pseudo + password + email FROM kdo WHERE Pseudo='$PseudoCle'";
    $resultat = mysql_query($requete,$connexion) or die ("Erreur : ".mysql_error());
    mysql_close($connexion);
 
	     //ON RECUPERE LES IDENTIFIANTS
	      while ($_REQUEST = mysql_fetch_array($resultat))
    {
         $Pseudo = $_REQUEST['Pseudo'];
         $Password = $_REQUEST['Password'];
         $Email = $_REQUEST['Email'];
    }	
	 	 //Envoi du message au webmaster
 
  	  $Sujet   = "Nouvelle inscription au site Mini Kdo";
	  $Entete = "webmaster@$SERVER_NAME";
	  $Destinataire = $Email;
 
	   $subject="Nouvelle inscription pour Mini Kdo Flash";
       $Texte.="Bonjour,\n\n";
       $Texte.="Un nouveau membre vient de s\'inscrire :\n";
       echo $_REQUEST['Pseudo'] .'</br>';
       echo $_REQUEST['Password'] .'</br>';
       echo $_REQUEST['Email'] .'</br>';
       $headers="From: webmaster@SERVER_NAME\n";
       @mail($adresse_webmaster, $subject, $Texte, $headers);
et ceci après avoir corrigé je ne sais combien de message d'erreur.

je n'ai plus de message d'erreur mais je n'ai toujours pas de mail avec les renseignements du nouveau membre.


merci
ytzmi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 18h11   #11
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ne mets jamais de @ devant tes fonctions.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 20h12   #12
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
@ytzmi : que t'affiche la page avec les echo ?

Euh je viens de relire ton code et quelque chose m’interpelle :

Code :
1
2
 
$requete = "SELECT pseudo + password + email FROM kdo WHERE Pseudo='$PseudoCle'";
c'est quoi ces "+" dans la requête ?
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 22h01   #13
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Je viens de le tester sur une interface en PHP qui me permet d'envoyer toute requête en SQL à une base MySQL et d'en afficher le réponse : ça ne génère pas d'erreur, mais pas moyen de comprendre ce que ça donne...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 22h04   #14
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
Moi j'ai testé ta requête et je peux te dire que ça donne certainement pas le résultat attendu. Essaies plutôt celle là :

Code :
1
2
 
$requete = "SELECT pseudo, password, email FROM kdo WHERE Pseudo='$PseudoCle'";
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 22h36   #15
Invité de passage
 
Inscription : mai 2011
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 15
Points : 0
Points : 0
Citation:
Envoyé par Finality Voir le message
@ytzmi :
Euh je viens de relire ton code et quelque chose m’interpelle :

Code :
1
2
 
$requete = "SELECT pseudo + password + email FROM kdo WHERE Pseudo='$PseudoCle'";
c'est quoi ces "+" dans la requête ?
et bien s'il y a des "+", c'est que lors d'un message d'erreur il y avait un problème de CONCAT
j'ai chercher sur google ce que cela pouvait être et j'ai eu des scripts avec Concatener.

comme depuis le début, je m'adapte avec ce que je lis sans trop savoir ce que ça donne....

mais, je viens de les changer par "," ce qui revient exactement au même, en fait.

Citation:
Envoyé par Finality Voir le message
@ytzmi : que t'affiche la page avec les echo ?
juste un message me disant "bonjour, un nouveau membre vient de s'inscrire."

ni plus ni moins

je pense que je n'aurais pas de solution à ce problème.

si je reçois un message me disant qu'un nouveau membre vient de s'inscrire et bien j'irai voir dans mon phpmyadmin recuillir les renseignements pour lui créer sa page (problème suivant qu'il va falloir que je m'attèle pour demander de l'aide... )

merci pour vos réponses
ytzmi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 22h36   #16
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Citation:
mais pas moyen de comprendre ce que ça donne...
mysql convertit les chaines en entier et les addtionne.
ca donnera 0 pour la plupart des cas.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 23h28   #17
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Plusieurs rqs :
Citation:
ca donnera 0 pour la plupart des cas.
Je confirme : dans l'exemple que j'ai pris, il y avait plein de 0 (alors que non si je remplace + par ,)
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 23h30   #18
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
Il y a un point que j'ai pas compris : ne reçois-tu aucun mail, ou alors reçois-tu un mail avec les informations manquantes à l'intérieur ?

@laurentSc : la syntaxe des conditions telle qu'il l'utilise existe :

Code :
1
2
3
4
5
6
 
if($cond)
   echo 'ok';
 
else
   echo 'not ok';
Les accolades sont nécessaires que si tu as plusieurs traitements dans ta condition
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 23h41   #19
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
Les accolades sont nécessaires que si tu as plusieurs traitements dans ta condition
Oui, bien sûr (je le sais ) ; ce que je trouve bizarre, c'est le : juste après if ('cond') (et si j'ai mis des accolades, c'est qu'elle a plusieurs traitements)
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 23h54   #20
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
@laurentSc : excuse moi je n'avais pas vu les ":" dans ta citation. En effet vraiment bizarre on dirait un mélange entre if et switch
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h01.


 
 
 
 
Partenaires

Hébergement Web