Voulant réaliser un système d'inscription/connexion sur mon site je me suis aider du tutoriel de ce site.
Seulement, j'ai ajouter 2 lignes a ma base de donnée (nom et prénom) mais celle-ci refuse de se poster.
J'ai modifié/rajouté quelque petit truc mais ca ne focntionne pas.
Voici le code, et merci de votre aide
<?php
header('Content-type: text/html; charset=UTF-8');
function Verif_magicquotes ($chaine)
{
if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
return $chaine;
}
$message = null;
if (isset($_POST['pseudo']))
{
$pseudo = (isset($_POST['pseudo']) && trim($_POST['pseudo']) != '')? Verif_magicquotes($_POST['pseudo']) : null;
$pass = (isset($_POST['pass']) && trim($_POST['pass']) != '')? Verif_magicquotes($_POST['pass']) : null;
$nom = (isset($_POST['nom']) && trim($_POST['nom']) != '')? Verif_magicquotes($_POST['nom']) : null;
$prenom = (isset($_POST['prenom']) && trim($_POST['prenom']) != '')? Verif_magicquotes($_POST['prenom']) : null;
if(isset($pseudo,$pass,$nom,$prenom))
{
$hostname = "localhost";
$database = "bdd_site_php_cours";
$username = "root";
$password = "";
$connection = mysql_connect($hostname, $username, $password) or die(mysql_error());
// Connexion à la base
mysql_select_db($database, $connection);
// Indique à mySql de travailler en UTF-8 (par défaut mySql risque de travailler au standard ISO-8859-1)
mysql_query("SET NAMES 'utf8'");
// Préparation des données pour les requêtes à l'aide de la fonction mysql_real_escape_string
$nom = mysql_real_escape_string($pseudo);
$password = mysql_real_escape_string($pass);
// Requête pour compter le nombre d'enregistrements répondant à la clause : champ du pseudo de la table = pseudo posté dans le formulaire
$requete = "SELECT count(*) as nb FROM membres WHERE pseudo = '".$nom."'";
// 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
{
// Pour enregistrer la date actuelle (date/heure/minutes/secondes) on peut utiliser directement la fonction mysql : NOW()
$insertion = "INSERT INTO membres(pseudo,pass,date_enregistrement) VALUES('".$nom."', '".$password."', NOW())";
// Exécution de la requête d'insertion
$inser_exec = mysql_query($insertion) or die(mysql_error());
/* 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.operators.comparison.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'] = $pseudo;
// A MODIFIER Remplacer le '#' par l'adresse de votre page de destination, sinon ce lien indique la page actuelle.
$message = 'Votre inscription est enregistrée. <a href = "#">Cliquez ici pour vous connecter</a>';
}
}
else
{ // Le pseudo est déjà utilisé
$message = 'Ce pseudo est déjà utilisé, changez-le.';
}
}
else
{ // Au moins un des deux champs "pseudo" ou "mot de passe" n'a pas été rempli
$message = 'Les champs "Pseudo" et "Mot de passe" doivent être remplis.';
}
}
?>
PS: Je suis un grand débutant en php...