Télécharger
Noter:

Ajouté le 19/05/2013
Visionné 55682 fois
4.3/5

Formulaire de connexion en PHP

Description

Formulaire de connexion, simple, en utilisant l'extension MySQLi de PHP et HTML.

<?php
/*
Page: connexion.php
*/
session_start(); // à mettre tout en haut du fichier .php, cette fonction propre à PHP servira à maintenir la $_SESSION
if(isset($_POST['connexion'])) { // si le bouton "Connexion" est appuyé
// on vérifie que le champ "Pseudo" n'est pas vide
// empty vérifie à la fois si le champ est vide et si le champ existe belle et bien (is set)
if(empty($_POST['pseudo'])) {
echo "Le champ Pseudo est vide.";
} else {
// on vérifie maintenant si le champ "Mot de passe" n'est pas vide"
if(empty($_POST['mdp'])) {
echo "Le champ Mot de passe est vide.";
} else {
// les champs sont bien posté et pas vide, on sécurise les données entrées par le membre:
$Pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES, "ISO-8859-1"); // le htmlentities() passera les guillemets en entités HTML, ce qui empêchera les injections SQL
$MotDePasse = htmlentities($_POST['mdp'], ENT_QUOTES, "ISO-8859-1");
//on se connecte à la base de données:
$mysqli = mysqli_connect("domaine.tld", "nom d'utilisateur", "mot de passe", "base de données");
//on vérifie que la connexion s'effectue correctement:
if(!$mysqli){
echo "Erreur de connexion à la base de données.";
} else {
// on fait maintenant la requête dans la base de données pour rechercher si ces données existe et correspondent:
$Requete = mysqli_query($mysqli,"SELECT * FROM membres WHERE pseudo = '".$Pseudo."' AND mdp = '".$MotDePasse."'");//si vous avez enregistré le mot de passe en md5() il vous suffira de faire la vérification en mettant mdp = '".md5($MotDePasse)."' au lieu de mdp = '".$MotDePasse."'
// si il y a un résultat, mysqli_num_rows() nous donnera alors 1
// si mysqli_num_rows() retourne 0 c'est qu'il a trouvé aucun résultat
if(mysqli_num_rows($Requete) == 0) {
echo "Le pseudo ou le mot de passe est incorrect, le compte n'a pas été trouvé.";
} else {
// on ouvre la session avec $_SESSION:
$_SESSION['pseudo'] = $Pseudo; // la session peut être appelée différemment et son contenu aussi peut être autre chose que le pseudo
echo "Vous êtes à présent connecté !";
}
}
}
}
}
?>


La partie HTML (le formulaire):

<!-- 
Les balises <form> sert à dire que c'est un formulaire
on lui demande de faire fonctionner la page connexion.php une fois le bouton "Connexion" cliqué
on lui dit également que c'est un formulaire de type "POST"

Les balises <input> sont les champs de formulaire
type="text" sera du texte
type="password" sera des petits points noir (texte caché)
type="submit" sera un bouton pour valider le formulaire
name="nom de l'input" sert à le reconnaitre une fois le bouton submit cliqué, pour le code PHP
-->

<form action="connexion.php" method="post">
Pseudo: <input type="text" name="pseudo" value="" />
<br />
Mot de passe: <input type="password" name="mdp" value="" />
<br />
<input type="submit" name="connexion" value="Connexion" />
</form>

Commentaires

VeenZ le 11 Octobre 2013 à 12:10

Merci c'est un très bon code !

Very well! le 02 Octobre 2015 à 13:41

Merci pour ce code clair et pratique.

Pour la vérification des champs du formulaire, vous pouvez faire comme ceci:

if(empty($_POST['pseudo']) OR empty($_POST['mot_de_passe'])) {
echo "Une des champs est vide.";
} else {
...

bernard le 05 Février 2017 à 17:08

bonjour, je vais essayer d'utiliser votre code pour faire une page de connexion sur mon site. Par contre, une fois la connexion établie, peut-on renvoyer le membre vers une des pages du site web. Merci pour votre code.

admin le 05 Février 2017 à 22:05

Bonjour,

bien évidement, il vous suffit pour cela de faire une redirection avec la fonction PHP header().

A la place du texte:

echo "Vous êtes à présent connecté !";


Mettez:
header("Location: http://www.example.com/votre-page"); // Redirection du navigateur
exit;//on affiche pas le reste de la page pour faire une redirection parfaite et sans erreurs


Assurez-vous d'utiliser cette fonction au dessus de la balise <html> de votre page pour qu'elle ne produise pas d'erreur et fonctionne parfaitement.

tokosel le 10 Novembre 2018 à 03:10

merci pour le script j'ai pu l'adapter

Gaël Mk le 30 Mai 2020 à 19:15

Merci pour ce code mais j'ai un petit souci,
Une fois rentré le pseudo et le mot de pass après vérification, rien n'est enregistré dans m BDD dans la table membres
Merci d'avance

admin le 31 Mai 2020 à 21:18

Bonjour, il vous faut débuguer petit à petit: pour connaitre l'erreur.

niki le 03 Août 2020 à 10:15

Bonjour Monsieur et merci pour pour le code. je travail sur un formulaire d'inscription d'un étudiant pour un exposé à l'école. je souhaite afficher les informations saisir par l'étudiant en question à l'écran pour qu'il puis apporter une modification s'il y a erreur avant de l 'enregistrer dans la base de donnée. merci de bien vouloir me mettre sur la voie.

admin le 03 Août 2020 à 10:35

Bonjour,

vous avez ce tuto pour ré-afficher les champs de formulaire en cas d'erreur: https://www.c2script.com/scripts/reafficher-les-champs-du-formulaire-en-php-s38.html

Ajouter un commentaire

Pseudo/Nom *
Email *
Message *
La balise [code]Votre code...[/code] peut être utilisée

Captcha * memo1memo2

Les champs marqués d'un * sont obligatoires.

Retour à la liste des scripts

Flag Counter