HELP !! problème formulaire d'inscription

Eléphanteau du PHP | 43 Messages

27 mai 2012, 22:58

Salutation a vous ;) je suis totalement débutant dans le sujet (j'apprends sur le tas a l'aide de différent tutos et forums) et je suis en train de faire un formulaire d'inscription.
celui a l'air de correctement fonctionner sauf qu'en faisant des testes j'ai remarqué que malgré les restrictions non respecté (voir ci dessous) le mail d'activation est bien envoyé et l'inscription dans la base se produit

-les restrictions du nombres de caractères ne produise qu'un message en cas d'erreur
-même si la confirmation du mot de passe est différente du mot de passe l'inscription se produit quand meme

voila un exemple de message d'erreur:
Votre nom d'utilisateur doit comporter entre 4 et 20 caractères
L'utilisation de l'underscore est autorisée
Votre compte utilisateur a correctement été créer. Un email de confirmation vient de vous être envoyer afin de valider l'inscription
Il semblerait que cela soit un probleme d'arret du script en cas d'erreur, j'ai pensé a utiliser la fonction "exit" mais je craique ca bloque completement la page.

Mon second problème concerne la sécurité, je vois de nombreuses choses concernant la securité mais qu'est ce qui est vraiment indispensable et comment l'utiliser vraiment?

voila mon code:
<?php

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: index.php");
}
else
{
     
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
          //echo '<pre>';
		  //print_r($_POST);
		  //echo '</pre>';
          // Vérification de la validité des champs 
    
    if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"])) 
    { 
    $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n"; 
    $message .= "L'utilisation de l'underscore est autorisée"; 
    } 
    elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"])) 
    { 
    $message = "Votre mot de passe doit comporter au moins 4 caractères"; 
    } 
    elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"]) 
    { 
    $message = "Votre mot de passe n'a pas été correctement confirmé"; 
    } 
    elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$", 
    $_POST["TB_Adresse_Email"])) 
    { 
    $message = "Votre adresse e-mail n'est pas valide"; 
    } 
    else 
    { 
    }
    
    if(!empty($message)){
    echo $message; 
    }else{
    }


               // Connexion à la base de données
              	$sql_host = "localhost";
				$sql_user = "force318_chfr";
				$sql_pwd = "nostradamus0501";
				$sql_port = "3306";
				$sql_db = "force318_vincelufologue";
               mysql_connect($sql_host,$sql_user,$sql_pwd);
               mysql_select_db($sql_db);
               
			   //ANTI INJECTION
    foreach($_POST as $k => $v){
    $v=mysql_real_escape_string(htmlentities($v));
    $_POST[$k]=$v;
    }
    foreach($_GET as $k => $v){
    $v=mysql_real_escape_string(htmlentities($v));
    $_GET[$k]=$v;
    }
			   
               // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
           			
 
 $sql = "SELECT Nom_Utilisateur, Adresse_Email FROM Comptes_Utilisateurs WHERE Nom_Utilisateur='".$_POST["TB_Nom_Utilisateur"]."' OR Adresse_Email='".$_POST["TB_Adresse_Email"]."' "; 
 $result = mysql_query($sql) or die (mysql_error());

			 
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
               }
               else
               {
                    
                    // Si un enregistrement est trouvé
                    if(mysql_num_rows($result) > 0)
                    {
                         
                         while($row = mysql_fetch_array($result))
                         {
                              
                              if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
                              {
                                   $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
                                   $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
                              {
                                   $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
                                   $message .= "est déjà utilisée";
                              }
                              
                         }
                         
                    }
                    else
                    {
                         
                         // Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $clef_activation = "";
                         
                         foreach($caracteres_aleatoires as $i)
                         {
                              $clef_activation .= $caracteres[$i];
                         }
                         
                         // Création du compte utilisateur
                         $result = mysql_query("
                              INSERT INTO Comptes_Utilisateurs(
                                   Nom_Utilisateur
                                   , Mot_de_Passe
                                   , Adresse_Email
                                   , Date_Inscription
                                   , Clef_Activation
                              )
                              VALUES(
                                   '" . $_POST["TB_Nom_Utilisateur"] . "'
                                   , '" . md5($_POST["TB_Mot_de_Passe"]) . "'
                                   , '" . $_POST["TB_Adresse_Email"] . "'
                                   , '" . time() . "'
                                   , '" . $clef_activation . "'
                              )
                         ") or die("Erreur : ".mysql_error());
                         
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
                         }
                         else
                         {
                              
                              // Envoi du mail d'activation
                              $sujet = "Activation de votre compte utilisateur";
                              
                              $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $message .= "http://" . $_SERVER["SERVER_NAME"];
                              $message .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
                              $message .= "&clef=" . $clef_activation;
                              
                              // Si une erreur survient
                              if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
                              {
                                   $message = "Une erreur est survenue lors de l'envoi du mail d'activation";
                                   $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
                                   
                                   // Message de confirmation
                                   $message = "Votre compte utilisateur a correctement été créer. ";
                                   $message .= "Un email de confirmation vient de vous être envoyer afin de valider l'inscription";
                                   
                                   // On masque le formulaire
                                   $masquer_formulaire = true;
                                   
                              }
                              
                         }
                         
                    }
                    
               }
            // Fermeture de la connexion à la base de données
          mysql_close();    
          }
          
         
          
     }
     


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title>Inscription Forces Spéciales</title>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<FORM  method="POST" action='http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];?>' >
     <p>
          Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
     </p>
     <p>
          Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
     </p>
     <p>
          Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
     </p>
     <p>
          Adresse e-mail : <input type="text" name="TB_Adresse_Email" />
     </p>
     <p>
          <input type="submit" name="BT_Envoyer" value="Envoyer" />
     </p>
