Suta

  • Site web
  • Nombre de sujets
    47
  • Nombre de messages
    141
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Suta
le 12/03/2006 à 17:26
trop long !
vu qu'il y a quelque fautes je vous reecri mon code (qui apparament ne suit pas un bon raisonnement car il marche pas :'()

<?php
if (!isset($_SESSION['groupe']) && ($data ['groupe'] != "visiteur"))
{
echo 'Vous n\'avez pas acces a ce forum !';
}
elseif (isset($_SESSION['groupe'])
{
if ($data['groupe'] != "visiteur" && $data['groupe'] != "membre")
{
if ($_SESSION['groupe'] != "admin" && $_SESSION['groupe'] != $data['groupe'])
{
echo 'Vous n\'avez pas acces a ce forum !';
}
else
{
// on affiche le forum
}
?>
Suta
le 12/03/2006 à 17:13
trop long !
euh j'ai oublier de petit "}" mais je reitere ma question ;)
Suta
le 12/03/2006 à 17:11
trop long !
ok merci de m'avoir réponde :)

toutefois je n'ai pas vraiment compris pourquoi il faut mettre des "&&" et non des "||" ?

je vais tenter de vous expliquer comment est mon espace membre :

voila deja les variables :
<?php

$data['groupe']
//est le groupe attribué au forum ou a la galerie, on va le chercher dans la bdd

$_SESSION['groupe']
//est le groupe du membre connecté
?>


ensuite il y a 3 groupe "exeptionnels" qui peuvent etre attribués au forum ou a la galerie (autrement dit a la variable $data['groupe']

visiteur
membre
admin


si l'internaute n'est pas connecté alors il ne peu voir que le forum dont le $data['groupe'] est "visiteur"

je l'ai traduit comme ceci :
<?php

if (!isset($_SESSION['groupe']) && ($data ['groupe'] != "visiteur"))
{
echo 'Vous n\'avez pas acces a ce forum !';
}
else {
// on affiche le forum
}
?>


jusque la ça va c'est pas trop compliqué...

maintenant si l'internaute est connecté (donc membre):

le membre connecté quelque soit son $_SESSION['groupe'] a toujours acces aux forums dont les $data['groupe'] sont "visiteur" ET "membre"

si son $_SESSION['groupe'] est "admin" alors on affiche le forum

si son $_SESSION['groupe'] == $data['groupe'] du forum alors on affiche le forum

ce que je traduit comme ceci :

<?php

if (isset($_SESSION['groupe'])
{
if ($data['groupe'] != "visiteur" && $data['groupe'] != "membre")
{
if ($_SESSION['groupe'] != "admin" && $_SESSION['groupe'] != $data['groupe'])
{
echo 'Vous n\'avez pas acces a ce forum !';
}
else
{
// on affiche le forum
}
?>


donc au final on peu faire un truc dans ce genre

<?php
if (!isset($_SESSION['groupe']) && ($data ['groupe'] != "visiteur"))
{
echo 'Vous n\'avez pas acces a ce forum !';
}
elseif (isset($_SESSION['groupe'])
{
if ($data['groupe'] != "visiteur" && $data['groupe'] != "membre")
{
if ($_SESSION['groupe'] != "admin" && $_SESSION['groupe'] != $data['groupe'])
{
echo 'Vous n\'avez pas acces a ce forum !';
}
else
{
// on affiche le forum
}
?>



QUESTION :
Il y a t'il un erreur dans ce code ou dans mon resonnement parcque ça ne marche pas mon truc :S ?

merci ;)
Suta
le 09/03/2006 à 01:26
creation de table
oups me suis trompé jvoulai raccourcir un peu et j'ai tout envoyé désolé :S
Suta
le 09/03/2006 à 01:25
creation de table
bonsoir !

Voila j'ai bientot fini mon petit portail :)

il me reste encore quelque detail a regler dont l'installation.

pour cela jai fait un script sur une page install.php avec un formulaire d'inscription pour le premier utilisateur (l'admin)

une fois le formulaire rempli la création des table ce fait puis le login et le mot de pass de l'admin s'insert dans la table adecquate

mais je ne sait pas vraiment comment faire ma requete

j'ai fait ça (mais ça ne marche pas ^^) :



mysql_query(CREATE TABLE `faq` (`id` int(6) NOT NULL auto_increment,`titre` text NOT NULL,`texte_faq` text NOT NULL,PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `forum_reponses` (`id` int(6) NOT NULL auto_increment,`auteur` varchar(30) NOT NULL default '',`message` text NOT NULL,`date_reponse` datetime NOT NULL default '0000-00-00 00:00:00',`correspondance_sujet` int(6) NOT NULL default '0',`correspondance_forum` int(6) NOT NULL default '0',`groupe` text NOT NULL, PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `forum_sujets` (`id` int(6) NOT NULL auto_increment,`auteur` varchar(30) NOT NULL default '',`titre` text NOT NULL,`date_derniere_reponse` datetime NOT NULL default '0000-00-00 00:00:00',`dernier_auteur` varchar(30) NOT NULL default '',`correspondance_forum` int(6) NOT NULL default '0',`groupe` text NOT NULL,PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `forums` (`id` int(6) NOT NULL auto_increment,`titre` text NOT NULL,`description` text NOT NULL,`groupe` text NOT NULL,PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `galeries` (`id` int(6) NOT NULL auto_increment,`titre` text NOT NULL,`description` text NOT NULL,`groupe` text NOT NULL,PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `groupes` (`id` int(6) NOT NULL auto_increment,`groupe` text NOT NULL,PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `images` (`id` int(6) NOT NULL auto_increment,`nom_du_fichier` text NOT NULL,`titre` text NOT NULL,`description` text NOT NULL,`correspondance_galerie` int(6) NOT NULL default '0',PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `membre` (`id` int(11) NOT NULL auto_increment,`login` text NOT NULL,`pass_md5` text NOT NULL,`groupe` text NOT NULL,PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `messages` (`id` int(11) NOT NULL auto_increment,`id_expediteur` int(11) NOT NULL default '0',`id_destinataire` int(11) NOT NULL default '0',`date` datetime NOT NULL default '0000-00-00 00:00:00',`titre` text NOT NULL,`message` text NOT NULL,PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `nb_online` (`ip` varchar(15) NOT NULL default '',`time` bigint(16) NOT NULL default '0') TYPE=MyISAM);
mysql_query(CREATE TABLE `news` (`id` int(6) NOT NULL auto_increment,`auteur` varchar(30) NOT NULL default '',`titre` text NOT NULL,`date` datetime NOT NULL default '0000-00-00 00:00:00',`texte_news` text NOT NULL,`groupe` text NOT NULL,PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(CREATE TABLE `notes` (`id` int(6) NOT NULL auto_increment,`auteur` varchar(30) NOT NULL default '',`titre` text NOT NULL,`date` datetime NOT NULL default '0000-00-00 00:00:00',`texte_notes` text NOT NULL,`groupe` text NOT NULL,PRIMARY KEY (`id`)) TYPE=MyISAM);
mysql_query(INSERT INTO membre VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['pass'])).'", "membre"));



quelqun peu maider ?

merci d'avance ;)
Suta
le 09/03/2006 à 01:20
trop long !
bonjour,

justement je n'ai pas de else a mettre donc c'est trop long...

mon vrai probleme c'est que je n'arrive pas a mettre tout avec un seul "if" :'(, je ne connais pas tres bien les boleen et les autres truc de ce genre ^^

pourrai tu me donner la solution siltepléé ?

merci d'avance :)
Suta
le 08/03/2006 à 19:32
trop long !
bonjour !

voila jai un script qui me semble bien long :

elseif (isset($_SESSION['login']) && ($_SESSION['groupe']!="admin"))
{
if ($data['groupe'] != $_SESSION['groupe'])
{
if ($data['groupe'] != "membre")
{
if ($data['groupe'] != "visiteur")
{
echo 'Vous n\'avez pas acces a cette galerie !';
exit;
}
}
}
}


Je suis sur qu'il y a moyen de le raccourcir non ?

merci pour vos proposition ;)

a bientot
Suta
le 07/03/2006 à 23:33
Requete
merci :)

jy avait pensé mais je ne sait pas pourquoi j'avai quand meme un doute...

aurevoir
Suta
le 07/03/2006 à 18:15
Requete
Bonjour,

jai une requete sql :


$sql = 'SELECT id, auteur, titre, date, texte_notes, groupe FROM notes WHERE id="'.$_GET['id_notes'].'" AND (groupe = "'.$_SESSION['groupe'].'" OR groupe = "visiteur" OR groupe = "membre")';


je voudrai faire en sorte que si il n'y a pas de resultat alors il y a un message qui s'affiche

donc j'utlise la fonction "if"

mais comment dire "if (pas de résultat pour la requete)" ???

merci pour votre aide ;)
Suta
le 06/03/2006 à 17:04
probleme avec "header"
jsuis heureux dapprendre tout ça aussi car je ne comprenai pas pourquoi lorsque j'enlevait le exit, ça ne marchait plus :)

merci pour tout

Bzh -> mais t'en fait pas je suis sure que sur d'autre pages il doit y avoir des truc inutile ;)

a+
LoadingChargement en cours