Php : page accessibe seulement aux membres d'un forum
SOS-FORUM.com
     

Php : page accessibe seulement aux membres d'un forum 5 5 7

Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]


Etana
(Membre)
Voir le profil de l'utilisateur
Ce tutoriel a été publié par Etana sur SOS-Forum.
Afin que les tutoriels de SOS-Forum restent en libre accès, ainsi que par respect du travail accompli, tout tutoriel copié ou s'en inspirant publié ailleurs qu'ici, devra en citer le ou les auteurs ainsi que la provenance via un lien vers ce sujet sur le SOS-Forum.


Pour faire une page sur un site par exemple, uniquement accessible aux membres d'un forum, voici le code qu'on peut utiliser ( il fonctionne dans l'état actuel de forumactif, mais peut-être que suite à une amélioration ça ne fonctionnera plus ) :

Code:
<?php
$forum_url='http://forum.forumactif.com/';
if(!isset($_COOKIE['connected']))
{
  if(!isset($_POST['username']))
  {
?>
<form action="" method="post" name="form_login">
  <input type="text" name="username" value="" size="25" maxlength="40" />
  <input type="password" name="password" size="25" maxlength="32" />
  <input style="display: none;" type="checkbox" name="autologin"/>
  <input type="hidden" name="redirect" value="" />
  <input type="hidden" name="query" value="" />
  <input class="mainoption" type="submit" name="login" value="Connexion" />
</form>
<?php
  }
  else
  {
      $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$forum_url.'login.forum'); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)'); curl_setopt($ch, CURLOPT_REFERER,$forum_url.'login.forum'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); if(curl_exec($ch)=='') $connected=1; curl_close ($ch);
  }
}
if(isset($_COOKIE['connected']) || isset($connected))
{
setcookie("connected",1,time()+2592000);
?>
Page super secrète.
<br/>
<br/>

\o/
<?
}
elseif(isset($_POST['username']))
{
?>
<form action="" method="post" name="form_login">
  <input type="text" name="username" value="" size="25" maxlength="40" />
  <input type="password" name="password" size="25" maxlength="32" />
  <input style="display: none;" type="checkbox" name="autologin"/>
  <input type="hidden" name="redirect" value="" />
  <input type="hidden" name="query" value="" />
  <input class="mainoption" type="submit" name="login" value="Connexion" />
</form>
<br/>
<br/>
Le mot de passe et/ou nom d'utilisateur ne correspondent pas à un compte de <?php echo $forum_url; ?>.
<?
}
?>


Avec le contenu de la page à afficher à condition d'avoir un bon login/mot de passe qui est :

Code:
Page super secrète.
<br/>
<br/>

\o/


Et pour désigner sur quel forum il faut vérifier l'existence du compte, il faut modifier :

Code:
http://forum.forumactif.com/

Un exemple de l'utilisation de cette astuce : ici.

En cas d'affichage du contenu caché de la page ça crée un cookie de 30 jours qui permet de ne plus devoir se connecter, mais c'est modifiable.


ProgVal
Staff du forum
Voir le profil de l'utilisateur http://www.adminforum.fr.cr
félicitations! J'ai toujours eu la flemme de me lancer dans le codage de ce script...

Par contre, il faut que l'extension cURL de PHP soit activée...


nirupan
(Membre)
Voir le profil de l'utilisateur http://www.tamilfriends.forumpro.fr/
bravo pour ce code, allez un petit plus^^

Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum

 
  •  

Forum gratuit | © PunBB | Forum gratuit d'entraide | Signaler un abus | Créer un forum