</FORM>
<?php } ?>
</body>
</html>

et celui de la BDD
-- phpMyAdmin SQL Dump
-- version 3.4.10.1
-- http://www.phpmyadmin.net
--
-- Client: localhost
-- Généré le : Sam 26 Mai 2012 à 22:22
-- Version du serveur: 5.5.22
-- Version de PHP: 5.2.9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données: `force318_vincelufologue`
--

-- --------------------------------------------------------

--
-- Structure de la table `Comptes_Utilisateurs`
--

CREATE TABLE IF NOT EXISTS `Comptes_Utilisateurs` (
  `ID_Utilisateur` bigint(255) NOT NULL AUTO_INCREMENT,
  `Nom_Utilisateur` varchar(20) NOT NULL,
  `Mot_de_Passe` varchar(32) NOT NULL,
  `Adresse_Email` varchar(255) NOT NULL,
  `Date_Inscription` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `Compte_Active` enum('0','1') NOT NULL DEFAULT '0',
  `Clef_Activation` varchar(8) NOT NULL,
  PRIMARY KEY (`ID_Utilisateur`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Contenu de la table `Comptes_Utilisateurs`
--

INSERT INTO `Comptes_Utilisateurs` (`ID_Utilisateur`, `Nom_Utilisateur`, `Mot_de_Passe`, `Adresse_Email`, `Date_Inscription`, `Compte_Active`, `Clef_Activation`) VALUES
(5, 're', '997ab1536cd440d2daec3e26f96853e0', '[email protected]', '0000-00-00 00:00:00', '0', 'cf136789');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Eléphanteau du PHP | 32 Messages

28 mai 2012, 00:31

Salut,

Pour ma part, j'ai utilisé les $_SESSION, beaucoup plus facile à manipuler, aussi la fonction ereg est désuète, preg_match ou preg_match_all est préférable.

Aussi, une simple vérification comme celle ci suffit :
Vérifier que le login et le mail n’existe pas dans la base puis ==>

if  $_POST['login'] AND $_POST['password'] AND $_POST['password_confirm'] AND $_POST['email'])    {
                 if  ($_POST['password'] === $_POST['password_confirm'])	{
                            inscris tout dans la base
                 }
                  else {
                            echo erreur, mot de passe incorrect ne correspond pas ...
                 }
}                             
Pour la sécurité, un chiffrement MD5 est par contre conseillé avant l'enregistrement dans la base:
$password = htmlentities(trim(md5($_POST['password'])));
et lors de la saisie pour se connecter :
$_SESSION['pass'] = mysql_real_escape_string(md5($_POST['password']));

Eléphanteau du PHP | 43 Messages

28 mai 2012, 02:13

en ce qui concerne les $_SESSION je ne sais pas encore les manipuler, mais au fur et a mesure que j'avance dans le site j'apprends de nouvelles choses, en ce qui concerne la fonction ereg j'ai vu il y a 2 heure qu'elle était surement vouée a disparaître donc la aussi vais devoir me mettre a jour.
pour le codage des info il est vrai que je ne l'ai pas encore fait car j'ai vu pas mal de choses dont principalement Htmlentities ou htmlspecialchars mais je ne savais pas lequel utiliser

Eléphanteau du PHP | 43 Messages

28 mai 2012, 11:39

bon voila ou j'en suis, je suis bloqué ligne 114 et 143 avec une erreur de syntaxe d'après dreamweaver mais je ne vois pas lesquelles.
et je pense avoir correctement le htmlentities
<?php

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: index.php");
}
else
{
     
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
          //echo '<pre>';
		  //print_r($_POST);
		  //echo '</pre>';
          // Vérification de la validité des champs 
    
    if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"])) 
    { 
    $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n"; 
    $message .= "L'utilisation de l'underscore est autorisée"; 
    } 
    elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"])) 
    { 
    $message = "Votre mot de passe doit comporter au moins 4 caractères"; 
    } 
    elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"]) 
    { 
    $message = "Votre mot de passe n'a pas été correctement confirmé"; 
    } 
    elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$", 
    $_POST["TB_Adresse_Email"])) 
    { 
    $message = "Votre adresse e-mail n'est pas valide"; 
    } 
    else 
    { 
    }
    
    if(!empty($message)){
    echo $message; 
    }else{
    }


               // Connexion à la base de données
              	$sql_host = "localhost";
				$sql_user = "secret";
				$sql_pwd = "secret";
				$sql_port = "3306";
				$sql_db = "secret";
               mysql_connect($sql_host,$sql_user,$sql_pwd)or die("Erreur de connexion à MySQL");
               mysql_select_db($sql_db)or die("Erreur de connexion à la base de données");
               
			   //ANTI INJECTION
    foreach($_POST as $k => $v){
    $v=mysql_real_escape_string(htmlentities($v));
    $_POST[$k]=$v;
    }
    foreach($_GET as $k => $v){
    $v=mysql_real_escape_string(htmlentities($v));
    $_GET[$k]=$v;
    }
			   
               // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
           			
 
 $sql = "SELECT Nom_Utilisateur, Adresse_Email FROM Comptes_Utilisateurs WHERE Nom_Utilisateur='".$_POST["TB_Nom_Utilisateur"]."' OR Adresse_Email='".$_POST["TB_Adresse_Email"]."' "; 
 $result = mysql_query($sql) or die (mysql_error());

			 
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
               }
               else
               {
                    
                    // Si un enregistrement est trouvé
                    if(mysql_num_rows($result) > 0)
                    {
                         
                         while($row = mysql_fetch_array($result))
                         {
                              
                              if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
                              {
                                   $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
                                   $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
                              {
                                   $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
                                   $message .= "est déjà utilisée";
                              }
                              
                         }
                         
                    }
                    else
                    {
                     
					 if  ($_POST["TB_Nom_Utilisateur"] AND $_POST["TB_Mot_de_Passe"] AND $_POST["TB_Confirmation_Mot_de_Passe"] AND $_POST["TB_Adresse_Email"])    {
                 if  ($_POST["TB_Mot_de_Passe"] == $_POST["TB_Confirmation_Mot_de_Passe"])        {
                          //  inscris tout dans la base
                 }
                  else  {
                            echo "erreur, mot de passe incorrect ne correspond pas "
				  		}
								}                             
					     
                         // Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $clef_activation = "";
                         
                         foreach($caracteres_aleatoires as $i)
                         {
                              $clef_activation .= $caracteres[$i];
                         }
                         
                         // Création du compte utilisateur
                         $result = mysql_query("
                              INSERT INTO Comptes_Utilisateurs(
                                   Nom_Utilisateur
                                   , Mot_de_Passe
                                   , Adresse_Email
                                   , Date_Inscription
                                   , Clef_Activation
                              )
                              VALUES(
                                   '" . htmlentities(trim($_POST["TB_Nom_Utilisateur"] . "'
                                   , '" . htmlentities(trim(md5($_POST["TB_Mot_de_Passe"]) . "'
                                   , '" . htmlentities(trim($_POST["TB_Adresse_Email"] . "'
                                   , '" . time() . "'
                                   , '" . $clef_activation . "'
                              )
                         ") or die("Erreur : ".mysql_error());
                         
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
                         }
                         else
                         {
                              
                              // Envoi du mail d'activation
                              $sujet = "Activation de votre compte utilisateur";
                              
                              $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $message .= "http://" . $_SERVER["SERVER_NAME"];
                              $message .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
                              $message .= "&clef=" . $clef_activation;
                              
                              // Si une erreur survient
                              if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
                              {
                                   $message = "Une erreur est survenue lors de l'envoi du mail d'activation";
                                   $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
                                   
                                   // Message de confirmation
                                   $message = "Votre compte utilisateur a correctement été créer. ";
                                   $message .= "Un email de confirmation vient de vous être envoyer afin de valider l'inscription";
                                   
                                   // On masque le formulaire
                                   $masquer_formulaire = true;
                                   
                              }
                              
                         }
                         
                    }
                    
               }
            // Fermeture de la connexion à la base de données
          mysql_close();    
          }
          
         
          
     }
     


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title>Inscription Forces Spéciales</title>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<FORM  method="POST" action='http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];?>' >
     <p>
          Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
     </p>
     <p>
          Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
     </p>
     <p>
          Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
     </p>
     <p>
          Adresse e-mail : <input type="text" name="TB_Adresse_Email" />
     </p>
     <p>
          <input type="submit" name="BT_Envoyer" value="Envoyer" />
     </p>
