par
Cyrano » 01 oct. 2005, 00:33
De toutes façon, dans le bout de code qu'il y a là, la variable $email n'est initialisée nulle part: il faudrait peut-être bien larécupérer quelque part, tu ne crois pas ?
Voilà à quoi ça devrait ressembler : attention, il y a des détails que tu devras ajuster.
<?
require("connec.php");
$afficher_form = 1;
if (isset($_POST['submit']))
{
/* On commence par récupérer la valeur envoyée par le formulaire: */
$pseudo = isset($_POST['pseudo']) ? $_POST['pseudo'] : "";
if (trim($pseudo) == "")
{
$message = "La case est vide.";
$afficher_form = 1;
}
else
{
$conecter=mysql_connect($hote,$nom,$passw)or die ("erreur de connexion");
mysql_select_db($base,$conecter) or die ("erreur de selection");
$pseudoexists = "SELECT passe, email FROM membre WHERE pseudo='$pseudo'";
$existence = mysql_query($pseudoexists);
if (mysql_num_rows($existence) < 1)
{
$message = "Nom d'usager invalide";
$afficher_form = 1;
}
else
{
/* Récupération des information et préparation du message */
while($envoi = mysql_fetch_assoc($existence))
{
$to = $envoi['email'];
$passe = $envoi['passe'];
}
$sujet = "Votre Mot de passe";
$message = "Usager ". $pseudo ."\nMot de passe: ". $passe ."\n";
/* Ajout d'en-têtes au message */
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
/* Envoi du message */
if(mail ($to, $sujet, $message, $headers))
{
$message = "Votre mot de passe vient de vous être envoyé par courriel.";
$afficher_form = 0;
}
else
{
$message = "Une erreur s'est produite, le mot de passe n'a pa pu être envoyé, veuillez essayer à nouveau ultérieurement.";
$afficher_form = 1;
}
}
}
//On ferme la connexion avec la base
mysql_close();
}
?>
<html>
<head>
</head>
<body>
<?php
if(isset($message))
{
?>
<p style="font-size:10pt; text-align: center; font-weight: bold; color: #c00; font-family: verdana;"><?php echo($message); ?></p>
<?php
}
if($afficher_form == 1)
{
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<input type="text" name="pseudo" size="40" maxlength="256">
<input type="submit" value="Envoyer">
</form>
<?php
}
?>
</body>
</html>
De toutes façon, dans le bout de code qu'il y a là, la variable $email n'est initialisée nulle part: il faudrait peut-être bien larécupérer quelque part, tu ne crois pas ?
Voilà à quoi ça devrait ressembler : attention, il y a des détails que tu devras ajuster.
[php]<?
require("connec.php");
$afficher_form = 1;
if (isset($_POST['submit']))
{
/* On commence par récupérer la valeur envoyée par le formulaire: */
$pseudo = isset($_POST['pseudo']) ? $_POST['pseudo'] : "";
if (trim($pseudo) == "")
{
$message = "La case est vide.";
$afficher_form = 1;
}
else
{
$conecter=mysql_connect($hote,$nom,$passw)or die ("erreur de connexion");
mysql_select_db($base,$conecter) or die ("erreur de selection");
$pseudoexists = "SELECT passe, email FROM membre WHERE pseudo='$pseudo'";
$existence = mysql_query($pseudoexists);
if (mysql_num_rows($existence) < 1)
{
$message = "Nom d'usager invalide";
$afficher_form = 1;
}
else
{
/* Récupération des information et préparation du message */
while($envoi = mysql_fetch_assoc($existence))
{
$to = $envoi['email'];
$passe = $envoi['passe'];
}
$sujet = "Votre Mot de passe";
$message = "Usager ". $pseudo ."\nMot de passe: ". $passe ."\n";
/* Ajout d'en-têtes au message */
$headers = 'From:
[email protected]' . "\r\n" .
'Reply-To:
[email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
/* Envoi du message */
if(mail ($to, $sujet, $message, $headers))
{
$message = "Votre mot de passe vient de vous être envoyé par courriel.";
$afficher_form = 0;
}
else
{
$message = "Une erreur s'est produite, le mot de passe n'a pa pu être envoyé, veuillez essayer à nouveau ultérieurement.";
$afficher_form = 1;
}
}
}
//On ferme la connexion avec la base
mysql_close();
}
?>
<html>
<head>
</head>
<body>
<?php
if(isset($message))
{
?>
<p style="font-size:10pt; text-align: center; font-weight: bold; color: #c00; font-family: verdana;"><?php echo($message); ?></p>
<?php
}
if($afficher_form == 1)
{
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<input type="text" name="pseudo" size="40" maxlength="256">
<input type="submit" value="Envoyer">
</form>
<?php
}
?>
</body>
</html>[/php]