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
Bonjour, voila je vous écris pour une question : je voudrai faire un espace membre. J'ai déja fais la page d'inscription avec r'envoyes automatique des informations par mail mais je voudrai savoir comment et quel est le code php pour faire l'autentification auprès du serveur ainsi que si les informations sont fauce (mot de passe login) le visiteur soit r'envoyer automatiquement vers la page pour s'audentifier. Je vous remerci d'avance...
Fabrice
A voir également:

15 réponses

vegeta1other
12 juin 2008 à 00:52
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+
32
Salut!! est qu'il faut un Apache ou Mysql installee sur mon ordi
0
J'ai une question: cette page s'affiche lorsque le visiteur arrive sur le site, avant même qu'il puisse en voir une page? Si oui ça m'intéresse beaucoup!
0
Bien sûr que tu peux, tu as juste à mettre ton espace connexion en première page, et à faire un header(Location:'tapage') si tu l'autorises à rentrer dans ton site; )
0
salu,trô cool,mrc bcp
0
Bonjour,

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>
0
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
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
5
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
Moi aussi je cherche un espace membre
5
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
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
3

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
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
3
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
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
1
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
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
1
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
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
1
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
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 !
1
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 !
1
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 ^^

                <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
0
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>
1
C'est que l'adresse du site que ta mis ne fait pas marché le code car dans ce site un dessus le Code SQL c'est pour sa Allor change d'adresse ou heberge la
0
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:
<?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
1
non désoler je viens de comprendre!
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
1
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.
1
Inconnu_anonyme
12 janv. 2011 à 14:20
Eumh... Aux vues de ta façon d'écrire en français, je pense que ça doit être bourré de Parse Error... Merci mais je prend pas >_<
0
fabrique11901 stp tu pe me di comment en fait un page espace membre
0