</FORM>
<?php } ?>
</body>
</html>
Modifié en dernier par vincelufologue le 28 mai 2012, 15:53, modifié 1 fois.

Eléphanteau du PHP | 32 Messages

28 mai 2012, 14:58

Quelques petites erreurs que je vois vite fait :
<p>Adresse e-mail : <input type="text" name="TB_Adresse_Email" /></p>
plutôt :
<p>Adresse e-mail : <input type="mail" name="TB_Adresse_Email" /></p>
La vérification de la présence de @ et d'un nom de domaine sera ainsi faite.

EFFACES TES LOGS, phpfrance est un forum public !!!
$sql_host = "localhost";
                                $sql_user = "";
                                $sql_pwd = "";
                                $sql_port = "";
                                $sql_db = "e";
               mysql_connect($sql_host,$sql_user,$sql_pwd)or die("Erreur de connexion à MySQL");
               mysql_select_db($sql_db)or die("Erreur de connexion à la base de données");
Dans :
if  ($_POST["TB_Mot_de_Passe"] == $_POST["TB_Confirmation_Mot_de_Passe"])
Il faut aussi vérifier le type de donnée, pour cela il faut 3 fois le signe === lors de la comparaison du mot de passe et de sa vérif.

Eléphanteau du PHP | 43 Messages

