Merci pour vos réponses,
mais je ne comprends toujours pas pourquoi cela ne fonctionne pas... J'ai tenté de contourner le tout avec du javascript afin de pouvoir avancer, mais là j'ai besoin de créer des variables session et j'ai toujours l'irritante erreur:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\profil\connexion.php:1) in c:\program files\easyphp1-8\www\profil\connexion.php on line 6
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\profil\connexion.php:1) in c:\program files\easyphp1-8\www\profil\connexion.php on line 6
<?php
if(isset($_POST['connexion']) && (!empty($_POST['utilisateur'])) && (!empty($_POST['motpasse'])))
{
session_start();
$Utilisateur = $_POST['utilisateur'];
$MotPasse = $_POST['motpasse'];
require("Config.php");
$connexion = mysql_connect($host,$user,$pass) or die('Erreur: Connection au serveur impossible');
mysql_select_db('profil',$connexion) or die ('Erreur: Connection à la base de données impossible');
//Vérification de l'identité de l'utilisateur
$resultatSQL='';
$data='';
mysql_real_escape_string($Utilisateur,$connexion);
mysql_real_escape_string($MotPasse,$connexion);
$resultatSQL = mysql_query("SELECT Nom FROM membre WHERE membre.NomUtilisateur = '$Utilisateur' and membre.MotdePasse ='$MotPasse'")or die('Erreur: Impossible d\'exécuter la requête VÉRIFIER MEMBRE');
$data = mysql_fetch_array($resultatSQL);
if(!empty($data[0]))
{
$_SESSION['utilisateur']=$Utilisateur;
$_SESSION['ID']=$data['NumeroMembre'];
mysql_close($connexion);
//Redirection dans 3 secondes vers le profil
echo " <script language=\"javascript\" type=\"text/javascript\">
<!--
window.setTimeout('window.location=\"VotreProfil.html\"; ',3000);
// -->
</script>
<DIV align=CENTER><b>Authentification effectuée avec succès!</b><br>Vous allez être automatiquement redirigé dans 3 secondes.";
exit;
}
else
{
echo 'L\'Authentification a échouée. Vérifiez le nom d\'utilisateur et le mot de passe...';
mysql_close($connexion);
exit;
}
}
?>
<html>
<body>
<div align=center>
<h2>Connexion à votre profil</h2>
<hr width=60% align=center><br>
<form method="post" action="Connexion.php">
<p align=center>
<pre>
<table>
<tr><td align=right>Nom d'utilisateur:</td><td align=left><INPUT TYPE="texte" name="utilisateur" size="20" maxlength="20"></td></tr>
<tr><td align=right>Mot de passe:</td><td align=left><INPUT TYPE="password" name="motpasse" size="20" maxlength="20"></td></tr>
<tr><td> </td><td><input type="submit" name="connexion" value="Connecter"/></td></tr>
</table>
<input type="checkbox" name="souvenir">Se souvenir de mon profil
<a href="EnregistrementMembre.php">Mot de passe oublié ?</a>
<a href="EnregistrementMembre.php"><b>Créer un compte</b></a>
</pre>
</p>
</form>
</body>
</html>
Ce qui est le plus frustrant, c'est que je me suis sur le code ci-dessous et celui-ci fonctionne à merveille...
<?php
if(isset($_POST['ValidForm']))
{
$succes = 'v'; //On peut enregistrer le membre ?
$MessageErreur = '<DIV align=CENTER><U><B>Erreur</B></U>';
$Nom = $_POST['Nom'];
$Prenom = $_POST['Prenom'];
$Courriel = $_POST['Courriel'];
$GrandeurPieds = $_POST['G_Pieds'];
$GrandeurPouces = $_POST['G_Pouces'];
$Poids = $_POST['Poids'];
$Utilisateur = $_POST['Utilisateur'];
$MotPasse = $_POST['MotPasse'];
$ConfirmationMP = $_POST['ConfirmationMP'];
$NC_Utilisateur = StrLEN($_POST['Utilisateur']); //Nombre de caractères Utilisateur
$NC_MP = StrLEN($_POST['MotPasse']); //Nombre de caractères Mot de passe
//VÉRIFICATION DES DONNEES
//======================================
if ($Courriel == "")
{
$MessageErreur .= '<UL type=disc><LI>Vous devez inscrire une adresse de <B>courriel</B></UL>';
$succes = 'f';
}
elseif(!preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*.([a-z]{2,4})$`',$Courriel))
{
$MessageErreur .= '<UL type=disc><LI>L\'adresse <B>courriel</B> est invalide</UL>';
$succes = 'f';
}
if ($Utilisateur == "")
{
$MessageErreur .= '<UL type=disc><LI>Vous devez inscrire un nom d\'<B>utilisateur</B></UL>';
$succes = 'f';
}
elseif($NC_Utilisateur < 6)
{
$MessageErreur .= '<UL type=disc><LI>Le nom d\'<B>utilisateur</B> doit ête composé de 6 caractères minimum</UL>';
$succes = 'f';
}
if ($MotPasse == "")
{
$MessageErreur .= '<UL type=disc><LI>Vous devez inscrire un <B>mot de passe</B></UL>';
$succes = 'f';
}
elseif($NC_MP<6)
{
$MessageErreur .= '<UL type=disc><LI>Le <B>mot de passe</B> doit être composé de 6 caractères minimum</UL>';
$succes = 'f';
}
elseif($MotPasse!= $ConfirmationMP)
{
$MessageErreur .= '<UL type=disc><LI>Le <B>mot de passe</B> et la <B>confirmation</B> ne sont pas identiques</UL>';
$succes = 'f';
}
//LOADER LA PAGE
if ($succes == 'f')
{
echo $MessageErreur;
}
else
{
//Succès de la vérification & enregistrement du membre dans la BD
//===============================================================
require("Config.php");
$connexion = mysql_connect($host,$user,$pass) or die('Erreur: Connection au serveur impossible');
mysql_select_db("profil",$connexion) or die ('Erreur: Connection à la base de données impossible');
$requete="INSERT INTO membre (Nom,Prenom,Courriel,Grandeur,Poids,NomUtilisateur,MotdePasse)valueS (\"$Nom\",\"$Prenom\",\"$Courriel\",\"$GrandeurPieds.$GrandeurPouces\",\"$Poids\",\"$Utilisateur\",\"$MotPasse\");";
mysql_real_escape_string($Nom,$connexion);
mysql_real_escape_string($Prenom,$connexion);
mysql_real_escape_string($Courriel,$connexion);
mysql_real_escape_string($GrandeurPieds,$connexion);
mysql_real_escape_string($GrandeurPouces,$connexion);
mysql_real_escape_string($Poids,$connexion);
mysql_real_escape_string($Utilisateur,$connexion);
mysql_real_escape_string($MotPasse,$connexion);
mysql_query($requete,$connexion) or die('Erreur: Impossible d\'exécuter la requête AJOUTER MEMBRE
mysql_close($connexion);
//Redirection vers la page de connexion
header('Location: connexion.html');
exit;
}
}
?>
<html>
<body>
<br>
<div align=center>
<h2>Étape 1 - Informations du nouveau membre</h2>
<hr width=60% align=center><br>
<i>Les champs marqués d'un * sont obligatoires</i><br>
<form method="post" action="EnregistrementMembre.php">
<p align=center>
<table>
<tr align=left><td> </td><td><H4><U>Informations personnelles</U></H4></td></tr>
<tr><td align=right>Nom:</td><td align=left><input type="texte" name="Nom" size="20" maxlength="30"></td></tr>
<tr><td align=right>Prénom:</td><td align=left><input type="texte" name="Prenom" size="20" maxlength="30"></td></tr>
<tr><td align=right>Courriel:</td><td align=left><input type="texte" name="Courriel" size="30" maxlength="30"> *</td></tr>
<tr><td align=right>Grandeur:</td><td align=left><select name="G_Pieds">
<option value="1"> 1
<option value="2"> 2
<option value="3"> 3
<option value="4"> 4
<option value="5"> 5
<option value="6"> 6
<option value="7"> 7
</select>'<select name="G_Pouces">
<option selectED value="0"> 0
<option value="1"> 1
<option value="2"> 2
<option value="3"> 3
<option value="4"> 4
<option value="5"> 5
<option value="6"> 6
<option value="7"> 7
<option value="8"> 8
<option value="9"> 9
<option value="10"> 10
<option value="11"> 11
<option value="12"> 12
</select>"</td></tr>
<tr><td align=right>Poids:</td><td align=left><select name="Poids"><option selected value="0"> 0
<?php
for ($I=1;$I<150;$I++)
{
echo '<option value="';
echo $I;
echo '">';
echo $I;
}
?>
</select> Kg</td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr align=left><td> </td><td><h4><u>Informations relatives au compte</u></h4></td></tr>
<tr><td align=right>Nom d'utilisateur:</td><td align=left><input type="texte" name="Utilisateur" size="20" maxlength="20"> * 6 caractères minimum</td></tr>
<tr><td align=right>Mot de passe:</td><td align=left><input type="password" name="MotPasse" size="20" maxlength="20"> * 6 caractères minimum</td></tr>
<tr><td align=right>Confirmation:</td><td align=left><input type="password" name="ConfirmationMP" size="20" maxlength="20"> *</td></tr>
<tr><td> </td></tr>
</table>
</FORM>
</PRE>
<br>
<input type="submit" name="ValidForm" value="Enregistrer mon profil"/> <input type="reset" value="Annuler">
</p>
</body>
</html>
Si je n'ai pas d'espace avant php, qu'est-ce qui peut bien me donner cette erreur?
Si je veux tenter du Output Buffer, où dois-je inclure ob_start() et ob_end_flush() ?
Merci pour votre précieuse aide !
