Aller au contenu

[Tuto]creer un script inscription puis un script de connexion

Noter ce sujet


Blackmesa

Messages recommandés

Membre+, Grosse banane de Dolph, 33ans Posté(e)
Blackmesa Membre+ 2 712 messages
33ans‚ Grosse banane de Dolph,
Posté(e)

Certaines personnes ayant appris le html, et l'ayant utiliser pour creer un petit site web statique veulent peut etre le personnaliser en permettant aux visiteurs de s'inscrire sur leurs site et de se connecter.

Pour cela, ils auront besoin de php. Si vous avez du mal a comprendre le php ou du mal a realiser des script d'inscription et de connexion, ce tutoriel vous guidera (n'hésitez pas a poser des questions) par la suite.

Il vous faudra d'abord creer un cahier des charges. C'est a dire qu'est ce qu'on veut faire? quel nombre de page va t'on realiser, etc.

ici nous voulons creer des script où le visiteur pourra s'inscrire, il nous faudra donc:

creer une base de donnée ainsi qu'une table INSCRIT avec trois champs (id, login, mdp).

une page avec un formulaire d'inscription (par exemple: form_inscri.html) : où le visiteur tapera les données pour l'inscription.

une page php pour l'inscription (par exemple: inscription.php) : qui enregistrera les informations dans la base de donnée.

une page avec un formulaire de connexion (par exemple: form_connex.html): où le visiteur tapera son login et son mdp