28 mai 2012, 16:18

avec ce code j'ai toujours une erreur de syntaxe que je trouve pas a la ligne 143 ( ") or die("Erreur : ".mysql_error()); )et 114 ( echo "erreur, mot de passe incorrect ne correspond pas "
} )

après j'ai peut etre mal transcrit ce que tu ma conseillé de faire
<?php

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: index.php");
}
else
{
     
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
          //echo '<pre>';
                  //print_r($_POST);
                  //echo '</pre>';
          // Vérification de la validité des champs 
    
    if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"])) 
    { 
    $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n"; 
    $message .= "L'utilisation de l'underscore est autorisée"; 
    } 
    elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"])) 
    { 
    $message = "Votre mot de passe doit comporter au moins 4 caractères"; 
    } 
    elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"]) 
    { 
    $message = "Votre mot de passe n'a pas été correctement confirmé"; 
    } 
    elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$", 
    $_POST["TB_Adresse_Email"])) 
    { 
    $message = "Votre adresse e-mail n'est pas valide"; 
    } 
    else 
    { 
    }
    
    if(!empty($message)){
    echo $message; 
    }else{
    }


               // Connexion à la base de données
                $sql_host = "localhost";
                                $sql_user = "secret";
                                $sql_pwd = "secret";
                                $sql_port = "3306";
                                $sql_db = "secret";
               mysql_connect($sql_host,$sql_user,$sql_pwd)or die("Erreur de connexion à MySQL");
               mysql_select_db($sql_db)or die("Erreur de connexion à la base de données");
               
                           //ANTI INJECTION
    foreach($_POST as $k => $v){
    $v=mysql_real_escape_string(htmlentities($v));
    $_POST[$k]=$v;
    }
    foreach($_GET as $k => $v){
    $v=mysql_real_escape_string(htmlentities($v));
    $_GET[$k]=$v;
    }
                           
               // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
                                
 
 $sql = "SELECT Nom_Utilisateur, Adresse_Email FROM Comptes_Utilisateurs WHERE Nom_Utilisateur='".$_POST["TB_Nom_Utilisateur"]."' OR Adresse_Email='".$_POST["TB_Adresse_Email"]."' "; 
 $result = mysql_query($sql) or die (mysql_error());

                         
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
               }
               else
               {
                    
                    // Si un enregistrement est trouvé
                    if(mysql_num_rows($result) > 0)
                    {
                         
                         while($row = mysql_fetch_array($result))
                         {
                              
                              if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
                              {
                                   $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
                                   $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
                              {
                                   $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
                                   $message .= "est déjà utilisée";
                              }
                              
                         }
                         
                    }
                    else
                    {
                     
                                         if  ($_POST["TB_Nom_Utilisateur"] AND $_POST["TB_Mot_de_Passe"] AND $_POST["TB_Confirmation_Mot_de_Passe"] AND $_POST["TB_Adresse_Email"])    {
                 if  ($_POST["TB_Mot_de_Passe"] === $_POST["TB_Confirmation_Mot_de_Passe"])        {
                          //  inscris tout dans la base
                 }
                  else  {
                            echo "erreur, mot de passe incorrect ne correspond pas "
                                              														}
                                                                }                             
                                             
                         // Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $clef_activation = "";
                         
                         foreach($caracteres_aleatoires as $i)
                         {
                              $clef_activation .= $caracteres[$i];
                         }
                         
                         // Création du compte utilisateur
                         $result = mysql_query("
                              INSERT INTO Comptes_Utilisateurs(
                                   Nom_Utilisateur
                                   , Mot_de_Passe
                                   , Adresse_Email
                                   , Date_Inscription
                                   , Clef_Activation
                              )
                              VALUES(
                                   '" . htmlentities(trim($_POST["TB_Nom_Utilisateur"] . "'
                                   , '" . htmlentities(trim(md5($_POST["TB_Mot_de_Passe"]) . "'
                                   , '" . htmlentities(trim($_POST["TB_Adresse_Email"] . "'
                                   , '" . time() . "'
                                   , '" . $clef_activation . "'
                              )
                         ") or die("Erreur : ".mysql_error());
                         
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
                         }
                         else
                         {
                              
                              // Envoi du mail d'activation
                              $sujet = "Activation de votre compte utilisateur";
                              
                              $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $message .= "http://" . $_SERVER["SERVER_NAME"];
                              $message .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
                              $message .= "&clef=" . $clef_activation;
                              
                              // Si une erreur survient
                              if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
                              {
                                   $message = "Une erreur est survenue lors de l'envoi du mail d'activation";
                                   $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
                                   
                                   // Message de confirmation
                                   $message = "Votre compte utilisateur a correctement été créer. ";
                                   $message .= "Un email de confirmation vient de vous être envoyer afin de valider l'inscription";
                                   
                                   // On masque le formulaire
                                   $masquer_formulaire = true;
                                   
                              }
                              
                         }
                         
                    }
                    
               }
            // Fermeture de la connexion à la base de données
          mysql_close();    
          }
          
         
          
     }
     


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title>Inscription Forces Spéciales</title>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<FORM  method="POST" action='http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];?>' >
     <p>
          Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
     </p>
     <p>
          Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
     </p>
     <p>
          Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
     </p>
     <p>
          Adresse e-mail : <input type="mail" name="TB_Adresse_Email" />
     </p>
     <p>
          <input type="submit" name="BT_Envoyer" value="Envoyer" />
     </p>
