Créer espace membre en php
Fermé
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
-
29 août 2005 à 09:36
Gabs18 - 27 août 2012 à 22:38
Gabs18 - 27 août 2012 à 22:38
A voir également:
- Espace membre php
- Espace insécable word - Guide
- Comment liberer de l'espace sur gmail - Guide
- Membre indisponible vinted - Guide
- Easy php - Télécharger - Divers Web & Internet
- Espace de stockage google - Guide
15 réponses
Comment créer un espace membre?? bin c assez simple quand on a déjà tâté du PHP et qu'on connait le principe logique...
voici comment ca marche:
1) creer sa page de demarrage. (appelé index)
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('test', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Accueil</title>
</head>
<body>
Connexion à l'espace membre :<br />
<form action="index.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="inscription.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
--> info a savoir sur la page de démarrage: Ici, ce n'est que les cadres pour l inscription, mais vous pouvez y ajouté tous le body de votre site (présentation par ex)...
Ensuite, il faut bien sur une page
ATTENTION
- Pour que cela fonctionne, vous devez mettre le bon server, login et password suivant la configuration de votre base de donné, de plus, ici la table ce nome "test"...
- Vous devez avoir créé une base de donnée avec une table (ici membre) pour y ranger les infos des visiteurs qui s'inscrivent.
pour ce faire, voici une requête SQL toute chaude
CREATE TABLE membre (
id int(11) NOT NULL auto_increment,
login text NOT NULL,
pass_md5 text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
2) Faire un lien de la page index a la page d inscription pour avoir un formulaire "entre guillement ici" à remplir.
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('test', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Inscription</title>
</head>
<body>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
- Une fois validée toutes les infos seront ds la BdD
3) Ensuite, créer la page sur laquelle votre bien aimé visiteur tombera apres s'être inscrit.
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<html>
<head>
<title>Espace membre</title>
</head>
<body>
Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?>!<br />
<a href="deconnexion.php">Déconnexion</a>
</body>
</html>
Voila, et si votre membre souhaite se deconecter...
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>
Tous ses codes sont déjà lié entre eu... il ne reste plus qu a les utilisers en adaptant le nom de la base de donnée, le login et le pass
ce code fonctionne tres bien et a été testé av succes et sans bug... Donc, si il vous a aidé ou posé probleme, n'hésitez sourtout pas a me contacter a vegeta1other@hotmail.com !!! A+
voici comment ca marche:
1) creer sa page de demarrage. (appelé index)
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('test', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Accueil</title>
</head>
<body>
Connexion à l'espace membre :<br />
<form action="index.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="inscription.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
--> info a savoir sur la page de démarrage: Ici, ce n'est que les cadres pour l inscription, mais vous pouvez y ajouté tous le body de votre site (présentation par ex)...
Ensuite, il faut bien sur une page
ATTENTION
- Pour que cela fonctionne, vous devez mettre le bon server, login et password suivant la configuration de votre base de donné, de plus, ici la table ce nome "test"...
- Vous devez avoir créé une base de donnée avec une table (ici membre) pour y ranger les infos des visiteurs qui s'inscrivent.
pour ce faire, voici une requête SQL toute chaude
CREATE TABLE membre (
id int(11) NOT NULL auto_increment,
login text NOT NULL,
pass_md5 text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
2) Faire un lien de la page index a la page d inscription pour avoir un formulaire "entre guillement ici" à remplir.
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('test', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Inscription</title>
</head>
<body>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
- Une fois validée toutes les infos seront ds la BdD
3) Ensuite, créer la page sur laquelle votre bien aimé visiteur tombera apres s'être inscrit.
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<html>
<head>
<title>Espace membre</title>
</head>
<body>
Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?>!<br />
<a href="deconnexion.php">Déconnexion</a>
</body>
</html>
Voila, et si votre membre souhaite se deconecter...
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>
Tous ses codes sont déjà lié entre eu... il ne reste plus qu a les utilisers en adaptant le nom de la base de donnée, le login et le pass
ce code fonctionne tres bien et a été testé av succes et sans bug... Donc, si il vous a aidé ou posé probleme, n'hésitez sourtout pas a me contacter a vegeta1other@hotmail.com !!! A+
antic80
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 159
29 août 2005 à 09:46
29 août 2005 à 09:46
le mieux est d'utiliser en plus du php une base mysql.
tu trouvera un début d'info sur le site www.phpdebutant.org
tu trouvera un début d'info sur le site www.phpdebutant.org
fehd01
Messages postés
10
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
31 mai 2008
15
17 août 2007 à 00:11
17 août 2007 à 00:11
Moi aussi je cherche un espace membre
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
29 août 2005 à 15:54
29 août 2005 à 15:54
Bonjour j'ai trouver le code php suivant sur le site phpdebutant.org pour audentifier les visiteurs mais celui ne marche pas ! :
<?
// pensez a ouvrir une connexion vers mysql ici
// voir les exercices dans le menu de droite pour cela.
$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*****");
if(!mysql_errno($dbc))
{
mysql_select_db("sons_gratuits");
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select pwd from tbl_user where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
else
{
echo mysql_errno($dbc)." : ".mysql_error($dbc)."\n";
$data = mysql_fetch_assoc($req);
if($data['pwd'] != $pass) {
echo '<p>Mauvais login / password. Merci de recommencer</p>';
include('http://sons.gratuits.free.fr/login.htm'); // On inclus le formulaire d'identification
exit;
}
else {
session_start();
$_SESSION['login'] = $login;
echo 'Vous etes bien logué';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('http://sons.gratuits.free.fr/login.htm'); // On inclut le formulaire d'identification
exit;
}
?> j'ai le message parc error qui veut dire qu'y a un pb dans le code pouvez-vous le vérifier? merci
<?
// pensez a ouvrir une connexion vers mysql ici
// voir les exercices dans le menu de droite pour cela.
$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*****");
if(!mysql_errno($dbc))
{
mysql_select_db("sons_gratuits");
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select pwd from tbl_user where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
else
{
echo mysql_errno($dbc)." : ".mysql_error($dbc)."\n";
$data = mysql_fetch_assoc($req);
if($data['pwd'] != $pass) {
echo '<p>Mauvais login / password. Merci de recommencer</p>';
include('http://sons.gratuits.free.fr/login.htm'); // On inclus le formulaire d'identification
exit;
}
else {
session_start();
$_SESSION['login'] = $login;
echo 'Vous etes bien logué';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('http://sons.gratuits.free.fr/login.htm'); // On inclut le formulaire d'identification
exit;
}
?> j'ai le message parc error qui veut dire qu'y a un pb dans le code pouvez-vous le vérifier? merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
evilcode
Messages postés
5
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
7 septembre 2008
4
11 juin 2008 à 17:04
11 juin 2008 à 17:04
salut,
je penses que l'erreur est situé là :
$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*****");
if(!mysql_errno($dbc))
{
mysql_select_db("sons_gratuits");
On demande une connection à la host "sql.free.fr" puis a la base de donnée "sons.gratuits"
puis on viens apréson demande a sql de se connecter à la base de donnée "sons_gratuits", comme tu peux le voir y'as une différence entre "sons.gratuits" et "sons_gratuits".
je ne suis pas trés sur de ma réponse mais voila c'est une piste a suivre :)
bonne chance
je penses que l'erreur est situé là :
$dbc = @mysql_connect ("sql.free.fr", "sons.gratuits", "*****");
if(!mysql_errno($dbc))
{
mysql_select_db("sons_gratuits");
On demande une connection à la host "sql.free.fr" puis a la base de donnée "sons.gratuits"
puis on viens apréson demande a sql de se connecter à la base de donnée "sons_gratuits", comme tu peux le voir y'as une différence entre "sons.gratuits" et "sons_gratuits".
je ne suis pas trés sur de ma réponse mais voila c'est une piste a suivre :)
bonne chance
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
29 août 2005 à 10:41
29 août 2005 à 10:41
bonjour, merci d'avoir répondu, j'utilise déja la base mysql puisque j'ai fais la page d'inscription puis j'ai fais d'autre programme livre d'or... mais là pour l'audentification depuis la base de donnée en php je sais pas du tout comment faut-il que je face. Pouvez-vous m'aidé? merci
antic80
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 159
29 août 2005 à 10:50
29 août 2005 à 10:50
ben en fait quand tu t'inscrit les infos doivent aller dans la base de données
ensuite quand la personne rentre son nom ton prog php va chercher le nom ds la base et regarde si le mot de passe est bon en fait tu utilise les variables.
va voir sur le site que je t donnée tu dois trouver des explications la dessus
au pire va sur www.comscripts.com pour trouver des exemples que tu pourra étudier
ensuite quand la personne rentre son nom ton prog php va chercher le nom ds la base et regarde si le mot de passe est bon en fait tu utilise les variables.
va voir sur le site que je t donnée tu dois trouver des explications la dessus
au pire va sur www.comscripts.com pour trouver des exemples que tu pourra étudier
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
29 août 2005 à 11:14
29 août 2005 à 11:14
bonjour, je vais aller voir les sites, en fait c le programme qui va vérifier si les informations sont correcte dont je ne connais pas le code pour l'inscription les infos sont bien dans la table merci
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
3 sept. 2005 à 11:16
3 sept. 2005 à 11:16
Bonjour, n'y a t-il pas quelqu'un qui sait coriger une petite erreur surement? sinon j'ai trouver un autre code qui ressemble à celui du dessus mais toujours une erreur mais pas la même ! voici le code :
<HTML>
<HEAD>
</HEAD>
<BODY>
<?
$db = mysql_connect('sql.free.fr', 'sons.gratuits', '*****');
mysql_select_db('sons_gratuits',$db);
$req = mysql_query('SELECT pass FROM user');
$res = mysql_numrows($req);
if($login=='' || $pass=='')
{
echo '<p>Vous avez oublié de remplir un champs.</p>';
include('login.htm'); // On inclus le formulaire d'identification
exit;
}
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select pass from user where login='$login'";
$req = mysql_query($user) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
if($data['pwd'] != $pass)
{
echo '<p>Mauvais login / password. Merci de recommencer</p>';
include('login.htm'); // On inclus le formulaire d'identification
exit;
}
else
{
session_start();
session_register('login');
echo 'Vous etes bien logué';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'acueil de votre espace membres
}
mysql_close($db);
?>
</BODY>
</HTML> vous pouvez aller voir le résultat que ça donne http://sons.gratuits.free.fr/login.php mettez un faux non d'utilisateur et mot e pass qui vous passe par la tête et regardez l'erreur merci de m'aider !
<HTML>
<HEAD>
</HEAD>
<BODY>
<?
$db = mysql_connect('sql.free.fr', 'sons.gratuits', '*****');
mysql_select_db('sons_gratuits',$db);
$req = mysql_query('SELECT pass FROM user');
$res = mysql_numrows($req);
if($login=='' || $pass=='')
{
echo '<p>Vous avez oublié de remplir un champs.</p>';
include('login.htm'); // On inclus le formulaire d'identification
exit;
}
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select pass from user where login='$login'";
$req = mysql_query($user) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
if($data['pwd'] != $pass)
{
echo '<p>Mauvais login / password. Merci de recommencer</p>';
include('login.htm'); // On inclus le formulaire d'identification
exit;
}
else
{
session_start();
session_register('login');
echo 'Vous etes bien logué';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'acueil de votre espace membres
}
mysql_close($db);
?>
</BODY>
</HTML> vous pouvez aller voir le résultat que ça donne http://sons.gratuits.free.fr/login.php mettez un faux non d'utilisateur et mot e pass qui vous passe par la tête et regardez l'erreur merci de m'aider !
Bonjour à tous,
Je voudrais créer un espace membre sur mon site sans que les visiteurs doivent s'inscrire juste pour que je puisse m'identifier et modifié comme si j'étais sur la gestion de mon blog.
Plus précisement j'ai une page qui indique les promotion de mon entreprise. Je voudrais pourvoir modifier(seulement moi) cette page sans devoir aller trifouiller mes script. Exemple je m'identifie, je vais sur cette page et je fais nouvelle promotion et j'ai un formulaires qui me demande tous els renseignement puis après cette page est visible de tous en ligne.
J'éspére avoir été claire
Je vous remercie d'avance !
Je voudrais créer un espace membre sur mon site sans que les visiteurs doivent s'inscrire juste pour que je puisse m'identifier et modifié comme si j'étais sur la gestion de mon blog.
Plus précisement j'ai une page qui indique les promotion de mon entreprise. Je voudrais pourvoir modifier(seulement moi) cette page sans devoir aller trifouiller mes script. Exemple je m'identifie, je vais sur cette page et je fais nouvelle promotion et j'ai un formulaires qui me demande tous els renseignement puis après cette page est visible de tous en ligne.
J'éspére avoir été claire
Je vous remercie d'avance !
Désolé du retard, je te conseil un truc trés simple
Dans ton acceuil, tu met ou tu souhaite voir indiqué les informations de ton entreprises, édito ^^
Puis ensuite tu présente un formulaire de texte dans la page appelé:
<html>
<body>
<!-- Je te conseil de metre une table avec la balise
<table>
Le texte dedans^^
</table>
</body>
</html>
Voila j'espere que ca seras bon pour toi, et entre nous, pense a créer un formulaire permettant d'inscrir les donées dans l'édito!
Si besoin d'aide, recherche google tutorial edito php
Dans ton acceuil, tu met ou tu souhaite voir indiqué les informations de ton entreprises, édito ^^
<html> <body> <!-- Tu met entre ses balises ce que tu veux, c'est la page où tu souhaite voir les informations s'afficher (surment index.php) !!!!ATTENTION!!!!!! La page où tu souhaite voir les infos, doit être en php, c'est a dire index.php !!!!!--> <? include("pageinfo.php"); ?> </body> </html>
Puis ensuite tu présente un formulaire de texte dans la page appelé:
<html>
<body>
<!-- Je te conseil de metre une table avec la balise
<table>
Le texte dedans^^
</table>
</body>
</html>
Voila j'espere que ca seras bon pour toi, et entre nous, pense a créer un formulaire permettant d'inscrir les donées dans l'édito!
Si besoin d'aide, recherche google tutorial edito php
Bonjour dit moi quesqui va pas dans ce HTML ?
<html>
<head>
<title>Créer un espace membre</title>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
</head>
<body>
<p></p>
<form action="http://onestar.sql.jexiste.fr<?= $_SERVER["
server_name="onestar" .=""
$_server="Comptes_Utilisateurs"
script_name="Comptes_Utilisateurs" ]="" ?="">"
method="post">
<p>Nom d'utilisateur : <input name="TB_Nom_Utilisateur"
type="text">
</p>
<p>
Mot de passe : <input name="TB_Mot_de_Passe" type="password">
</p>
<p>
Confirmation du mot de passe : <input
name="TB_Confirmation_Mot_de_Passe" type="password">
</p>
<p>
Adresse e-mail : <input name="TB_Adresse_Email" type="text">
</p>
<p>
<input name="BT_Envoyer" value="Envoyer"
type="submit"></p>
</form>
</body>
</html>
<html>
<head>
<title>Créer un espace membre</title>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
</head>
<body>
<p></p>
<form action="http://onestar.sql.jexiste.fr<?= $_SERVER["
server_name="onestar" .=""
$_server="Comptes_Utilisateurs"
script_name="Comptes_Utilisateurs" ]="" ?="">"
method="post">
<p>Nom d'utilisateur : <input name="TB_Nom_Utilisateur"
type="text">
</p>
<p>
Mot de passe : <input name="TB_Mot_de_Passe" type="password">
</p>
<p>
Confirmation du mot de passe : <input
name="TB_Confirmation_Mot_de_Passe" type="password">
</p>
<p>
Adresse e-mail : <input name="TB_Adresse_Email" type="text">
</p>
<p>
<input name="BT_Envoyer" value="Envoyer"
type="submit"></p>
</form>
</body>
</html>
bonjour, j'ai tout un site avec inscription simple: pseudo, mot de passe , sexe
aprés l'inscription j'ai mit une page de redirecting qui marche bien mais elle va sur la page membre.php
pour celle ci j'aimerai mettre "bonjour, lenom !"
pour l'instant j'ai déja créer ceci:
sa ne m'affiche que" Bienvenue,"
bien sur j'ai fait les base mysql
il y en a 4:
1. numero
2. pseudo
3. motdepasse
4. sex
je ne sais pas pourquoi sa ne l'affiche pas!
t'en que j'y suis:
j'aimerais sur la meme page
afficher non pas que les pseudo mais aussi les autre coordonée comme le sexe !ou les news du site
voici pour les news: que j'ai déja fait sur une autre page et qui fonctionne bien:
S'il vou plait pouver vous m'aidez
aprés l'inscription j'ai mit une page de redirecting qui marche bien mais elle va sur la page membre.php
pour celle ci j'aimerai mettre "bonjour, lenom !"
pour l'instant j'ai déja créer ceci:
<?php $hote ="localhost"; $utilisateur ="root"; $mdp ="*****"; $connection = mysql_connect($hote,$utilisateur,$mdp); //echo $connection; $basename ="inscription"; mysql_select_db ($basename, $connection); $requete ="SELECT * FROM pseudo WHERE inscription"; //echo $requete; $result = mysql_query ($requete, $connection); //echo $result; $test = mysql_fetch_row($result); //print_r($test); //echo $test[2]; ?> Bienvenue, <? echo $nom ?>
sa ne m'affiche que" Bienvenue,"
bien sur j'ai fait les base mysql
il y en a 4:
1. numero
2. pseudo
3. motdepasse
4. sex
je ne sais pas pourquoi sa ne l'affiche pas!
t'en que j'y suis:
j'aimerais sur la meme page
afficher non pas que les pseudo mais aussi les autre coordonée comme le sexe !ou les news du site
voici pour les news: que j'ai déja fait sur une autre page et qui fonctionne bien:
<?php $hote ="localhost"; $utilisateur ="root"; $mdp ="*****"; $connection = mysql_connect($hote,$utilisateur,$mdp); //echo $connection; $basename ="lesnews"; mysql_select_db ($basename, $connection); $requete ="SELECT * FROM lesnews"; //echo $requete; $result = mysql_query ($requete, $connection); //echo $result; $test = mysql_fetch_row($result); //print_r($test); //echo $test[2]; ?>
S'il vou plait pouver vous m'aidez
non désoler je viens de comprendre!
voici mon code maintenant:
mais je me suis rendu compte que c'était que le membre enregistrer et non celui en cour!
SVP aidez moi
voici mon code maintenant:
<?php $hote ="localhost"; $utilisateur ="root"; $mdp ="benji11"; $connection = mysql_connect($hote,$utilisateur,$mdp); //echo $connection; $basename ="inscription"; mysql_select_db ($basename, $connection); $sql = "SELECT * FROM membre "; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_array($req); $pse = $data['pseudo']; ?> BIENVENUE <?php print_r($data['pseudo']) ?>
mais je me suis rendu compte que c'était que le membre enregistrer et non celui en cour!
SVP aidez moi
Moi qui ai informatitien je vous conseil le code des fichiers suivant plus le telecharger le kit total la page 1 nommé " connexion.php "
<?
/*
* Attention, ne laissez pas d'espace entre le haut de la page
* et le <?
*
*/
include("configuration.php");
/*
* On récupère la valeur des variables passées dans le formulaire,
* tout en s'assurant que ces variables n'ont pas étés passées frauduleusement.
*
*/
$pseudo = trim($HTTP_POST_VARS[pseudo]);
$clef = trim($HTTP_POST_VARS[clef]);
$validation = $HTTP_POST_VARS[validation];
/*
* Validation des paramètres passés par le formulaire. On vérifie que tous les
* champs sont remplis correctement, car l'internaute à de facheuses tendances
* à raconter n'importe quoi... En cas d'erreur, on lui demande de la corriger.
*
*/
if($validation) {
if(empty($pseudo)) {
$erreur[pseudo] = 1;
} elseif(strlen($pseudo) > 20) {
$erreur[pseudo] = 2;
unset($pseudo,$clef);
}
if(empty($clef)) {
$erreur[clef] = 1;
} elseif(strlen($clef) > 20 || strlen($clef) < 6) {
$erreur[clef] = 2;
unset($clef);
}
}
/*
* On vérifie que le pseudo correspond bien avec le mot de passe enregistré dans le fichier membres.txt
*
*/
$ok = 0;
if(!$erreur) {
$ok = vérification($pseudo,crypter($clef));
}
if(!$ok && $validation) {
unset($clef);
$erreur[clef] = 2;
}
/*
* On dirige l'internaute selon qu'il doive se connecter à l'espace membre ou y accéder
*
*/
if($validation && !$erreur) {
/*
* Si le membre a entré un bon mot de passe
*
*/
// On crypte le mot de passe via la fonction crypter() disponible dans le fichier de configuration
// afin d'empêcher sa lecture dans la barre d'adresses
$clef = crypter($clef);
// On envoie le membre vers la pccueil des membres
header("Location:membre.php?pseudo=$pseudo&clef=$clef");
} else {
/*
* Si l'internaute a entré un mauvais mot de passe ou ne s'est pas encore connecté
* On demande à l'internaute de remplir un formulaire avec ses pseudo et mot de passe
*
*/
/*
* Faîtes une inclusion de page avec include() plutôt que laisser ce code html.
* C'est moins lourd et plus clair. Attention, si vous utilisez cette méthode, ne protégéz
* pas la page utilisée.
*
*/
echo "<html>
<head>
<title>Section membre / Inscription</title>
</head>
<body>
Accès à la zone membre :<br><br>";
// On affiche les éventuelles erreurs détectées
if($erreur && $validation) {
echo "Merci de corriger les erreurs suivantes :<br>";
if($erreur[pseudo]) {
echo "- Vous n'avez pas donné de pseudo<br>";
}
switch($erreur[clef]) {
case 1 : echo "- Vous n'avez pas donné de mot de passe<br>"; break;
case 2 : echo "- Vous avez donné un mot de passe erroné<br>"; break;
}
}
echo "<form action='connexion.php' method='post'>
<input type='hidden' name='validation' value=1>
Pseudo : <input type='text' name='pseudo' style='border : 1px solid' size=15 value='$pseudo' maxlength=20><br>
Mot de passe : <input type='password' name='clef' style='border : 1px solid' size=15 value='$clef' maxlength=20><br><br>
<input type='submit' value='Connexion'>
</body>
</html>
";
}
?>
configuration.php
<?
// On définit comme constantes le pseudo et le mot de passe envoyés par l'internaute
define("PSEUDO",$pseudo);
define("CLEF",$clef);
/*
* Modifiez les valeurs des constantes A, B, C et D à votre guise (fortement recommandé)
* Les nouvelles valeurs doivent obligatoirement être comprises entre 256 et 999
* Dans le cas contraire et avec un peu de malchance, attendez vous à quelques méchants bugs...
*
*/
define("A",876);
define("B",478);
define("C",147);
define("D",691);
// Fonctions nécessaires à l'exécution du script
function cache() {
// Tenter de désactiver l'insertion en cache de la page courante
// Facultatif mais offre plus de sécurité au niveau de la navigation dans l'espace membre
header("Expires: Mon, 1 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
}
function crypter($clef) {
// Crypter le mot de passe
for($i = 0; $i < strlen($clef); $i++) {
// On applique cet algorithme de cryptage au caractère $i
$mot .= (ord($clef[$i])*((A+B+C+D)%(256+$i+1))+($clef[strlen($clef)-$i-1]+$i*C+A)*B)%D;
if($i != strlen($clef)-1) {
$mot .= "/";
}
}
return $mot;
}
function vérification($pseudo,$clef) {
// Vérifier si un mot de passe et un pseudo correspondent bien
if(!empty($pseudo) && !empty($clef)) {
if(file_exists("membres.txt")) {
$fichier = fopen("membres.txt","r");
while(!feof($fichier)) {
$ligne = fgets($fichier,300);
if(trim(substr($ligne,0,20)) == $pseudo && trim(substr($ligne,19,80)) == $clef) {
$ok = 1;
break;
}
}
}
}
return $ok;
}
?>
supprimer.php :
<?
include("configuration.php");
if(vérification($pseudo,$clef) && !empty($pseudo) && !empty($clef)) {
cache();
if($HTTP_GET_VARS[supprimer]) {
$contenu = "";
if(file_exists("membres.txt")) {
$fichier = fopen("membres.txt","r");
while(!feof($fichier)) {
$ligne = fgets($fichier,300);
if(trim(substr($ligne,0,20)) != PSEUDO) {
$contenu .= $ligne;
}
}
}
$fichier = fopen("membres.txt","w+");
fputs($fichier,$contenu);
fclose($fichier);
}
echo "<html>
<head>
<title>Supprimer ce compte</title>
</head>
<body>";
if(!vérification(PSEUDO,CLEF)) {
echo "Ce compte a été supprimé !";
}
echo "
<a href='supprimer.php?supprimer=1&pseudo=".PSEUDO."&clef=".CLEF."'>Supprimer ce compte</a>
</body>
</html>
";
} else {
header("Location: connexion.php");
}
?>
membre.php
<?
/*
* Attention, ne laissez pas d'espace entre le haut de la page
* et le <?
*
* Toutes les pages de l'espace membre doivent être construites de cette manière
* afin qu'elles soient protégées contre toute intrusion extérieure aux membres
*
*/
include("configuration.php");
if(vérification($pseudo,$clef)) { // On vérifie le pseudo et le mot de passe
/*
* Si on est ici, c'est que le pseudo et le mot de passe correspondent
*
*/
cache(); // On empêche l'insertion de la page dans le cache du navigateur
/*
* On est dans l'espace membre. C'est ici que les membres peuvent accéder
* à tout ce qu'il leur est réservé. Pour faire des liens entre les pages dans l'espace membre, faîtes :
* <a href='page.php?pseudo=".PSEUDO."&clef=".CLEF."'>Lien</a> comme montré ci-dessous.
*
*/
// Contenu de la page de l'espace membre
echo "<html>
<head>
<title>Espace membre</title>
</head>
<body>
Votre pseudonyme est ".PSEUDO."<br><br><a href='membre.php?pseudo=".PSEUDO."&clef=".CLEF."'>Exemple de lien dans l'espace membre</a>
</body>
</html>";
/*
* Attention, ne faîtes pas d'inclusions de fichiers non protégés par le système ci-dessus avec include()
* ou require() car n'importe qui pourrait alors y avoir accès.
*
* Si vous ne protégez pas ces fichiers avec le script PHP, vous pouvez toujours les cacher avec un fichier .htaccess
* de la même façon qu'est caché le fichier membres.txt. Cela marche aussi bien et c'est même mieux.
*
*/
} else { // Mauvais mot de passe ou pseudo...
// On redirige le visiteur sur la page de connexion puisque
// le pseudo et le mot de passe ne correspondent pas
header("Location: connexion.php");
}
?>
inscripton.php
<?
include("configuration.php");
echo "<html>
<head>
<title>Section membre / Inscription</title>
</head>
<body>
";
/*
* On récupère la valeur des variables passées dans le formulaire,
* tout en s'assurant que ces variables n'ont pas étés passées frauduleusement.
*
*/
$nom = trim($HTTP_POST_VARS[nom]);
$prénom = trim($HTTP_POST_VARS[prénom]);
$mail = trim($HTTP_POST_VARS[mail]);
$pseudo = trim($HTTP_POST_VARS[pseudo]);
$clef = trim($HTTP_POST_VARS[clef]);
$validation = $HTTP_POST_VARS[validation];
/*
* Validation des paramètres passés par le formulaire. On vérifie que tous les
* champs sont remplis correctement, car l'internaute à de facheuses tendances
* à raconter n'importe quoi... En cas d'erreur, on lui demande de la corriger.
*
*/
if($validation) {
if(empty($nom)) {
$erreur[nom] = 1;
} elseif(!ereg("[a-z]",$nom) || strlen($nom) > 50) {
$erreur[nom] = 2;
unset($nom);
}
if(empty($prénom)) {
$erreur[prénom] = 1;
}elseif(!ereg("[a-z]",$prénom) || strlen($prénom) > 50) {
$erreur[prénom] = 2;
unset($prénom);
}
if(empty($mail)) {
$erreur[mail] = 1;
} elseif(!eregi("^(.+)\@[^ ]+\.[a-z]{2,5}$",$mail) || strlen($mail) > 75) {
$erreur[mail] = 2;
unset($mail);
}
if(empty($pseudo)) {
$erreur[pseudo] = 1;
} elseif(strlen($pseudo) > 20) {
$erreur[pseudo] = 2;
unset($pseudo);
} else {
// On vérifie que personne n'utilise déjà le pseudo ou l'adresse e-mail
if(file_exists("membres.txt")) {
$fichier = fopen("membres.txt","r");
while(!feof($fichier)) {
$ligne = fgets($fichier,300);
if(trim(substr($ligne,0,20)) == $pseudo) {
$erreur[pseudo] = 3;
unset($pseudo);
break;
} elseif(trim(substr($ligne,199,50)) == $mail) {
$erreur[pseudo] = trim(substr($ligne,0,20));
unset($mail);
break;
}
}
}
}
if(empty($clef)) {
$erreur[clef] = 1;
} elseif(strlen($clef) > 20 || strlen($clef) < 6) {
$erreur[clef] = 2;
unset($clef);
}
}
/*
* S'il n'y a aucune erreur, on enregistre le membre dans le fichier des membres
* (membres.txt par défaut). Les différents paramètres sont complétés par des espaces
* jusqu'à leur taille maximale.
*
*/
if($validation && !$erreur) {
if(!file_exists("membres.txt")) {
$fichier = fopen("membres.txt","w+");
fclose($fichier);
}
$paramètres = $pseudo.str_repeat(" ",20-strlen($pseudo));
$mot = crypter($clef);
$paramètres .= $mot.str_repeat(" ",80-strlen($mot));
$paramètres .= $nom.str_repeat(" ",50-strlen($nom));
$paramètres .= $prénom.str_repeat(" ",50-strlen($prénom));
$paramètres .= $mail.str_repeat(" ",75-strlen($mail));
$paramètres .= "\n";
$fichier = fopen("membres.txt","a");
fputs($fichier,$paramètres);
fclose($fichier);
$ok = 0;
if(file_exists("membres.txt")) {
$fichier = fopen("membres.txt","r");
while(!feof($fichier)) {
$ligne = fgets($fichier,20);
if(trim($ligne) == $pseudo) {
$ok = 1;
break;
}
}
}
if(!$ok) {
$erreur[serveur] = 1;
}
}
/*
* On demande à l'internaute de remplir un formulaire d'inscription
* Vous pouvez ajouter, modifier ou supprimer certains champs de ce formulaire
* à votre guise mais vous devrez effectuer des modifications correspondantes
* dans certaines parties du script en PHP.
*
*/
if($validation && !$erreur) {
echo "Vous êtes désormais inscrit !<br><br>Votre pseudo est $pseudo...";
} else {
echo "Formulaire d'inscription :<br><br>";
// On affiche les éventuelles erreurs détectées
if($erreur) {
echo "Merci de corriger les erreurs suivantes :<br>";
switch($erreur[nom]) {
case 1 : echo "- Vous n'avez pas donné votre nom<br>"; break;
case 2 : echo "- Vous avez donné un nom erroné (plus de 50 caractères ou pas de lettres)<br>"; break;
}
switch($erreur[prénom]) {
case 1 : echo "- Vous n'avez pas donné votre prénom<br>"; break;
case 2 : echo "- Vous avez donné un prénom erroné (plus de 50 caractères ou pas de lettres)<br>"; break;
}
switch($erreur[mail]) {
case 1 : echo "- Vous n'avez pas donné votre adresse e-mail<br>"; break;
case 2 : echo "- Vous avez donné une adresse e-mail erronée (plus de 75 caractères ou syntaxe incorrecte)<br>"; break;
}
switch($erreur[pseudo]) {
case 1 : echo "- Vous n'avez pas donné de pseudo<br>"; break;
case 2 : echo "- Vous avez donné un pseudo erroné (plus de 20 caractères)<br>"; break;
case 3 : echo "- Ce pseudo est déjà utilisé, choisissez-en un autre<br>"; break;
default :
if($erreur[pseudo]) {
echo "- Vous êtes déjà inscrit (même adresse e-mail) sous le pseudo $erreur[pseudo]<br>"; break;
}
}
switch($erreur[clef]) {
case 1 : echo "- Vous n'avez pas donné de mot de passe<br>"; break;
case 2 : echo "- Vous avez donné un mot de passe erroné (moins de 6 ou plus de 20 caratères)<br>"; break;
}
if($erreur[serveur]) {
echo "- Erreur interne, veuillez revalider votre inscription<br>";
}
}
echo "<form method='post'>
<input type='hidden' name='validation' value=1>
Nom : <input type='text' name='nom' style='border : 1px solid' size=20 value='$nom' maxlength=50><br>
Prénom : <input type='text' name='prénom' style='border : 1px solid' size=20 value='$prénom' maxlength=50><br>
Adresse e-mail : <input type='text' name='mail' style='border : 1px solid' size=30 value='$mail' maxlength=75><br><br>
Choisissez un pseudo : <input type='text' name='pseudo' style='border : 1px solid' size=15 value='$pseudo' maxlength=20><br>
Choisissez un mot de passe (6 caractères minimum) : <input type='password' name='clef' style='border : 1px solid' size=15 value='$clef' maxlength=20><br><br>
<input type='submit' value='Inscription'>";
}
echo "
</body>
</html>";
?>free.fou telecharger seci au http://biwiki.
<?
/*
* Attention, ne laissez pas d'espace entre le haut de la page
* et le <?
*
*/
include("configuration.php");
/*
* On récupère la valeur des variables passées dans le formulaire,
* tout en s'assurant que ces variables n'ont pas étés passées frauduleusement.
*
*/
$pseudo = trim($HTTP_POST_VARS[pseudo]);
$clef = trim($HTTP_POST_VARS[clef]);
$validation = $HTTP_POST_VARS[validation];
/*
* Validation des paramètres passés par le formulaire. On vérifie que tous les
* champs sont remplis correctement, car l'internaute à de facheuses tendances
* à raconter n'importe quoi... En cas d'erreur, on lui demande de la corriger.
*
*/
if($validation) {
if(empty($pseudo)) {
$erreur[pseudo] = 1;
} elseif(strlen($pseudo) > 20) {
$erreur[pseudo] = 2;
unset($pseudo,$clef);
}
if(empty($clef)) {
$erreur[clef] = 1;
} elseif(strlen($clef) > 20 || strlen($clef) < 6) {
$erreur[clef] = 2;
unset($clef);
}
}
/*
* On vérifie que le pseudo correspond bien avec le mot de passe enregistré dans le fichier membres.txt
*
*/
$ok = 0;
if(!$erreur) {
$ok = vérification($pseudo,crypter($clef));
}
if(!$ok && $validation) {
unset($clef);
$erreur[clef] = 2;
}
/*
* On dirige l'internaute selon qu'il doive se connecter à l'espace membre ou y accéder
*
*/
if($validation && !$erreur) {
/*
* Si le membre a entré un bon mot de passe
*
*/
// On crypte le mot de passe via la fonction crypter() disponible dans le fichier de configuration
// afin d'empêcher sa lecture dans la barre d'adresses
$clef = crypter($clef);
// On envoie le membre vers la pccueil des membres
header("Location:membre.php?pseudo=$pseudo&clef=$clef");
} else {
/*
* Si l'internaute a entré un mauvais mot de passe ou ne s'est pas encore connecté
* On demande à l'internaute de remplir un formulaire avec ses pseudo et mot de passe
*
*/
/*
* Faîtes une inclusion de page avec include() plutôt que laisser ce code html.
* C'est moins lourd et plus clair. Attention, si vous utilisez cette méthode, ne protégéz
* pas la page utilisée.
*
*/
echo "<html>
<head>
<title>Section membre / Inscription</title>
</head>
<body>
Accès à la zone membre :<br><br>";
// On affiche les éventuelles erreurs détectées
if($erreur && $validation) {
echo "Merci de corriger les erreurs suivantes :<br>";
if($erreur[pseudo]) {
echo "- Vous n'avez pas donné de pseudo<br>";
}
switch($erreur[clef]) {
case 1 : echo "- Vous n'avez pas donné de mot de passe<br>"; break;
case 2 : echo "- Vous avez donné un mot de passe erroné<br>"; break;
}
}
echo "<form action='connexion.php' method='post'>
<input type='hidden' name='validation' value=1>
Pseudo : <input type='text' name='pseudo' style='border : 1px solid' size=15 value='$pseudo' maxlength=20><br>
Mot de passe : <input type='password' name='clef' style='border : 1px solid' size=15 value='$clef' maxlength=20><br><br>
<input type='submit' value='Connexion'>
</body>
</html>
";
}
?>
configuration.php
<?
// On définit comme constantes le pseudo et le mot de passe envoyés par l'internaute
define("PSEUDO",$pseudo);
define("CLEF",$clef);
/*
* Modifiez les valeurs des constantes A, B, C et D à votre guise (fortement recommandé)
* Les nouvelles valeurs doivent obligatoirement être comprises entre 256 et 999
* Dans le cas contraire et avec un peu de malchance, attendez vous à quelques méchants bugs...
*
*/
define("A",876);
define("B",478);
define("C",147);
define("D",691);
// Fonctions nécessaires à l'exécution du script
function cache() {
// Tenter de désactiver l'insertion en cache de la page courante
// Facultatif mais offre plus de sécurité au niveau de la navigation dans l'espace membre
header("Expires: Mon, 1 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
}
function crypter($clef) {
// Crypter le mot de passe
for($i = 0; $i < strlen($clef); $i++) {
// On applique cet algorithme de cryptage au caractère $i
$mot .= (ord($clef[$i])*((A+B+C+D)%(256+$i+1))+($clef[strlen($clef)-$i-1]+$i*C+A)*B)%D;
if($i != strlen($clef)-1) {
$mot .= "/";
}
}
return $mot;
}
function vérification($pseudo,$clef) {
// Vérifier si un mot de passe et un pseudo correspondent bien
if(!empty($pseudo) && !empty($clef)) {
if(file_exists("membres.txt")) {
$fichier = fopen("membres.txt","r");
while(!feof($fichier)) {
$ligne = fgets($fichier,300);
if(trim(substr($ligne,0,20)) == $pseudo && trim(substr($ligne,19,80)) == $clef) {
$ok = 1;
break;
}
}
}
}
return $ok;
}
?>
supprimer.php :
<?
include("configuration.php");
if(vérification($pseudo,$clef) && !empty($pseudo) && !empty($clef)) {
cache();
if($HTTP_GET_VARS[supprimer]) {
$contenu = "";
if(file_exists("membres.txt")) {
$fichier = fopen("membres.txt","r");
while(!feof($fichier)) {
$ligne = fgets($fichier,300);
if(trim(substr($ligne,0,20)) != PSEUDO) {
$contenu .= $ligne;
}
}
}
$fichier = fopen("membres.txt","w+");
fputs($fichier,$contenu);
fclose($fichier);
}
echo "<html>
<head>
<title>Supprimer ce compte</title>
</head>
<body>";
if(!vérification(PSEUDO,CLEF)) {
echo "Ce compte a été supprimé !";
}
echo "
<a href='supprimer.php?supprimer=1&pseudo=".PSEUDO."&clef=".CLEF."'>Supprimer ce compte</a>
</body>
</html>
";
} else {
header("Location: connexion.php");
}
?>
membre.php
<?
/*
* Attention, ne laissez pas d'espace entre le haut de la page
* et le <?
*
* Toutes les pages de l'espace membre doivent être construites de cette manière
* afin qu'elles soient protégées contre toute intrusion extérieure aux membres
*
*/
include("configuration.php");
if(vérification($pseudo,$clef)) { // On vérifie le pseudo et le mot de passe
/*
* Si on est ici, c'est que le pseudo et le mot de passe correspondent
*
*/
cache(); // On empêche l'insertion de la page dans le cache du navigateur
/*
* On est dans l'espace membre. C'est ici que les membres peuvent accéder
* à tout ce qu'il leur est réservé. Pour faire des liens entre les pages dans l'espace membre, faîtes :
* <a href='page.php?pseudo=".PSEUDO."&clef=".CLEF."'>Lien</a> comme montré ci-dessous.
*
*/
// Contenu de la page de l'espace membre
echo "<html>
<head>
<title>Espace membre</title>
</head>
<body>
Votre pseudonyme est ".PSEUDO."<br><br><a href='membre.php?pseudo=".PSEUDO."&clef=".CLEF."'>Exemple de lien dans l'espace membre</a>
</body>
</html>";
/*
* Attention, ne faîtes pas d'inclusions de fichiers non protégés par le système ci-dessus avec include()
* ou require() car n'importe qui pourrait alors y avoir accès.
*
* Si vous ne protégez pas ces fichiers avec le script PHP, vous pouvez toujours les cacher avec un fichier .htaccess
* de la même façon qu'est caché le fichier membres.txt. Cela marche aussi bien et c'est même mieux.
*
*/
} else { // Mauvais mot de passe ou pseudo...
// On redirige le visiteur sur la page de connexion puisque
// le pseudo et le mot de passe ne correspondent pas
header("Location: connexion.php");
}
?>
inscripton.php
<?
include("configuration.php");
echo "<html>
<head>
<title>Section membre / Inscription</title>
</head>
<body>
";
/*
* On récupère la valeur des variables passées dans le formulaire,
* tout en s'assurant que ces variables n'ont pas étés passées frauduleusement.
*
*/
$nom = trim($HTTP_POST_VARS[nom]);
$prénom = trim($HTTP_POST_VARS[prénom]);
$mail = trim($HTTP_POST_VARS[mail]);
$pseudo = trim($HTTP_POST_VARS[pseudo]);
$clef = trim($HTTP_POST_VARS[clef]);
$validation = $HTTP_POST_VARS[validation];
/*
* Validation des paramètres passés par le formulaire. On vérifie que tous les
* champs sont remplis correctement, car l'internaute à de facheuses tendances
* à raconter n'importe quoi... En cas d'erreur, on lui demande de la corriger.
*
*/
if($validation) {
if(empty($nom)) {
$erreur[nom] = 1;
} elseif(!ereg("[a-z]",$nom) || strlen($nom) > 50) {
$erreur[nom] = 2;
unset($nom);
}
if(empty($prénom)) {
$erreur[prénom] = 1;
}elseif(!ereg("[a-z]",$prénom) || strlen($prénom) > 50) {
$erreur[prénom] = 2;
unset($prénom);
}
if(empty($mail)) {
$erreur[mail] = 1;
} elseif(!eregi("^(.+)\@[^ ]+\.[a-z]{2,5}$",$mail) || strlen($mail) > 75) {
$erreur[mail] = 2;
unset($mail);
}
if(empty($pseudo)) {
$erreur[pseudo] = 1;
} elseif(strlen($pseudo) > 20) {
$erreur[pseudo] = 2;
unset($pseudo);
} else {
// On vérifie que personne n'utilise déjà le pseudo ou l'adresse e-mail
if(file_exists("membres.txt")) {
$fichier = fopen("membres.txt","r");
while(!feof($fichier)) {
$ligne = fgets($fichier,300);
if(trim(substr($ligne,0,20)) == $pseudo) {
$erreur[pseudo] = 3;
unset($pseudo);
break;
} elseif(trim(substr($ligne,199,50)) == $mail) {
$erreur[pseudo] = trim(substr($ligne,0,20));
unset($mail);
break;
}
}
}
}
if(empty($clef)) {
$erreur[clef] = 1;
} elseif(strlen($clef) > 20 || strlen($clef) < 6) {
$erreur[clef] = 2;
unset($clef);
}
}
/*
* S'il n'y a aucune erreur, on enregistre le membre dans le fichier des membres
* (membres.txt par défaut). Les différents paramètres sont complétés par des espaces
* jusqu'à leur taille maximale.
*
*/
if($validation && !$erreur) {
if(!file_exists("membres.txt")) {
$fichier = fopen("membres.txt","w+");
fclose($fichier);
}
$paramètres = $pseudo.str_repeat(" ",20-strlen($pseudo));
$mot = crypter($clef);
$paramètres .= $mot.str_repeat(" ",80-strlen($mot));
$paramètres .= $nom.str_repeat(" ",50-strlen($nom));
$paramètres .= $prénom.str_repeat(" ",50-strlen($prénom));
$paramètres .= $mail.str_repeat(" ",75-strlen($mail));
$paramètres .= "\n";
$fichier = fopen("membres.txt","a");
fputs($fichier,$paramètres);
fclose($fichier);
$ok = 0;
if(file_exists("membres.txt")) {
$fichier = fopen("membres.txt","r");
while(!feof($fichier)) {
$ligne = fgets($fichier,20);
if(trim($ligne) == $pseudo) {
$ok = 1;
break;
}
}
}
if(!$ok) {
$erreur[serveur] = 1;
}
}
/*
* On demande à l'internaute de remplir un formulaire d'inscription
* Vous pouvez ajouter, modifier ou supprimer certains champs de ce formulaire
* à votre guise mais vous devrez effectuer des modifications correspondantes
* dans certaines parties du script en PHP.
*
*/
if($validation && !$erreur) {
echo "Vous êtes désormais inscrit !<br><br>Votre pseudo est $pseudo...";
} else {
echo "Formulaire d'inscription :<br><br>";
// On affiche les éventuelles erreurs détectées
if($erreur) {
echo "Merci de corriger les erreurs suivantes :<br>";
switch($erreur[nom]) {
case 1 : echo "- Vous n'avez pas donné votre nom<br>"; break;
case 2 : echo "- Vous avez donné un nom erroné (plus de 50 caractères ou pas de lettres)<br>"; break;
}
switch($erreur[prénom]) {
case 1 : echo "- Vous n'avez pas donné votre prénom<br>"; break;
case 2 : echo "- Vous avez donné un prénom erroné (plus de 50 caractères ou pas de lettres)<br>"; break;
}
switch($erreur[mail]) {
case 1 : echo "- Vous n'avez pas donné votre adresse e-mail<br>"; break;
case 2 : echo "- Vous avez donné une adresse e-mail erronée (plus de 75 caractères ou syntaxe incorrecte)<br>"; break;
}
switch($erreur[pseudo]) {
case 1 : echo "- Vous n'avez pas donné de pseudo<br>"; break;
case 2 : echo "- Vous avez donné un pseudo erroné (plus de 20 caractères)<br>"; break;
case 3 : echo "- Ce pseudo est déjà utilisé, choisissez-en un autre<br>"; break;
default :
if($erreur[pseudo]) {
echo "- Vous êtes déjà inscrit (même adresse e-mail) sous le pseudo $erreur[pseudo]<br>"; break;
}
}
switch($erreur[clef]) {
case 1 : echo "- Vous n'avez pas donné de mot de passe<br>"; break;
case 2 : echo "- Vous avez donné un mot de passe erroné (moins de 6 ou plus de 20 caratères)<br>"; break;
}
if($erreur[serveur]) {
echo "- Erreur interne, veuillez revalider votre inscription<br>";
}
}
echo "<form method='post'>
<input type='hidden' name='validation' value=1>
Nom : <input type='text' name='nom' style='border : 1px solid' size=20 value='$nom' maxlength=50><br>
Prénom : <input type='text' name='prénom' style='border : 1px solid' size=20 value='$prénom' maxlength=50><br>
Adresse e-mail : <input type='text' name='mail' style='border : 1px solid' size=30 value='$mail' maxlength=75><br><br>
Choisissez un pseudo : <input type='text' name='pseudo' style='border : 1px solid' size=15 value='$pseudo' maxlength=20><br>
Choisissez un mot de passe (6 caractères minimum) : <input type='password' name='clef' style='border : 1px solid' size=15 value='$clef' maxlength=20><br><br>
<input type='submit' value='Inscription'>";
}
echo "
</body>
</html>";
?>free.fou telecharger seci au http://biwiki.
1 juil. 2009 à 04:14
26 nov. 2011 à 15:12
18 janv. 2012 à 17:45
1 mai 2012 à 09:34
27 août 2012 à 22:38
Je ne parviens pas à faire fonctionner ce code : dois-je le rentrer dans Notepad++ ?
Où insérer le code donné par vegeta ? Entre les balises <body> ?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Title</title>
</head>
<body>
</body>
</html>