Rechercher : dans
Par :

Créer espace membre en php

Dernière réponse le 14 aoû 2009 à 10:00:12 fabrice11901, le 29 aoû 2005 à 09:36:36 
 Signaler ce message aux modérateurs

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

Configuration: windows xp

1

antic80, le 29 aoû 2005 à 09:46:41
  • +1

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

Répondre à antic80

2

fabrice11901, le 29 aoû 2005 à 10:41:11

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

Répondre à fabrice11901

3

antic80, le 29 aoû 2005 à 10:50:04

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

Répondre à antic80

4

fabrice11901, le 29 aoû 2005 à 11:14:16

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

Répondre à fabrice11901

5

fabrice11901, le 29 aoû 2005 à 15:54:49

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

Répondre à fabrice11901

6

fabrice11901, le 3 sep 2005 à 11:16:23
  • +1

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 !

Répondre à fabrice11901

7

fehd01, le 17 aoû 2007 à 00:11:11
  • +11

Moi aussi je cherche un espace membre

Répondre à fehd01

8

Fredou-x3, le 11 avr 2008 à 15:34:18

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 !

Répondre à Fredou-x3

9

Freez69, le 5 mai 2008 à 18:10:27

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

Répondre à Freez69

10

evilcode, le 11 jun 2008 à 17:04:38
  • +1

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

Répondre à evilcode

11

vegeta1other, le 12 jun 2008 à 00:52:29
  • +2

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+

Répondre à vegeta1other

13

kevb10, le 1 jui 2009 à 04:14:35

Salut!! est qu'il faut un Apache ou Mysql installee sur mon ordi

Répondre à kevb10

12

tatan, le 22 jui 2008 à 18:10:38

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>

Répondre à tatan

14

adnbenji, le 14 aoû 2009 à 09:36:52

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

Répondre à adnbenji

15

 adnbenji, le 14 aoû 2009 à 10:00:12

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

Répondre à adnbenji
Collection CommentÇaMarche.net