</FORM>
<?php } ?>
</body>
</html>
sinon j'ai modifié un peu le code mais je ne sais pas si ca donne le meme resultat pour la confirmation des mots de passe (surcelui la je n'ai aps d'erreur de syntaxe on dirai
<?php

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: index.php");
}
else
{
     
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
          //echo '<pre>';
		  //print_r($_POST);
		  //echo '</pre>';
          // Vérification de la validité des champs 
    
    if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"])) 
    { 
    $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n"; 
    $message .= "L'utilisation de l'underscore est autorisée"; 
    } 
    elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"])) 
    { 
    $message = "Votre mot de passe doit comporter au moins 4 caractères"; 
    } 
    elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"]) 
    { 
    $message = "Votre mot de passe n'a pas été correctement confirmé"; 
    } 
    elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$", 
    $_POST["TB_Adresse_Email"])) 
    { 
    $message = "Votre adresse e-mail n'est pas valide"; 
    } 
    else 
    { 
    }
    
    if(!empty($message)){
    echo $message; 
    }else{
    }


               // Connexion à la base de données
              	$sql_host = "localhost";
				$sql_user = "secret";
				$sql_pwd = "secret";
				$sql_port = "3306";
				$sql_db = "secret";
               mysql_connect($sql_host,$sql_user,$sql_pwd);
               mysql_select_db($sql_db);
               
			   //ANTI INJECTION
   				 foreach($_POST as $k => $v){
   				 $v=mysql_real_escape_string(htmlentities($v));
   				 $_POST[$k]=$v;
  											}
  				 foreach($_GET as $k => $v) {
  				 $v=mysql_real_escape_string(htmlentities($v));
   				 $_GET[$k]=$v;
  											}
			   
               // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
           		
				 $sql = "SELECT Nom_Utilisateur, Adresse_Email FROM Comptes_Utilisateurs WHERE Nom_Utilisateur=
		 			'".$_POST["TB_Nom_Utilisateur"]."' OR Adresse_Email='".$_POST["TB_Adresse_Email"]."' "; 
 		 		 $result = mysql_query($sql) or die (mysql_error());

			 
               // Si une erreur survient
				if(!$result)
               {
                	$message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
               }
                else
               {
                    
                    // Si un enregistrement est trouvé et verification mdp
                   		if(mysql_num_rows($result) > 0)
                    {
                         
                         while($row = mysql_fetch_array($result))
                         {
                              
                              if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
                              {
                                   $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
                                   $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
                              {
                                   $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
                                   $message .= "est déjà utilisée";
                              }
                              elseif($_post["TB_Mot_de_Passe"] /= $_post["TB_Confirmation_Mot_de_Passe"])
							  {
								  $message = "les mot de passe ne correspond pas";
							  }
                         }
                         
                    }
                    else
                    {
                     			     
                         // Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $clef_activation = "";
                         
                         foreach($caracteres_aleatoires as $i)
                         {
                              $clef_activation .= $caracteres[$i];
                         }
                         
                         // Création du compte utilisateur
                         $result = mysql_query("
                              INSERT INTO Comptes_Utilisateurs(
                                   Nom_Utilisateur
                                   , Mot_de_Passe
                                   , Adresse_Email
                                   , Date_Inscription
                                   , Clef_Activation
                              )
                              VALUES(
                                   '" . htmlentities($_POST["TB_Nom_Utilisateur"] . "'
                                   , '" . htmlentities(trim(md5($_POST["TB_Mot_de_Passe"]) . "'
                                   , '" . htmlentities($_POST["TB_Adresse_Email"] . "'
                                   , '" . time() . "'
                                   , '" . $clef_activation . "'
                              )
                         						") or die("Erreur : ".mysql_error());
                         
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
                         }
                         else
                         {
                              
                              // Envoi du mail d'activation
                              $sujet = "Activation de votre compte utilisateur";
                              
                              $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $message .= "http://" . $_SERVER["SERVER_NAME"];
                              $message .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
                              $message .= "&clef=" . $clef_activation;
                              
                              // Si une erreur survient
                              if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
                              {
                                   $message = "Une erreur est survenue lors de l'envoi du mail d'activation";
                                   $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
                                   
                                   // Message de confirmation
                                   $message = "Votre compte utilisateur a correctement été créer. ";
                                   $message .= "Un email de confirmation vient de vous être envoyer afin de valider l'inscription";
                                   
                                   // On masque le formulaire
                                   $masquer_formulaire = true;
                                   
                              }
                              
                         }
                         
                    }
                    
               }
            // Fermeture de la connexion à la base de données
          mysql_close();    
          }
          
         
          
     }
     


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title>Inscription Forces Spéciales</title>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<FORM  method="POST" action='http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];?>' >
     <p>
          Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
     </p>
     <p>
          Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
     </p>
     <p>
          Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
     </p>
     <p>
          Adresse e-mail : <input type="mail" name="TB_Adresse_Email" />
     </p>
     <p>
          <input type="submit" name="BT_Envoyer" value="Envoyer" />
     </p>
