Alors ça avance ?
ça devrait donner quelque chose comme ça :
<?php
// Indique le bon format des entêtes (par défaut apache risque de les envoyer au standard ISO-8859-1)
header('Content-type: text/html; charset=UTF-8');
/* Création d'une fonction - utilisée dans la récupération des variables - qui teste la configuration get_magic_quotes_gpc du serveur.
Si oui, supprime avec la fonction stripslashes les antislashes "\" insérés dans les chaines de caractère des variables gpc (GET, POST, COOKIE) */
function Verif_magicquotes ($chaine)
{
if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
return $chaine;
}
$message = array();
// Si le formulaire est envoyé
if (isset($_POST['name']))
{
$name = (isset($_POST['name']) && trim($_POST['name']) != '')? Verif_magicquotes($_POST['name']) : null;
$password = (isset($_POST['password']) && trim($_POST['password']) != '')? Verif_magicquotes($_POST['password']) : null;
$password_verif = (isset($_POST['password_verif']) && trim($_POST['password_verif']) != '')? Verif_magicquotes($_POST['password_verif']) : null;
$birthday = (isset($_POST['birthday']) && trim($_POST['birthday']) != '')? Verif_magicquotes($_POST['birthday']) : null;
if ($name == null) $message[] = 'le champ nom doit être rempli';
if ($password == null) $message[] = 'le champ pass doit être rempli';
if ($password != $password_verif) $message[] = 'la confirmation du mot de passe n\'est pas valide';
if ($birthday == null) $message[] = 'le champ date de naissance doit être rempli';
//si le tableau des messages d'erreur est vide on poursuit le code php d'insertion des données en base de données (cf tuto en adaptant avec les champs de tes tables)
if (count($message) == 0)
{
// connexion à la base
include 'includes/config.php';
mysql_query("SET NAMES 'utf8'");
// Préparation des données pour la requête de vérification avec la fonction mysql_real_escape_string
$name = mysql_real_escape_string($name );
// Requête pour compter le nombre d'enregistrements répondant à la clause : champ du nom de la table = nom posté dans le formulaire
$requete = "SELECT count(*) as nb FROM accounts WHERE name= '".$name ."'";
// Exécution de la requête
$req_exec = mysql_query($requete) or die(mysql_error());
// Création du tableau associatif du résultat
$resultat = mysql_fetch_assoc($req_exec);
// nb est le nom de l'allias associé à count(*) et retourne le résultat de la requête dans le tableau $resultat;
if ($resultat['nb'] == 0)
// Résultat du comptage = 0 pour ce pseudo, on peut donc l'enregistrer
{
// Préparation des données pour la requête d'insertion avec la fonction mysql_real_escape_string + hashage du passe
$password = mysql_real_escape_string(sha1($password));
$birthday = mysql_real_escape_string($birthday);
// on écrit la requête sql
$sql = "INSERT INTO accounts(id, name, password, birthday) VALUES('','".$name."','".$password."','".$birthday."')";
// on insère les informations du formulaire dans la table
$inser_exec = mysql_query($sql);
/* Si l'insertion s'est faite correctement (une requête d'insertion retourne "true" en cas de succès, je peux donc utiliser
l'opérateur de comparaison strict '===' c.f. http://fr.php.net/manual/fr/language.op ... arison.php) */
if ($inser_exec === true)
{
/* Démarre la session et enregistre le pseudo dans la variable de session $_SESSION['login']
qui donne au visiteur la possibilité de se connecter. */
session_start();
$_SESSION['login'] = $name;
$message[] = 'Votre inscription est enregistrée. Vous pouvez vous connecter';
}
}
else
{
$message[] = 'Ce nom est déjà pris, choisissez-en un autre';
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Formulaire d'inscription</title>
</head>
<body>
<div id = "message_erreurs">
<?php if(count($message) > 0) foreach ($message as $value) echo $value.'<br />';?>
</div>
<form method="POST" action="#">
Votre nom de compte : <input type="text" name="name" size="20" value="" maxlength="15"><br /><br />
Votre mot de passe : <input type="password" name="password" size="20" value="" maxlength="20"><br /><br />
Répétez votre mot de passe : <input type="password" name="password_verif" size="20" value="" maxlength="20"><br /><br />
Votre date de naissance (aaaa-mm-jj) : <input type="text" name="birthday" size="20" value="0000-00-00" maxlength="10"><br />
*N'oubliez pas de metre les "-" entre les nombre*<br /><br />
<center><input type="submit" value="Envoyer" name="envoyer"></center>
</form>
</body>
</html>