une page php pour la connexion (par exemple: inscription.php): qui verifiera si les informations donnée sont bien celle sont dans la base de donnée (celle qui ont été enregistré lors de l'inscription quoi).

c'est tout.

Nous allons commencer par l'inscription, et donc par le formulaire d'inscription en html:

<html>

<head><title>formulaire d'inscription</title>
</head>


<body>

<h3>formulaire d'inscription</h3>

// titre en gros

veuillez vous inscrire:

<form method = "POST" action ="inscription.php">

// POST est la methode par laquelle on va envoyer les valeurs
(ici par le formulaire, et inscription.php le script où on va envoyer les valeurs saisies

login: <input type="text" value = "" name ="pseudo">

// pseudo est le nom du formulaire pour le login, on s'en reservira pour recuperer la valeur dans le script php

mdp: <input type="password" value = "" name ="mdp">

//le type password sert a cacher le mdp lors de la saisie

<input type="submit" value="envoyer" name ="envoyer">

</form>

ca y'est ! notre formulaire d'inscription est creer, vous pouvez en faire une copie pour le formulaire de connexion car ce sera la meme chose (il faudra juste changer la phrase, le titre, etc..)

Nous allons pouvoir creer notre script d'inscription en php.

<?php // balise qui indique le début de langage php

if(isset($_POST['pseudo']) and isset($_POST['mdp']){ 

//  si les variables $_POST['pseudo'] et $_POST['mdp'] 
(qui contiennent les valeurs qu'on a saisie dans le formulaire) existent

if(!empty($_POST['pseudo']) and !empty($_POST['mdp']){ 

// si les variables $_POST['pseudo'] et $_POST['mdp'] ne sont pas vide

$login = $_POST['pseudo'];

$mdp = $_POST['mdp'];  

//alors on stock les $_POST['pseudo'] et $_POST['mdp'] dans deux variables

//puis on se connecte a la base de donnée

mysql_connect('localhost','root',''); 

//local host represente le serveur où est la bdd (ici on est en local),
root represente l'identifiant, et je n'ai pas de mdp car il n'y en a pas besoin en local

mysql_select_db("test");

// je selectionne la bdd où j'ai creer ma table

$requete = "insert into INSCRIT values('', '$login','$mdp'); 

// je cree ma requete sql qui a pour but d'inserer les données dans la table INSCRIT

mysql_query($requete);

// j'execute ma requete

echo "vous vous êtes bien inscrits :blush: ";

 // j'affiche un message quelconque

}

ELSE{

echo "vous avez oublier de saisir une information";

// j'affiche un message d'erreur et j'inclus mon formulaire pour que le visiteur refasse l'inscription

include('form_inscri.html'); 

// la fonction include sert a inclure une page exterieur

}

Voila votre script d'inscription est fait vos utilisateur pourront maintenant s'inscrire. Les phrases après les // sont des commentaires pour vous expliquer. J'en ai mis beaucoup pour que vous compreniez bien certaines choses.

Je vous expliquerais comment creer le script de connexion au prochain post (psk la ca commence a etre charger :coeur: ). N'hésitez pas a poser des questions, proposer des améliorations ou me dire si j'ai fait une erreur.

Modifié par Blackmesa
Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Membre, KelT Informatique, 33ans Posté(e)
KelT Membre 1 855 messages
33ans‚ KelT Informatique,
Posté(e)

Merci

Je me motiverai à le lire quand j'aurais le temps pour la culture G :blush:

Lien à poster
Partager sur d’autres sites

Membre+, Grosse banane de Dolph, 33ans Posté(e)
Blackmesa Membre+ 2 712 messages
33ans‚ Grosse banane de Dolph,
Posté(e)

C'est fait lapinou. Je vois qu'il n'y a pas de remarques ni de questions donc je continue.

nous allons donc nous attaquer au script de connexion (on va dire que la page du formulaire de connexion a déja été faite).


<?php

if(!empty($_POST['pseudo']) and isset($_POST['mdp'])){

$login = $_POST['pseudo'];

$mdp = $_POST['mdp'];

mysql_connect('localhost','root','');

mysql_select_db('test');




$requete = "select login, mdp from INSCRIT where login ='".$login."' and mdp ='".$mdp"'"; 


//on fait une requete sql qui cherche le login et le mdp ressemblant a ceux qu'on a saisies dans le formulaire

$sql = mysql_query($requete); 

//on execute la requete

while($ligne = mysql_fetch_array($sql)){

// on fait une boucle afin de mettre les données récuperer a partir de la bdd dans l'ordre

if($ligne['login'] == $login and $ligne['mdp']== $mdp){

// si le login et le mdp de la bdd sont égaux aux login et mdp saisies dans le formulaire alors

session_start(); // on ouvre une session

$_SESSION['pseudo'] = $ligne['login'];

// on met le pseudo dans une variable de session,
qu'on pourra réutiliser dans les autres pages php sans avoir a rappeler la bdd,
il faudra ouvrir une session en début de page

$_SESSION['mdp'] = $ligne['mdp'];

echo "vous vous êtes bien connectés";

}

else{ 

//sinon si le login ou le mdp est erronés

echo "vous avez fait une erreur lors de la saisie du login/mdp, recommencez:";

include('form_connex.html');

} 

}

else{ 

//si un des formulaires est vide

echo "vous n'avez pas remplis un des champs, recommencez";

include('form_connex.html');

}

Voila votre script de connexion est fini. Cependant, il risque d'il yavoir des problemes de sécurité. Je rajouterais cela plus tard ^^. Si vous avez des questions, des améliorations,des remarques ou si quelque chose ne marche pas n'hésitez pas, il ya surement des erreurs non volontaires^^. Je n'ai pas commenter ce que j'avais commenter dans le script d'inscription, alors reportez vous y s'il n'y a pas d'explications. :blush:

Modifié par Blackmesa
Lien à poster
Partager sur d’autres sites

  • 1 an après...
Membre, Posté(e)
cantat Membre 3 messages
Baby Forumeur‚
Posté(e)

salut a vous déjà merci pour le tuto

j'ai un pb lorsque je veut m inscrire sur mon site il me mais ce message

Parse error: syntax error, unexpected '{' in C:\wamp\www\inscription\inscription.php on line 3

merci de votre aide

Lien à poster
Partager sur d’autres sites

Membre+, Grosse banane de Dolph, 33ans Posté(e)
Blackmesa Membre+ 2 712 messages
33ans‚ Grosse banane de Dolph,
Posté(e)
salut a vous déjà merci pour le tuto

j'ai un pb lorsque je veut m inscrire sur mon site il me mais ce message

Parse error: syntax error, unexpected '{' in C:\wamp\www\inscription\inscription.php on line 3

merci de votre aide

Ca veut dire qu'il y a { en trop ou qui n'a pas été fermé.

Lien à poster
Partager sur d’autres sites

Membre, Posté(e)
cantat Membre 3 messages
Baby Forumeur‚
Posté(e)

c'est a dire je suis novice et je ne comprend pas tous j ait fait un copier collé des script du tuto j ai viré les //

mais voila sa ne fonctionne pas

Lien à poster
Partager sur d’autres sites

Membre, Posté(e)
cantat Membre 3 messages
Baby Forumeur‚
Posté(e)

j ai tous reprie a zero et maintenant j'ai se message lorsque je veut m inscrire

Not Found

The requested URL /inscription.php was not found on this serv

Lien à poster
Partager sur d’autres sites

Membre, Le Dieu Lapin, 36ans Posté(e)
Lapinkiller Membre 10 149 messages
36ans‚ Le Dieu Lapin,
Posté(e)

il me semble qu le message est clair...

il ne trouve pas le fichier inscription.php à la racine de ton site

Lien à poster
Partager sur d’autres sites

  • 11 mois après...
Nouveau, Posté(e)
Charlie8993 Nouveau 1 message
Baby Forumeur‚
Posté(e)

J'ai un probleme car quand je fait envoyer apres mon inscription, je tombe sur la page .php

Quelqu'un peut il m'aider, et merci pour le tuto

Lien à poster
Partager sur d’autres sites

  • 2 mois après...
Membre, 35ans Posté(e)
wilose Membre 49 messages
Baby Forumeur‚ 35ans‚
Posté(e)

Ton tuto est bourré d'erreur :dev: mais il faut passer par la ;), cette inscription/connexion peu se faire en deux pages, mai il reste très simple:

<!--insciption.php-->
<?php
//toutes les pages son en php et on ouvre
//la session au tout début!
session_start();
//on stock le formulaire dans une variable
$formulaire =
'<html>
	<head>
		<title>formulaire d\'inscription</title>
	</head>
	<body>
		<h3>formulaire d\'inscription</h3>
		<p>veuillez vous inscrire:</p>
		<form method = "POST" action ="inscription.php">
			<p>
				login: <input type="text" value = "" name ="pseudo">
				mdp: <input type="password" value = "" name ="mdp">
			</p>
			<input type="submit" value="envoyer" name ="envoyer">
		</form>
	</body>
</html>';
//si $post n'existe pas on affiche le formulaire
if(isset($_POST['pseudo']) AND isset($_POST['mdp'])
{
//on verifi que les variables ne son pas vide
if(!empty($_POST['pseudo']) OR !empty($_POST['mdp'])
{ 
	$login = $_POST['pseudo'];
	$mdp = $_POST['mdp'];
	//connection a la bdd (son nom est 'test')
	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
	//insertion à la bdd
	$req = $bdd->prepare('INSERT INTO inscrit (login, mdp)
		VALUES (:login, :mdp)');
	$req->execute(array(
		'login' => $login,
		'mdp' => $mdp));
	echo "<p>vous vous êtes bien inscrits</p>";
}
else
{
	//si il on oublier un champs on affiche le formulaire
	echo "<p>vous avez oublier de saisir une information</p>";
	echo $formulaire;
}
}
else
{
echo $formulaire;
} ?>

////////////////////////////////////////////////

<!--connexion.php-->
<?php
session_start();
$formulaire = '
<html>
	<head>
		<title>formulaire de connection</title>
	</head>
	<body>
		<h3>formulaire de connection</h3>
		<p>veuillez vous connecter:</p>
		<form method = "POST" action ="connexion.php">
			<p>
				login: <input type="text" value = "" name ="pseudo">
				mdp: <input type="password" value = "" name ="mdp">
			</p>
			<input type="submit" value="envoyer" name ="envoyer">
		</form>
	</body>
</html>';
if(!empty($_POST['pseudo']) AND isset($_POST['mdp']))
{
$login = $_POST['pseudo'];
$mdp = $_POST['mdp'];
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
//on selectionne tout dans la bdd avec le log et mdp poster
$req = $bdd->prepare('SELECT * FROM inscrit WHERE login = ? and mdp = ?');
$req->execute(array($login, $mdp));
while($ligne = $req->fetch())
{
	if($ligne['login'] == $login and $ligne['mdp']== $mdp)
	{
		$verif = false;
	}
	else
	{ 
		$verif = true;
	}
}
$req->closeCursor;
if ($verif == false) 
{
	$_SESSION['pseudo'] = $ligne['login'];
	$_SESSION['mdp'] = $ligne['mdp'];
	echo 'vous vous êtes bien connectés'
}
elseif ($verif == true) {
	echo '<p>vous avez fait une erreur lors de la saisie du login/mdp, recommencez:</p>';
}
}
else
{ 
echo $formulaire;
}

Un exemple de faille, deux membres peuvent avoir le même pseudo, se qui créer un problème majeur.:dev:

Bonne chance, l'apprentissage du php ne se fait pas en un jour...:bo:

Lien à poster
Partager sur d’autres sites

  • 10 mois après...
Nouveau, Posté(e)
hooouuta Nouveau 1 message
Baby Forumeur‚
Posté(e)

Salut :), j'ai essayer de créer un formulaire d'inscription pour une newsletter pour mon site mais j'ai toujours ce problème : les données ne s'enregistrent pas dans la BD :( pouvez vous m'aider :

voici ma page newsletter.html

   
<form id=newsletter action="Newsletter.php" method="post">
 <fieldset>
   <legend class="k" style="color: #FF0; text-align: left; font-size: 36px;"> Information  </legend>				  <p> </p>

       <p>
        <br><br><br> <label for=nom><span class="n"><br>
           <br>
           <br>
<br>
           <br>
          <br>
<br>
Nom</span> et Prénom </label>
         <input id=nom name=nom type=text required autofocus>
         </p>
       <p>
         <label for=email>Email</label>
         <input id=email name=email type=email required>
         </p>
       <p>
         <label for=telephone><br>
           Téléphone </label>
         <input id=telephone name=telephone type=tel >
       </p>
       <p>

         <label for=adresse><br>
           Adresse postale </label>
         <input id=adresse name=adresse type=text >
         </p>
       </p>


       <button type=submit style="text-align:center"  class="bouton">S"inscrire</button></p>
 </fieldset>

</form>			

et la page newsletter.php

     		<?php 
$nom = $_POST['nom'];
   $adr = $_POST['adresse'];
   $tel = $_POST['telephone'];
   $mail = $_POST['email'];

mysql_connect('localhost','root',''); 
mysql_select_db("filmotheque");
$requete = "insert into newsletter values('', '$nom','$tel','$mail','$adr')"; 
mysql_query($requete);
echo "vous vous êtes bien inscrits ";
include('newsletter.html'); 

?>

Merci de m'aider c'est très urgent

Lien à poster
Partager sur d’autres sites

  • 4 semaines après...
Nouveau, Posté(e)
vodkahans Nouveau 1 message
Baby Forumeur‚
Posté(e)

Un exemple de faille, deux membres peuvent avoir le même pseudo, se qui créer un problème majeur.:dev:

Bien que tu est raison, tu n'as en aucun cas dans ton code check si dans la base de donnée le pseudo exister déjà

Lien à poster
Partager sur d’autres sites

  • 11 mois après...
Nouveau, Posté(e)
jahsta Nouveau 1 message
Baby Forumeur‚
Posté(e)

Salut je suis nouveau à votre forum et je suis self-made-man en programmation beaucoup de chose à apprendre ou comprendre. D'habitude je vais à Youtube mais c'est aussi clair avec leurs tuto, les forums sont mieux.

Puisque je suis un peu novice donc vous etes tous mes professeurs

Jah bless

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×