</FORM>
<?php } ?>
</body>
</html>

le htmlentities est bien inséré ou je dois aussi le mettre ailleur?

Eléphanteau du PHP | 32 Messages

28 mai 2012, 16:31

Le htmlentities à l'air OK, ceci dit tu peux aussi utiliser specialchars, il me semble qu'il y a moins d'erreur d'encodage avec UTF8.

Pour l'erreur de syntaxe, à vue de nez, je dirais qu'il faut supprimer tout les espaces en trop :mrgreen:
'" . htmlentities(trim($_POST["TB_Nom_Utilisateur"] . "'
plutôt ==>
'".htmlentities(trim($_POST["TB_Nom_Utilisateur"]."'

Eléphanteau du PHP | 32 Messages

28 mai 2012, 16:39

Aussi, passes tes valeurs ainsi dans la base de donnée :
$Adresse_Email = htmlentities($_POST['Adresse_Email']);
$Nom_Utilisateur = htmlentities($_POST['Nom_Utilisateur']);
$sql = "INSERT INTO ma_table (Adresse_Email, Nom_Utilisateur) VALUE ('$Adresse_Email', '$Nom_Utilisateur')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

Eléphanteau du PHP | 43 Messages

28 mai 2012, 19:26

voila ce que cela donne enfin je pense. tu vois des améliorations ou des fautes? v regarder comment remplacer les !ereg
<?php

// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
     header("Location: index.php");
}
else
{
     
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
          //echo '<pre>';
		  //print_r($_POST);
		  //echo '</pre>';
          // Vérification de la validité des champs 
    
    if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"])) 
    { 
    $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n"; 
    $message .= "L'utilisation de l'underscore est autorisée"; 
    } 
    elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"])) 
    { 
    $message = "Votre mot de passe doit comporter au moins 4 caractères"; 
    } 
    elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"]) 
    { 
    $message = "Votre mot de passe n'a pas été correctement confirmé"; 
    } 
    elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$", 
    $_POST["TB_Adresse_Email"])) 
    { 
    $message = "Votre adresse e-mail n'est pas valide"; 
    } 
    else 
    { 
    }
    
    if(!empty($message)){
    echo $message; 
    }else{
    }


               // Connexion à la base de données
              	$sql_host = "localhost";
				$sql_user = "secret";
				$sql_pwd = "secret";
				$sql_port = "3306";
				$sql_db = "secret";
               mysql_connect($sql_host,$sql_user,$sql_pwd);
               mysql_select_db($sql_db);
               
			   //ANTI INJECTION
   				 foreach($_POST as $k => $v){
   				 $v=mysql_real_escape_string(htmlentities($v));
   				 $_POST[$k]=$v;
  											}
  				 foreach($_GET as $k => $v) {
  				 $v=mysql_real_escape_string(htmlentities($v));
   				 $_GET[$k]=$v;
  											}
			   
               // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
           		
				 $sql = "SELECT Nom_Utilisateur, Adresse_Email FROM Comptes_Utilisateurs WHERE Nom_Utilisateur=
		 			'".$_POST["TB_Nom_Utilisateur"]."' OR Adresse_Email='".$_POST["TB_Adresse_Email"]."' "; 
 		 		 $result = mysql_query($sql) or die (mysql_error());

			 
               // Si une erreur survient
				if(!$result)
               {
                	$message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
               }
                else
               {
                    
                    // Si un enregistrement est trouvé et verification mdp
                   		if(mysql_num_rows($result) > 0)
                    {
                         
                         while($row = mysql_fetch_array($result))
                         {
                              
                              if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
                              {
                                   $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
                                   $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
                              {
                                   $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
                                   $message .= "est déjà utilisée";
                              }
                              elseif($_post["TB_Mot_de_Passe"] /= $_post["TB_Confirmation_Mot_de_Passe"])
							  {
								  $message = "les mot de passe ne correspond pas";
							  }
                         }
                         
                    }
                    else
                    {
                     			     
                         // Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $clef_activation = "";
                         
                         foreach($caracteres_aleatoires as $i)
                         {
                              $clef_activation .= $caracteres[$i];
                         }
                         
                         // Création du compte utilisateur
                                                      
							    $Adresse_Email = htmlspecialchars($_POST['TB_Adresse_Email']);
								$Nom_Utilisateur = htmlspecialchars($_POST['TB_Nom_Utilisateur']);
								$Mot_De_Passe = htmlspecialchars(trim(md5($_POST['TB_Mot_de_Passe'])));
								$Time= time();
								
								$sql = "INSERT INTO secret (Nom_Utilisateur, Mot_De_Passe, Adresse_Email, Date_Inscription, Clef_Activation) VALUE ('$Nom_Utilisateur', '$Mot_De_Passe', '$Adresse_Email', '$time', '$clef_activation')";
								mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
							                                
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
                         }
                         else
                         {
                              
                              // Envoi du mail d'activation
                              $sujet = "Activation de votre compte utilisateur";
                              
                              $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $message .= "http://" . $_SERVER["SERVER_NAME"];
                              $message .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
                              $message .= "&clef=" . $clef_activation;
                              
                              // Si une erreur survient
                              if(!@mail($_POST["TB_Adresse_Email"], $sujet, $message))
                              {
                                   $message = "Une erreur est survenue lors de l'envoi du mail d'activation";
                                   $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
                                   
                                   // Message de confirmation
                                   $message = "Votre compte utilisateur a correctement été créer. ";
                                   $message .= "Un email de confirmation vient de vous être envoyer afin de valider l'inscription";
                                   
                                   // On masque le formulaire
                                   $masquer_formulaire = true;
                                   
                              }
                              
                         }
                         
                    }
                    
               }
            // Fermeture de la connexion à la base de données
          mysql_close();    
          }
          
         
          
     }
     


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title>Inscription Forces Spéciales</title>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<FORM  method="POST" action='http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];?>' >
     <p>
          Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
     </p>
     <p>
          Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
     </p>
     <p>
          Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" />
     </p>
     <p>
          Adresse e-mail : <input type="mail" name="TB_Adresse_Email" />
     </p>
     <p>
          <input type="submit" name="BT_Envoyer" value="Envoyer" />
     </p>
