Biensure je ne veux pas que l'on fasse le travail pour moi, mais je suis pas, vraiment pas bon en programmation.... alors voici ce que j'ai fait, en 2 page, un formulaire (passperdu.html) et l'envoie mail (passeperdu.php)Ou bien sur qu'on peut t'aider, mais il faudrait un point de départ: à quel endroit bloques-tu ? As-tu une base déjà codée qui pose problème ? On ne fera certes pas le script à ta place, mais on peut t'aider à débugguer le tien.
Code : Tout sélectionner
<html><head></head>
<body>
<form action="passeperdu.php" method="post">
<input type="text" name="pseudo" size="40" maxlength="256">
<input type="submit" value="Envoyer">
</form>
</body></html>
<?
require("connec.php");
$conecter=mysql_connect($hote,$nom,$passw)or die ("erreur de connexion");
mysql_select_db($base,$conecter) or die ("erreur de selection");
if ($submit)
{
if (trim($pseudo) == "")
{
echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>La case est vide</p></font></b>";
include('passeperdu.htm');
exit;
}
$pseudoexists = "SELECT passe FROM membre WHERE pseudo='$pseudo'";
$existence = mysql_query($pseudoexists);
if (mysql_num_rows($existence) == 0)
{
echo "<b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Nom d'usager invalide</p></font></b>";
include('passeperdu.htm');
exit;
}
if (mysql_num_rows($existence) > 0) {
$to = "$email";
{
$message = "Usager $pseudo\nMot de passe: $passe\n";
mail ($to, "Votre Mot de passe", $message);
}
}
//On ferme la connexion avec la base
mysql_close();
?>
Voila, bien vous devinez, cane fonctionne pas, il se dirige bien vers la page php, mais j'ai une page blanche et encore moins de mail......$_POST['pseudo']
ecrit$pseudo=$_POST['pseudo'];<?
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 FROM membre WHERE pseudo='$pseudo'";
$existence = mysql_query($pseudoexists);
if (mysql_num_rows($existence) <= 1)
{
$message = "Nom d'usager invalide";
$afficher_form = 1;
}
else
{
$to = "$email";
{
$message = "Usager ". $pseudo ."\nMot de passe: ". $passe ."\n";
if(mail ($to, "Votre Mot de passe", $message))
{
$message = "Votre mot de passe vient de vous être envoyé par courriel.";
$afficher_form = 0;
}
}
}
}
//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>
Suis bien le code, j'ai viré certains trucs, ajouté d'autres, ils ont tous une raison, je te laisse le soin de les comprendre, pose des questions si tu ne trouves pas <?
// SERVEUR SQL
$sql_serveur="mysql";
// LOGIN SQL
$sql_user="XXXX";
// MOT DE PASSE SQL
$sql_passwd="XXXX";
// NOM DE LA BASE DE DONNEES
$sql_bdd="cellier";
?>
et voici la modif que j'ai fait, j'en ai pas fait d'autre, j'ai essayer de suivre, mais en partant je ne comprend pas pourquoi j'ai une page blanche, alors c'est peut être ma connection à la bd des le début, chose sure c'est que les config de connec.php sont ok car elle fonctionne ailleur.
$conecter=mysql_connect($sql_serveur,$sql_user,$sql_passw)or die ("erreur de connexion");
mysql_select_db($sql_bdd,$conecter) or die ("erreur de selection");
$pseudoexists = "SELECT passe FROM membre WHERE pseudo='$pseudo'";
$existence = mysql_query($pseudoexists);
es ce que j'ai bien fait, quoique ca marche quand même pas
echo $afficher_form;
if($afficher_form == 1)
{
...
et nous si la valeur de $afficher_form s'affiche (en principe 1)Pas certain de comprendre ou tu veux que je le place, dans la sectin php ou html ??test bidon mais on ne sait jamais..essai en plaçant cei dans le code au niveau du 2eme if:
et nous si la valeur de $afficher_form s'affiche (en principe 1)echo $afficher_form; if($afficher_form == 1) { ...