Aller au menu - Aller au contenu

Autorisations d'accès

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2 
Pseudo Commentaire
Page Précédente  1  2 
Hors ligne domanteau # Posté le 01/08/2010 à 18:02:35
Avatar

Salut
où as tu expliqué l'endroit qui permet de spécifier si on est
  • membre
  • modérateur
  • administrateur

D'avance merci.
Excellent tuto même s'il me fait m'arracher quelques cheveux à cause de mes incompétences.
Hors ligne guemar123 # Posté le 15/08/2010 à 11:09:03

slu
je fini this toutorial
Mais le Forum de retour Design ne semble pas
S'il vous plaît, quelle est la raison
http://ttweer.net/forum5/index.php
Quand les gens inscrivez-vous page ne s'affiche pas
http://ttweer.net/forum5/registerok.php
Hors ligne arock222 # Posté le 17/08/2010 à 15:47:34
Impossible is nothing
Avatar

Au secours je suis complètement bloqué au départ de ce forum est ce que quelqu'un sais ou inclure exactement les deux premières portions de code php

après d'innombrable essaies ou que je les place mon script plante et je me retrouve avec un page blanche

quelqu'un aurait la réponse svp???

Merci d'avance

Commencez par changer en vous ce que vous voulez changer autour de vous...(Gandhi)

 
Hors ligne didous # Posté le 24/09/2010 à 19:41:42
Avatar

