</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
}
else
{
echo $afficher_form;
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>
<? } else { ?>
<p>L'erreur est dans ce test</p>
<? } ?>
</body>
</html>
J'ai compris le résonnement, mais je n'y connais rien à la prog, alors,les "" les ,,, et les }}{{ et autre mots, je m'y perd, c pourquoi votre aide est si importante pour moi.Suis le raisonnement de mon code: j'initialise en début de code la variable afficher_form à 1 : il y a un cas où je la met à 0, c'est si le mot de passe est envoyé.
quesque vous en pensezBonjour,
Dans tes inputs, deja met le flash a la fin <input />
puis cette ligne:
<?php echo("". $message .""); ?>
ecrit plutot ca
<? echo $message; ?>
avec echo pas de parentheses, t pas de guillement avec une variable sinon il vas t'afficher $message ou lieu de la variable $message.
Ensuite ca vient de tes conditions, tu dit "Si un message est poster" il est pas poster alors la tu dit "sinon" Jusque la OK. Mais apres tu dit "Si afficher form == 1"
mais dans ton cas ce n'est pas le cas donc la condition n'est pas rempli donc il affiche se qu'il y a entre
else
{
et
if
{
et ce qu'il y a entre les 2 ben rien donc rien ne s'affiche.
Peut etre que je me goure et que je suis a coter de la plaque mais e pensse que c'est ca.
j'espere avoir put t'ader.
<?
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;
}
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>
Quant à ce qu'il dit sur le echo sans parenthèses, c'est vrai qu'elles sont facultatives, mais pour ma part j'en mets systématiquement et ce n,est pas une erreur de syntaxe, c'est une habitude., Mais on peut simplifier ceci:
<?php echo("". $message .""); ?>
par <?php echo($message); ?> J'ai corrigé aussi dans le code plus haut.if (mysql_num_rows($existence) < 1)
{
$message = "Nom d'usager invalide";
$afficher_form = 1;
}
else
le < 1 était =< 1$to = "[email protected]";
{
$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;
}
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;
}
le mail ne marche pas vraimenr<?
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>