1 Php : page accessibe seulement aux membres d'un forum 14/6/2009, 06:43
Etana
(Membre)
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/
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.