problème Notice: Undefined index: email(résolu)

Eléphanteau du PHP | 28 Messages

21 mars 2011, 04:26

bonsoir,

voilà je reçois cette erreur mais je ne trouve pas du tout comment faire pour la résoudre merci de votre aide voici mon code :
<fieldset>
<?php 

//je me connect sous mysql.
require("include/mysql.php");

// j'inclue mes function php.
include('function/function.php');

// je créer la variable.
$email = htmlentities($_POST['email']);


$mdp = genere_password($email);
select_password($email, $mdp);


	
?>
	<center>
<form action="mot_de_passe_oublie_utilisateur.html" method="post" >
		<label>Entrez votre adresse email :</label>
			<input type="text" name="email" value="" /><br />
				<br />
			<input type="submit" value=" Envoyer " />
		</form>
	</center>
</fieldset>
et mon erreur :

Notice: Undefined index: email in /home/teamsogames/www/lost.php on line 11 
Modifié en dernier par aurel80 le 22 mars 2011, 02:40, modifié 1 fois.

ViPHP
xTG
ViPHP | 7331 Messages

21 mars 2011, 07:57

La première fois que tu charges ton formulaire tu lances le script PHP, or tu n'as jamais envoyé le formulaire donc le script travaille sur des valeurs inexistantes.

Il faut vérifier la présence de l'envoi :
if( isSet($_POST['email']) )
{
  // traitement du script après l'envoi du formulaire
}

Eléphanteau du PHP | 28 Messages

21 mars 2011, 21:50

oui je les déjà fait mais il des fois j'ai plus rien qui s'affiche à cause de ça, quand je met ton code.

ViPHP
xTG
ViPHP | 7331 Messages

21 mars 2011, 23:06

Il ne faut pas mettre le formulaire dans le if... ;)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 mars 2011, 23:06

salut,

comment à tu utilisé isset ?
tu peut le faire ainsi
<fieldset>
<?php
//je me connect sous mysql.
require("include/mysql.php");
// j'inclue mes function php.
include('function/function.php');
if (isset ($_POST['email'])) {
// Formulaire posté 
$email = htmlentities($_POST['email']);
$mdp = genere_password($email);
select_password($email, $mdp);
//validation quelconque
}
else {
	// cas où le formulaire n'est pas posté
}
?>
        <center>
<form action="mot_de_passe_oublie_utilisateur.html" method="post" >
                <label>Entrez votre adresse email :</label>
                        <input type="text" name="email" value="" /><br />
                                <br />
                        <input type="submit" value=" Envoyer " />
                </form>
        </center>
</fieldset>
 
et ainsi prévoir un message d'erreur ou d'information que tu affichage dans le formulaire.

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 28 Messages

22 mars 2011, 02:40

Problème résolu merci à tous pour votre aide,

Je vous souhaite une bonne soirée et une bonne continuation pour la suite.