Aller au menu - Aller au contenu
Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !

Comment faire ? [Espace Membres Spécial...]

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Offre d'emploi : Développeur Web PHP/Drupal (H/F)

Page 1 
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page 1 
Hors ligne Lukkia # Posté le 27/02/2010 à 01:09:16
Un style, une référence...
Avatar

Bonjour,

Voilà my big problem : J'ai un forum sous phpbb... donc dans PhpMyAdmin j'ai la table phpbb_users, et figurez-vous que, dans mon Espace Membres, les gens n'ont pas besoin de se réinscrire. Donc je fais ce qu'il y a à faire pour que les membres puissent cliquer sur connexion via le site ou le forum pour être connecté sur les deux en même temps... Mais là, blocage...

J'aimerai que => quand un membre est connecté et qu'il va sur l'Espace membres pour poster sa galerie, ou une fanfic ou encore un tutoriel il y est tout d'afficher et que s'il n'est pas connecté, il n'y a pas marqué "Ajoutez une..." mais "Connectez-vous ou inscrivez-vous".

Merci de votre aide pour m'indiquer le droit chemin. Mais j'ai peut-être mal expliqué et pour ne pas perdre de temps schéma :

Table_users sur site+forum donc quand un invité se connecte il est affiché connecté sur le site ET sur le forum (ça je sais faire)

Visiteur voit sur espace membre => Connectez-vous inscrivez-vous
Si le visiteur se connecte (pas besoin de faire activé son compte, le forum est déjà là pour qu'il s'inscrive), on affiche la même page, mais cette fois avec :

