salut, J'essaie de creer un espace membre pour mon site. j'ai fini la page la page qui permet de s'inscrire et la page de traitement
Code source de la page d'inscription:
Code source de la page de traitement :
Maintenat j'essaie de tester pour voir si je peux utiliser les informatons enregistrées dans la base de données pour une connexion mais je vois que je rencontre des problèmes. J'ai d'abord crer un formuaire qui demande le login et le mot de passe du visiteur et si le visiteur sur le bounton de validation du formulaire il est dirigé vers une page de traitement
Code source du formulaire:
Code source de la page de traitement du formulaire de connexion:
Je poste pour vous demander de m'aider a trouver le problème et aussi à verifier si j'ai des elements a arranger dans mes codes sources.
Merci d'avance.
Prince Lionel N'zi
Modifié par princelionel (25 May 2014 - 06:51)
Code source de la page d'inscription:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8/>
<title>Inscription</title>
</head>
<body>
<form method="post" action="exoVolumeDuCone.php">
<p>
Votre email: <input type="email" name="email" placeholder="princelionneln@yahoo.com" required />
Votre pseudo: <input type="type" name="login" placeholder="Ex: princelionelnzi " required />
Votre mot de passe: <input type="password" name="password" required />
<input type="submit" value="Valider le formulaire"/>
</p>
</form>
</body>
</html>
Code source de la page de traitement :
<?php
include('config.php'); // On inclue le fichier qui contient les paramètres de connexions à la base de données
$requete = $bdd->prepare('INSERT INTO membres_tbl(Login, Password, email) VALUES(?,?,?)');
$requete->execute(array(htmlspecialchars($_POST['login']), htmlspecialchars($_POST['password']), htmlspecialchars($_POST['email'])));
if ($requete)
{
// Si la requête est exécutée correctement
// Redirection vers une page, ici une page de remerciements
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Notre première instruction : echo</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
</head>
<body>
<h2>Calcul du volume d'un cone a partir de la creation d'une fonction en PHP</h2>
<?php
function volumeDuCone ($rayon, $hauteur)
{
$volume = $rayon * $rayon * 3.14 * $hauteur * (1/3);
return $volume;
}
$volume = volumeDuCone(3, 1);
echo 'Le volumes de votre cone de rayon 3 et d\'hauteur 3 est : '.$volume;
?>
</body>
</html>
<?php
}
else
{ // Sinon
echo 'Inscription non réussie ! Veuillez recommencer.'; // Affichage de cette phrase...
}
?>
Maintenat j'essaie de tester pour voir si je peux utiliser les informatons enregistrées dans la base de données pour une connexion mais je vois que je rencontre des problèmes. J'ai d'abord crer un formuaire qui demande le login et le mot de passe du visiteur et si le visiteur sur le bounton de validation du formulaire il est dirigé vers une page de traitement
Code source du formulaire:
<center>
<br><br><br><br><br><br>
<form name="identification" action="identification.php" method="POST">
Login : <input type="text" name="login">
<br><br>
Password : <input type="password" name="password">
<br><br>
<input type="submit" value="S'identifier !">
</form>
</center>
Code source de la page de traitement du formulaire de connexion:
<?php
include('config.php');
if ($_GET['id'] = 2)
{
// Si on arrive par identification.php?id=2
$verif = $bdd->query('SELECT * FROM membres_tbl WHERE login='$_POST['login']' AND password='$_POST['password']''); // Sélection du login correspond au mot de passe entré par le visiteur
$ok = mysql_query($verif) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // On exécute et on gère l'erreur
if(!mysql_num_rows($ok)) { // Si le login et mot de passe ne correspondent pas
echo '<center><br><br><b>Erreur dans la saisie du login et/ou du mot de passe !</b>';
echo '<br><br><a href="javascript:history.go(-1)">Retour</a></center>';
exit(); // On arrête le chargement de la page
}
$modif = "UPDATE membres_tbl SET Password='$_POST[password3]' WHERE Login='$_POST[login]' AND Password='$_POST[password]'"; // Requête de "modification"
mysql_query($modif) or die ('Erreur ! Impossible de modifier votre mot de passe pour des raisons techniques !<br><br>'.mysql_error()); // Exécution de la requête et gestion de l'erreur
echo '<center><br><br><br>Votre nouveau mot de passe : <b>'.$_POST['password3'].'</b>'; // Petit message...
echo '<br><br><br><a href="votre_page.php"> Votre page</center>'; // Ici affichage d'un lien de votre choix, donc à modifier !!!
exit(); // On arrête le chargement de la page
}
if(empty($_POST['login'])) // Si login est vide
{
echo '<br><br><center><b><p>Et votre login ?!?</p></b></center>';
include('form_ident.php'); // On inclus le formulaire d'identification
exit(); // On arrête le chargement de la page
}
if(empty($_POST['password'])) // Si aucun password n'a été donné
{
echo '<br><br><center><b><p>Et votre mot de passe ?!?</p></b></center>';
include('form_ident.php'); // On inclus le formulaire d'identification
exit(); // On arrête le chargement de la page
}
// On recupère le mot de passe de la table membres_tbl qui correspond au login du visiteur
$sql = "SELECT Password FROM membres_tbl WHERE Login='$_POST[login]'";
$req = mysql_query($sql) or die('Erreur !<br>'.$sql.'<br>'.mysql_error()); // On exécute la requête et on gère l'erreur
$data = mysql_fetch_array($req); // On met dans un tableau la requete $sql
if($data['Password'] != $_POST['password']) // Si le password entré par le visiteur est différent de celui contenu dans la base de données
{
echo '<br><br><center><b><p>Vous avez entrez un mauvais mot de passe ou un mauvais login...</p></b></center>';
include('form_ident.php'); // On inclus le formulaire d'identification
exit(); // On arrête le chargement de la page
}
else // Sinon...
{
session_start(); // On ouvre une session
session_register('login'); // On enregistre la variable de session login
session_register('password'); // On enregistre la variable de session password
header('Location: ma_page.php'); // Redirection vers la page d'accueil de l'espace membres
}
?>
Je poste pour vous demander de m'aider a trouver le problème et aussi à verifier si j'ai des elements a arranger dans mes codes sources.
Merci d'avance.
Prince Lionel N'zi
Modifié par princelionel (25 May 2014 - 06:51)