pour ceux qui galèrent sur la page posterok (pour les autorisations) voici ce que j'ai fait (et ça à l'air de fonctionner...)
J'effectue une requête pour récupérer les auth du forum en question. Ensuite pour chaque "case" de notre boucle j'effectue le "test autorisation" dès que ma variable $forum est définie (en fait dès que je l'id du forum).Ce qui donne:
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
<?php case "nouveautopic":
		
		
		//On passe le message dans une série de fonction
		$message = mysql_real_escape_string($_POST['message']);
		$mess = mysql_real_escape_string($_POST['mess']);

		//Pareil pour le titre
		$titre = mysql_real_escape_string($_POST['titre']);

		//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable f
		$forum = (int) $_GET['f'];
		$temps = time();
		//la requete pour récupérer les droits associés à ce forum les droits 
		$requete1 = mysql_query('SELECT auth_view, auth_post, auth_topic, auth_modo FROM forum_forum
		WHERE forum_id="'.$forum.'"');
		$data1=mysql_fetch_assoc($requete1);
		
		if ((!verif_auth($data1['auth_annonce']) and isset($_POST['mess']))or !verif_auth($data1['auth_topic'])or!verif_auth($data1['auth_view']))
		{
			exit('acess denied </div></body></html>');
		}
		
		if (empty($message) || empty($titre))
		{
			echo'<p>Votre message ou votre titre est vide, cliquez <a href="./poster.php?action=nouveautopic&amp;f='.$forum.'">ici</a> pour recommencer</p>';
		}
		else //Si jamais le message n'est pas vide
		{
?>


Puis pour case:repondre, même principe, sauf qu'il faut faire la requête juste après la création de $forum (donc après la $requête2)
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
<?php
case "repondre":
		
		//On passe le message dans une série de fonction
		$message = mysql_real_escape_string($_POST['message']);


		//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable t
		$topic = (int) $_GET['t'];
		$temps = time();
			

		if (empty($message))
		{
			echo'<p>Votre message est vide, cliquez <a href="./poster.php?action=repondre&amp;t='.$topic.'">ici</a> pour recommencer</p>';
		}
		else //Sinon, si le message n'est pas vide
		{

			//On récupère l'id du forum
			$requete2 = mysql_query('SELECT forum_id, topic_post
			FROM forum_topic
			WHERE topic_id = "'.$topic.'"');

			$data2= mysql_fetch_assoc($requete2) or die ("Une erreur semble être survenue lors de l'envoi du message");
			$forum = $data2['forum_id'];
			
			//verification des droits
			$requete1 = mysql_query('SELECT auth_view, auth_post, auth_topic, auth_modo FROM forum_forum
			WHERE forum_id="'.$forum.'"');
			$data1=mysql_fetch_assoc($requete1);
			if (!verif_auth($data1['auth_post'])or!verif_auth($data1['auth_view']))
			{
				exit('acess denied </div></body></html>');
			}

			//Puis on entre le message
                        mysql_query("INSERT INTO forum_post
			(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
			VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$topic."', '".$forum."')")
			or die ("Une erreur semble avoir survenu lors de l'envoi du message");
?>


Voilà, étant débutant en programmation il se peut que ce soit faux, en tout cas on dirait que ça marche.
N'hésitez pas à me faire part de vos commentaires! :p
Hors ligne bikinos # Posté le 09/10/2010 à 16:46:56

Bonjour,

Ce tuto est exelent (19/20)

Mais je bloque sur cette partie: je comprends rien pour la partie 1 (interdire l'acces a certaines personne pour la partie news)
Merci de me répondre ...

Image utilisateur
 
Hors ligne -SkYnet- # Posté le 25/10/2010 à 14:58:32
Avatar

on peut se passer de auth_view d'après moi suffit de choper le rang du membre
exemple avec la page poster :
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
<?php 
        
        
        $compare_session = mysql_query('SELECT membre_rang FROM forum_membres  WHERE membre_id = "'.$_SESSION['id'].'"');
        $session_compare = mysql_fetch_array($compare_session);
        
        
        
        ?>
        <?php
        if ($session_compare['membre_rang'] > 2)
        {
        ?>

        
        <label><input type="radio" name="mess" value="Annonce" />Annonce</label>
        <label><input type="radio" name="mess" value="Message" checked="checked" />Topic</label>
        
        <?php
        
        }
        
        ?>


pour moi les membres sont grade 2 donc si la personne a un grade plus élevé que membre il voit ces boutons

si vous n'avez pas compris la requete ce qui m'étonne : elle demande à mysql de choper le rang du membre dont l'id est celle de sa session

ex: l'id de ma session est 52 dans la table l'id numero 52 correspondra à vous et elle prendra votre rang

"Nous finissons tous par mourir, notre but n'est pas d'être immortel, notre but est de créer quelque chose qui nous survivra." Chuck Palahniuk
 
Hors ligne nico2aa # Posté le 11/09/2011 à 19:41:08
Avatar

Avis : Très bon

Ville : Ajaccio
Pays : France métropolitaine

Salut a tous,
Citation : tutoriel
Page poster.php


Comme ce qu'on fait depuis tout à l'heure est assez répétitif, et surtout assez facile, je vais vous laisser vous occuper seuls de cette page, parce qu'il est important que vous ayez compris le fonctionnement de ce système afin de pouvoir le personnaliser au maximum.

Voilà ce qu'il faut vérifier :

déjà, que le visiteur a le droit d'être sur le forum (auth_view)
ensuite, qu'il a le droit de poster un nouveau sujet (pour cela, il faut travailler à l'intérieur du switch après le case"nouveautopic":)
enfin, de la même façon qu'il peut répondre (case"repondre":)



Encore une fois, tout est déjà mis en place grâce à une requête, celle-ci diffère selon qu'on se trouve dans le cas d'un nouveau topic ou d'une réponse.

Pensez à placer les vérifications avant d'afficher le contenu de la page : si elle n'est pas remplie, faîtes un simple erreur, puis passez à la suite.

Pour ce qui est de la page postok.php, on ne peut logiquement pas s'y rendre en postant quelque chose, dans la mesure où l'accès à la page poster.php est bloqué si on n'a pas les droits. Toutefois, ça ne coûte rien de le faire quand même : faites donc exactement les mêmes modifications là-bas.

Nous avons maintenant terminé ce système d'autorisations ; dans tous les forums, vous pouvez régler différents niveaux d'accès. Libre à vous de faire une partie réservée aux modérateurs ou aux administrateurs.


Je suis bloqué ici pour la page postok.php, car dans la page poster.php nous avont les variable t, f ou p qui nous renseigne sur verif_auth ect.. car y'a une requête mais dans postok.php il n'y a pas de requête alors comment faire ? créer un requête a chaque case "repondre", "nouveautopic" ? car data ben il sert a rien sinon dans postok.php sans une requête
Merci

Secret (cliquez pour afficher)
o_O Pourquoi ta cliqué :pirate:

 
Hors ligne Doudou45 # Posté le 11/10/2011 à 19:07:23
Avatar

Mon problème est résolu désolé ^^
Pour accéder à cette section
Connectez-vous !
connexion_rpx