"Ajouter une fanfic" => (s'il en a déjà posté une, ou plus) :
"Ajouter une fanfic
Gérer mes fanfics
Voir mes fanfics"


(Pour singulier et pluriel, je sais comment on fait, mais ça marche avec les liens dans le PHP ?)

"Créer une galerie" => (on ne peut en créer qu'une seule) :
"Ajouter une Image
Gérer ma galerie
Voir ma galerie"


"Ajouter un tutoriel" => (s'il en a déjà posté une, ou plus) :
"Ajouter un tutoriel
Gérer mes tutoriels
Voir mes tutoriels"


Il me faut aussi l'astuce pour que l'accueil de l'espace membres s'actualise en fonction des données reçus (exemple : un membre vient de poster une fanfic, il faut afficher le lien automatiquement dans les "10 dernières fanfic postés ou édités)

Il faut aussi que quand on ajoute quelque chose, ça soit envoyer à la BDD pour qu'un administrateur confirme ou refuse la fanfic, enfin, il faut que ça envoi l'administration /admin/valider_espace-users.php

Donc tout ça se trouve dans le menu à gauche, un menu pour chaque "Ajouter, Gérer, Voir" (ça je sais faire, encore heureux, mais je sais pas les afficher QUAND le visiteur se connecte, avant ça, ils ne sont pas afficher)

A chaque fois que quelqu'un va créer une page, ce sera toujours la même, juste l'ID qui changera donc les données.

Ajouter => Bein ajouter, donc formulaire + $_POST envoi des données à l'admin, validation => affichage.
Gérer => Le membre sélectionne ce qu'il veut éditer et il édite ne se re-soumet pas à la validation.
Voir => L'amène à sa page.

Encore une autre indication : dans gérer mes fanfics ou voir mes fanfics, il faut qu'il y ait un tableau où sont listés ses fanfics (au membre) et il n'a le droit qu'à 5 fanfics.

En fait, les questions sont :

- Comment m'y prendre ?
- Combien de pages dois-je créer ? (en excluant l'administration)
 
Publicité # Posté le 27/02/2010 à 01:09:16

Hors ligne Web' # Posté le 27/02/2010 à 01:17:07
Avatar

Ville : Villers les nancy
Pays : France métropolitaine
Études : Exia.cesi Nancy

Voici un petit lien il date et je ne pense pas qu'il marchera directement mais c'est un très bonne piste !

http://www.phpcs.com/codes/ZONE-MEMBRE [...] BB_34363.aspx
Hors ligne Lukkia # Posté le 27/02/2010 à 01:23:27
Un style, une référence...
Avatar

ça je sais faire, merci quand même !

Mais vous connaissez Pokébip ? => http://www.pokebip.com/
Allez dans la partie Espace-membres, inscrivez-vous et regarder comment s'est fait (ne prend pas plus de 5 minutes ^^)

Regardez les liens déconnecté et connecté ça ne change pas sauf le MENU.

Voilà =).

EDIT : et aussi le corps de la page.
Édité le 27/02/2010 à 01:24:03 par Lukkia
 
Hors ligne Dymo # Posté le 27/02/2010 à 01:27:36
Modulo π ! Modulo π !
Avatar

Pour afficher tel ou tel menu, bah faut utiliser des variables de session... quand $_SESSION['connecte'] est égal à 1, par exemple, tu affiches les menus.
Après, normalement, chaque membre a un ID qui lui est propre. Pour afficher les fanfics de ce membre, t'auras sûrement
Code : PHP
1
2
<?php
mysql_query('SELECT ce que tu veux FROM phpbb_users WHERE id="'.$id_membre.'"'); ?>

Où ID membre est l'ID du membre stockée dans un cookie. Tu peux déclarer ton biscuit comme ça : Code : PHP
1
2
<?php setcookie('id_membre',$id_membre,$expiration); 
// L'ID du membre est extraite via la BDD. En gros tu dois chercher l'ID du membre via son pseudo lors de sa connexion à ton site ?>


Après, coupler avec un forum phpbb préfabriqué (forum codé tout seul powaaaa) c'est plus dur car c'est un peu le boxon.
Pour afficher le menu, tu fais :
Code : PHP
1
2
3
4
5
6
7
<?php if ($_SESSION['connecte'] == 1)
{ ?>
<ul><li>Machin</li>
<li>Truc</li>
<li>Bidule</li>
</ul>
<?php } ?>


Etc.
Édité le 27/02/2010 à 01:28:46 par Dymo

"Pour faire une bonne fonction de calcul, il faut bien sûr, que dis-je, toujours mettre π"
 
Hors ligne Lukkia # Posté le 27/02/2010 à 01:33:00
Un style, une référence...
Avatar

Je sens que ça va me prendre du temps cette histoire %)
 
Hors ligne Web' # Posté le 27/02/2010 à 01:36:16
Avatar

Ville : Villers les nancy
Pays : France métropolitaine
Études : Exia.cesi Nancy

Ben non

Au log tu stocke une varible en session (ex $_SESSION['logged']= true;)

et ensuite pour le menu :

Code : PHP
1
2
3
4
5
6
<?php 
if(isset($_SESSION['logged']) && $_SESSION['logged']==true)
tu affiche ton menu pour personne loggé
else
tu affiche le menu avec les liens de connexion ou autre
?>
Hors ligne Dymo # Posté le 27/02/2010 à 01:42:23
Modulo π ! Modulo π !
Avatar

Après, pour que les autres pages fassent parti de l'espace membre, tu peux créer une fonction qui ressemble à ça :

Code : PHP
1
2
3
4
5
6
7
8
<?php function kick_invite()
{
if ($_SESSION['connecte'] != 1)
{
header('location:va_t_inscrire.php');
exit();
}
} ?>


Suffit d'appeler une fonction comme ça au début de chaque page que tu veux sécuriser.

"Pour faire une bonne fonction de calcul, il faut bien sûr, que dis-je, toujours mettre π"
 
Hors ligne Web' # Posté le 27/02/2010 à 01:43:42
Avatar

Ville : Villers les nancy
Pays : France métropolitaine
Études : Exia.cesi Nancy

Et noublie pas le session_start() tout au début de la page sinon rien ne se fera !
Hors ligne Lukkia # Posté le 27/02/2010 à 01:44:29
Un style, une référence...
Avatar

Merci, je vais déjà relier le forum au site ^^
Timo => Tu peux m'expliquer un peu plus, comprends pas ton code.

je sais pour les sessions start, je l'ai dit à Dymo sur msn avant même que tu ne commences ton message %)
 
Hors ligne Dymo # Posté le 27/02/2010 à 01:47:32
Modulo π ! Modulo π !
Avatar

[HS]Nos posts se complètent successivement ^^[/HS]
Après, pour le nombre de page que tu dois créer, ben suffit de compter :

Index membre (contenant dernières fics/galeries mises à jour)

FIC :
Affichage fic
Liste des fics
Edition fic

Galerie :
Voir au-dessus

Tuto : Voir au-dessus

Ca fait 10.

Ensuite, oui, faut relier le site au forum car ça fait bourrin d'avoir deux tables de membres dans un même site oO
Après, faut que t'aille fouiner dans la page de connexion du forum... Lorsque le membre est connecté (affichage du message de connexion) SI ET SEULEMENT (j'ai pas mis le code) SI $_SESSION['connecte'] == 0. Après, faut vérifier que les cookies existent (donc que le membre s'est connecté. Et voilà, ça fait une variable de session de connexion !
Édité le 27/02/2010 à 01:53:43 par Dymo

"Pour faire une bonne fonction de calcul, il faut bien sûr, que dis-je, toujours mettre π"
 
Hors ligne Lukkia # Posté le 27/02/2010 à 01:50:41
Un style, une référence...
Avatar

Merci Timo, alors j'ai une question...

Code : PHP
1
2
3
4
<?php if ($_SESSION['connecte'] == 1)
{ ?>
<div class="element_menu">Blablabla, mon menu =)</div>
<?php } ?>


['connecte'] => je le remets où après ?
Pour les galeries j'abandonne pour le moment. y aura erreur 404 XD
 
Hors ligne Dymo # Posté le 27/02/2010 à 01:56:12
Modulo π ! Modulo π !
Avatar

Pourquoi une erreur 404 ? La page t'as juste à la créer et à l'uploader. A part ça j'ai pas compris ta question.

EDIT : Désolé Web', devanced ^^"
Édité le 27/02/2010 à 01:58:01 par Dymo

"Pour faire une bonne fonction de calcul, il faut bien sûr, que dis-je, toujours mettre π"
 
Hors ligne Web' # Posté le 27/02/2010 à 01:56:13
Avatar

Ville : Villers les nancy
Pays : France métropolitaine
Études : Exia.cesi Nancy

Citation : Lukkia

['connecte'] => je le remets où après ?

Dans ta poche :p (tu le met ou tu veux que le contenu change selon si le visiteur est co ou pas.
Citation : Lukkia

Pour les galeries j'abandonne pour le moment. y aura erreur 404 XD

Une petite page "en construction" ne te prendrais pas plus de 30 secondes ^^


Hors ligne Lukkia # Posté le 27/02/2010 à 02:00:05
Un style, une référence...
Avatar

Citation : Web'
Citation : Lukkia

['connecte'] => je le remets où après ?

Dans ta poche :p (tu le met ou tu veux que le contenu change selon si le visiteur est co ou pas.
Citation : Lukkia

Pour les galeries j'abandonne pour le moment. y aura erreur 404 XD

Une petite page "en construction" ne te prendrais pas plus de 30 secondes ^^




J'y pensais même pas... XD

EDIT : j'aurai besoin que vous me donniez un ordre genre :

- En premier tu te connectes à MysQL...
- Ensuite, je fais quoi ?
Édité le 27/02/2010 à 02:02:42 par Lukkia
 
Hors ligne Dymo # Posté le 27/02/2010 à 02:08:59
Modulo π ! Modulo π !
Avatar

Un ordre pour quoi ? Faudrait être un peu plus précis. Puis on t'a donné le nécessaire au-dessus.

"Pour faire une bonne fonction de calcul, il faut bien sûr, que dis-je, toujours mettre π"
 
Hors ligne Lukkia # Posté le 27/02/2010 à 02:10:55
Un style, une référence...
Avatar

Ma page c'est ça :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php session_star() ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Intégrez-vous dans l'équipe !</title>
<link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
</head>

<body>
<div id="cadre"><div id="en_tete"></div>
<?php include('includes/menu_users.php'); ?>
<div id="corps"><?php include('includes/haut_users.php'); ?>
<?php

mysql_connect("sql.olympe-network.com", "login", "mdp");
mysql_select_db("////");


/* je ne sais pas quoi mettre */



?></div>
       
<?php include('includes/pied_de_page_users.php'); ?></div>
</body>
</html>


En plus, j'ai déjà un bug avec les includes...
=> Un truc qui marche pas correctement.
Édité le 27/02/2010 à 02:13:57 par Lukkia
 
Hors ligne Web' # Posté le 27/02/2010 à 02:15:26
Avatar

Ville : Villers les nancy
Pays : France métropolitaine
Études : Exia.cesi Nancy

<?php session_star() ?> => <?php session_start() ?>

Et bon ensuite dans tu met ce que l'on ta dit la condition et celon ce que tu veux tu affiche certains lien ou d'autres.

Va voir de ce côté la http://www.phpdebutant.org/article47.php le principe est exactement le même si tu comprend cet article tu sais résoudre ton problème ^^
Hors ligne Lukkia # Posté le 27/02/2010 à 02:25:22
Un style, une référence...
Avatar

Les menus sont dans des includes donc voilà ^^
J'vais faire déjà ça.

Pour ton code :

Code : PHP
1
2
3
4
5
6
<?php 
if(isset($_SESSION['logged']) && $_SESSION['logged']==true)
tu affiche ton menu pour personne loggé
else
tu affiche le menu avec les liens de connexion ou autre
?>


J'peux mettre ça ? :

Code : PHP
1
2
3
4
5
6
<?php 
if(isset($_SESSION['connecte']) && $_SESSION['connecte']==true)
tu affiche ton menu pour personne loggé
else
tu affiche le menu avec les liens de connexion ou autre
?>


Mais faut pas mettre autre chose pour la personne "['connecte']" ?

Mon code :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php session_start() ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>L'antre des Membres</title>
<link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
</head>

<body>
<div id="cadre"><div id="en_tete"></div>


<?php include('includes/menu_users.php'); ?>


<div id="corps"><?php include('includes/haut_users.php'); ?>


<h3>Espace Membres - Accueil</h3>


<?php

if(isset($_SESSION['connecte']) && $_SESSION['connecte']==true)
	
echo '<center>Bienvenue sur l\'espace membre, vous êtes connecté sous le pseudonyme de <strong>...</strong></center>';

else

'<form action="#" method="post">
 Pseudo :<br />
  <input type="text" name="login"><br /><br />
    Mot de Passe :<br />
    <input type="password" name="pass"><br />
   <input type="submit" value="Connexion">
</form>'

?>


<?php


mysql_connect("////", "////", "////");
mysql_select_db("////"); /* c'est fait exprès, hein %) */

$retour = mysql_query('SELECT * FROM phpbb_users WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');

?></div>


<?php include('includes/pied_de_page_users.php'); ?>

</div>
</body>
</html>
Édité le 27/02/2010 à 03:44:19 par Lukkia
 
Hors ligne Dymo # Posté le 27/02/2010 à 17:37:31
Modulo π ! Modulo π !
Avatar

Manque l'instruction echo après ton else. Après, normalement, t'as pas besoin d'utiliser la connexion à mySQL ici car je t'avais fait un conf.php à inclure en début de page.
En gros tu as :

<?php session_start();
include('includes/conf.php'); ?>

Sinon, c'est pas pratique de faire une requête SQL en se basant sur l'IP... le membre peut utiliser un proxy ou avoir une IP changeante.
Édité le 27/02/2010 à 17:38:30 par Dymo

"Pour faire une bonne fonction de calcul, il faut bien sûr, que dis-je, toujours mettre π"
 
Hors ligne Lukkia # Posté le 27/02/2010 à 19:36:52
Un style, une référence...
Avatar

Bah on se base sur quoi alors ? Puisque même si l'IP change, sur le forum il arrivera à se connecter... donc ?
 

Retour au forum "PHP" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx