Récupérer l'adresse mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupérer l'adresse mail

Re: Récupérer l'adresse mail

par cris84 » 29 janv. 2014, 19:20

Bonsoir,
c'est OK j'y suis finalement arrivé avec $_SESSION
Par contre maintenant je reçois le mail comme ceci : des j à la place de ê et des i à la place de é
Je remets le code entier mais j'ai tout essayé UTF8, charset=iso-8859-1" rien ne change ! une idée ?
Je changerai après résolution des "" en '' dans le mail
Merci d'avance.

Cher(e) xxxxx,

Votre inscription vient d'jtre validie par l'administrateur du site.

Vous pouvez disormais vous connecter sur notre site http://www...

Cordialement.
<?php
//Ne pas oublier de mettre le session_start()

require('include/common.php');
if (isset($_SESSION[$prefix.'logged']) && $_SESSION[$prefix.'logged'] === true)
{
	designhaut($lang['supprime_message']);
	$id = intval(@$_GET['id']);
	$nbre_membres = mysql_query('SELECT COUNT(id) AS nbre_membres FROM '.$prefix.'membres WHERE id='.$id)or die(mysql_error());
	$nbre_membres = mysql_result($nbre_membres, 0, 'nbre_membres');
	

include("configuration.php");
?>
<h1>validation des membres </h1>
<?php

	$update = isset($_POST['update']) ? $_POST['update'] : array(); 
	$id = isset($_POST['id']) ? $_POST['id'] : array();
		if (sizeof($update)==0){
echo 'Vous n\'avez pas selectionné de membre à valider !';
echo'<p>';
echo'<a href="admin_validation_membres.php">Retour à la validation des membres</a>';
exit;
}
else
{

foreach ($update as $id){
$sql='UPDATE membres SET valide="1" WHERE membres.id='.$id;
mail("".$_SESSION['email']."","Validation inscription sur notre espace membres","Cher(e) ".$_SESSION['pseudo'].",\n\nVotre inscription vient d'être validée par l'administrateur du site.\n\nVous pouvez désormais vous connecter sur notre site http://www...\n\n Cordialement.\n\n","From: Espace membre <[email protected]>\r\n");

echo 'Le membre a bien été validé<p><a href="admin_validation_membres.php">Retour à la validation des membres</a>';
$req= mysql_query($sql);
}
 
//header('location: messagerie.php');
 
}

designbas();

}
else
	header('location: index.php');
?>

Re: Récupérer l'adresse mail

par moogli » 29 janv. 2014, 17:15

Salut,

il faut que tu fasse un select sur ta base si tu veux ces informations tu n'as pas le choix vu que tu n'as que les id.

d'ailleurs tu peux largeur optimiser tous cela avec une seule requête plutôt que x requête en boucle (sans même une requête préparée).
UPDATE membres SET valide=1 WHERE id=in ( xxxxx);
=> http://sqlpro.developpez.com/cours/sqlaz/select/#L3.2

pour alimenter le "xxx" utilise la fonction implode

pour info en SQL le délimiteur de chaîne de caractères c'est le ' et pas " (tu t'expose à des soucis sinon ;) ).

pour le select même chose avec la clause in, et tous cela a partir de $_POST['update'].

L'email n'est pas mise dans un élément de formulaire (input etc) donc tu ne peux pas l'avoir coté serveur.

Pour l'email envoie le une fois que tu as récupéré tous les nom / email afin de construire l'email à la fin histoire de ne pas envoyer 12 mail pour la même (spam tous ça).


@+

Re: Récupérer l'adresse mail

par synergie » 29 janv. 2014, 16:43

Justement, ton $_POST["email"] et ton $_POST["pseudo"], tu les places dans une variable de session si tu veux les réutiliser dans d'autres pages.

Si tu ne connais pas les variables de sessions : http://php.net/manual/fr/session.examples.basic.php

Ainsi, tes $_POST seront conservés "au chaud" dans ces variables de session.

Re: Récupérer l'adresse mail

par cris84 » 29 janv. 2014, 16:35

De quelle manière ?

j'ai essayé avec ça mais sans succès...
<input type="hidden" name="email" value="<?php echo $_POST['email']; ?>" />

Re: Récupérer l'adresse mail

par synergie » 29 janv. 2014, 16:16

tu les stockes dans une variable ou dans une variable de session avant d'envoyer l'update ?

Re: Récupérer l'adresse mail

par cris84 » 29 janv. 2014, 16:09

Bonjour,
pour être lus précis je voudrais récupérer l'adresse mail et le pseudo sur la page de validation admin_membres_valide.php une fois le formulaire validé.

j'ai ajouté la fonction mail dans mon code :
<?php
$update = isset($_POST['update']) ? $_POST['update'] : array(); 
	$id = isset($_POST['id']) ? $_POST['id'] : array();

		if (sizeof($update)==0){
echo 'Vous n\'avez pas selectionné de membre à valider !';
echo'<p>';
echo'<a href="admin_validation_membres.php">Retour à la validation des membres</a>';
exit;
}
else
{

foreach ($update as $id){
$sql='UPDATE membres SET valide="1" WHERE membres.id='.$id;

mail("".$_POST['email']."","Validation inscription sur notre espace membres","Cher(e) ".$_POST['pseudo'].",\n\nVotre inscription vient d'être validée par l'administrateur du site.\n\nVous pouvez désormais vous connecter sur notre site http://www...\n\n Cordialement.\n\n","From: Espace membres <[email protected]>\r\n");

echo 'Le membre a bien été validé<p><a href="admin_validation_membres.php">Retour à la validation des membres</a>';
$req= mysql_query($sql);
}
}
?>
La question est de savoir comment on récupère $_POST['email'] et $_POST['pseudo '] de la fonction mail après l'update de la table ? :roll:

Re: Récupérer l'adresse mail

par moogli » 29 janv. 2014, 12:55

salut,

qu'est ce qui ne fonctionne pas ?

l'update ? (il semble correcte) as tu vérifié les valeurs dans la table ?

la validation du formulaire ?

il nous faut plus d'information sur ce qui ne te va pas ;)


@+

Récupérer l'adresse mail

par cris84 » 28 janv. 2014, 21:08

Bonsoir à tous,
voilà, je voudrais récupérer l'adresse mail et le pseudo du membre pour lui envoyer un mail lors de la validation de son compte. C'est pourtant simple mais je n'y arrive pas.
Votre aide serait précieuse...
le script de de sélection des membres à valider :
<?php 
$reponse = mysql_query('SELECT * FROM '.$prefix.'membres WHERE valide="0"') or die(mysql_error());
	
?>
<h1>Validation des membres</h1>

<?php while ($donnees = mysql_fetch_array($reponse))
{
?>
<form method='POST' action='admin_membres_valide.php'>
<table width="100%" border="1">
<tr>
<td width='18%'><div align="center">Date d'inscription </div></td>
<td width='20%'><div align="center">pseudo</div></td>
<td width='18%'><div align="center">email</div></td>
<td width='10%'>Valider</td>
<tr><td><?php echo date('d/m/Y', $donnees['date_inscription']); ?></td>

  <td><a href="profil.php?id=<?php echo $donnees['id']; ?>"><?php echo $donnees['pseudo']; ?></a></td>
<td><?php echo $donnees['email']; ?></td>
<td><input type='checkbox' name='update[]' value="<?php echo $donnees['id'] ; ?>" /></tr>
</table>
<div align="right"><input accesskey="S" name="valider" value="valider" type="submit"></div>

</form>

<?php 
}
?>
Et celui de l'update sur lequel je compte rajouter l'envoi de mail, mais pour cela il faut que je récupérer l'adresse mail et le pseudo :
<?php

	
	$update = isset($_POST['update']) ? $_POST['update'] : array(); 
	$id = isset($_POST['id']) ? $_POST['id'] : array();

		if (sizeof($update)==0){
echo 'Vous n\'avez pas selectionné de membres à valider';
echo'<p>';
echo'<a href="admin_validation_membres.php">Retour à la validation des membres</a>';
exit;
}
else
{

foreach ($update as $id){
$sql='UPDATE membres SET valide="1" WHERE membres.id='.$id;
echo 'Le membre a bien été validé<p><a href="admin_validation_membres.php">Retour à la validation des membres</a>';
$req= mysql_query($sql);
}
 

 
}