</FORM>
<?php } ?>
</body>
</html>

Eléphanteau du PHP | 32 Messages

28 mai 2012, 19:41

                              if($_POST["TB_Nom_Utilisateur"] == $row["Nom_Utilisateur"])
                              {
                                   $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"];
                                   $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_Adresse_Email"] == $row["Adresse_Email"])
                              {
                                   $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"];
                                   $message .= "est déjà utilisée";
                              }
                              elseif($_post["TB_Mot_de_Passe"] /= $_post["TB_Confirmation_Mot_de_Passe"])
                                                          {
                                                                  $message = "les mot de passe ne correspond pas";
                                                          }
Juste cela, il faut bien mettre 3 fois le signe égal ainsi : $a === $b, cela permet de vérifier aussi si le type de variable est le même, en faisant $a == $b, tu compare des valeurs numériques et 01 == 1 ==> true, par contre 01 === 1 ==> false.

Dans le premier cas, tu compare si des valeurs sont égales, dans le second, tu compare si elle sont égales et identiques ce qui est faux.

Le reste a l'air correct.

Eléphanteau du PHP | 43 Messages

28 mai 2012, 19:44

donc pour ces 3 conditions je dois mettre un triple egale. je connaissait pas le === c'est toi qui me la appris :) je modifie et je teste :)

Eléphanteau du PHP | 32 Messages

28 mai 2012, 19:49

donc pour ces 3 conditions je dois mettre un triple egale. je connaissait pas le === c'est toi qui me la appris :) je modifie et je teste :)
Je t'ai mis celle ci en exemple mais regardes pour toutes celles ou tu veux savoir si des variables sont identiques.

Eléphanteau du PHP | 43 Messages

28 mai 2012, 20:02

ok :) par contre je viens de tester et meme si je met deux mot de passe different ca valide e t envoi le mail :(
Votre mot de passe n'a pas été correctement confirmé
Votre compte utilisateur a correctement été créer. Un email de confirmation vient de vous être envoyer afin de valider l'inscription

Eléphanteau du PHP | 32 Messages

28 mai 2012, 20:17

Regardes de ce côté là :
elseif($_post["TB_Mot_de_Passe"] /= $_post["TB_Confirmation_Mot_de_Passe"])
                                                          {
                                                                  $message = "les mot de passe ne correspond pas";
                                                          }
c'est !== l’opérateur pour savoir s'il sont différent ou pas de même type :
$_post["TB_Mot_de_Passe"] !== $_post["TB_Confirmation_Mot_de_Passe"]

A ma connaissance comme opérateur /= ne signifie rien en php ...

Eléphanteau du PHP | 32 Messages

28 mai 2012, 20:22

Aussi, pour enregistrer la date et l'heure dans ta base de donnée, tu peux supprimer $Time= time(); et mettre à la place lors de l'INSERT : NOW ()
$sql = "INSERT INTO secret (Nom_Utilisateur, Mot_De_Passe, Adresse_Email, Date_Inscription, Clef_Activation) 
VALUE ('$Nom_Utilisateur', '$Mot_De_Passe', '$Adresse_Email', NOW(), '$clef_activation')";