Help - Search - Member List - Calendar
Full Version: Identification IPB 1.3 avec SDK
IPBR-FR > Entraide > Forums dédiés aux mods majeures > IPB SDK
Tanjes
Bonjour,

voila en faite je voudrai que les visiteur puissent s'identifier sur le site avec le meme login et pass du forum ...
Une fois la personne connecté si possible d'avoir une phrase style Bienvenue [son pseudo] ... etc
Et pour ceux non identifier donc : un champ login , un champ pass, boutons connexion

il a certe c'est option dans le SDK mais il a pas exactement ce que je cherche !
j'ai essayer de faire quelques choses moi meme mais sans sucée ! unsure.gif

Merci d'avance !
jona
QUOTE(Tanjes @ dimanche 13 mars 2005 à 23:01)
Bonjour,

voila en faite je voudrai que les visiteur puissent s'identifier sur le site avec le meme login et pass du forum ... 
Une fois la personne connecté si possible d'avoir une phrase style Bienvenue [son pseudo] ... etc
Et pour ceux non identifier donc : un champ login , un champ pass, boutons connexion

il a certe c'est option dans le SDK mais il a pas exactement ce que je cherche !
j'ai essayer de faire quelques choses moi meme mais sans sucée  !  unsure.gif

Merci d'avance !
*


tu cherche quoi exactement. Car effectivement il y a ce qu'il faut dans le SDK
Tanjes
Ben comme j'ai dit !!

Un visiteur arrive sur le site !

Ca serat marquer dans un menu :
2 champs login , et pass ! pour se connecter si il es déjà inscrit et en dessous un lien vers le formulaire d'inscription de ipb ! ..

Quand la personne est identifier ! il faudrai que ca soit marquer Bienvenue [son pseudo] !

Voilà tout simple ... dans SDk il a juste un identifiant mais ca met direct vers le forum !
SQue moi je voudrai qu'on reste sur le site ..

Si un mod existe déjà faite moi signe !;)

Merci .
Fabien
Le SDK permet de faire cela. smile.gif
Tanjes
ah ! j'ai du louper ca huh.gif

Et c'est quel fichier dans le SDK ?


Merci ..
jona
pour se logguer c'est "login.php"
manhim
Désoler de remonter un vieu post, mais voici mon problème...

Avec IPB SDK j'ai réussit à mettre la boite de login sur mon site... Mais j'ai toujours un problème...

Si je me logue à partir du formulaire, il se logue au site et au forum... mais si il se logue sur le forum, il n'est pas loguer sur le site :! (Ou il est un visiteur)

En fait, je voudrait que le script verifie si il est loguer ou non... je ne c'est pas si c'est possible avec SDK?
jona
QUOTE(manhim @ jeudi 23 juin 2005 à 02:38)
Désoler de remonter un vieu post, mais voici mon problème...

Avec IPB SDK j'ai réussit à mettre la boite de login sur mon site... Mais j'ai toujours un problème...

Si je me logue à partir du formulaire, il se logue au site et au forum... mais si il se logue sur le forum, il n'est pas loguer sur le site :! (Ou il est un visiteur)

En fait, je voudrait que le script verifie si il est loguer ou non... je ne c'est pas si c'est possible avec SDK?
*


Sauf erreur c'est un soucis de définition de cookies dans APC de ton forum.

Enfin pour vérifier s'il est connecté utilise la fonction : $SDK->is_loggedin()
manhim
C'est ce que je recherchais ( $SDK->is_loggedin() ) Je vais assailler et merci!

++
Manhim
manhim
J'ai un problème...
Le script "login.php" se logue sur lui-même mais pas le forum :!

Voicit mon script :
CODE
<?

require_once "/home/***/ipbsdk/ipbsdk_class.inc.php";
$SDK =& new IPBSDK();


if ($_SERVER['REQUEST_METHOD'] == "POST") {

$username = $_POST['username'];
$password = $_POST['password'];

if ($SDK->login($username, $password, 1)) {

echo "Bienvenue " . $username . " !";

}
else {

echo "<form action=\"" . $PHP_SELF . "\" method=\"post\">
<span class=\"input_text\">Pseudo : </span>
<input type=\"text\" name=\"username\" size=\"15\" class=\"input\">

&nbsp; <span class=\"input_text\">Passe : </span>
<input type=\"password\" name=\"password\" size=\"15\" class=\"input\">

<input type=\"image\" src=\"/site_images/submit.gif\"></form>";

}
}
else if ($SDK->is_loggedin() AND $_SERVER['REQUEST_METHOD'] != "POST") {

echo "Bienvenue " . $SDK->get_info(name) . " ! ";

}
else {

echo "<form action=\"" . $PHP_SELF . "\" method=\"post\">
<span class=\"input_text\">Pseudo : </span>
<input type=\"text\" name=\"username\" size=\"15\" class=\"input\">

&nbsp; <span class=\"input_text\">Passe : </span>
<input type=\"password\" name=\"password\" size=\"15\" class=\"input\">

<input type=\"image\" src=\"/site_images/submit.gif\"></form>";

}

?>
jona
C'est pas comme ca que ca fonctionne. Voila la bonne méthode

CODE
if ($SDK->is_loggedin()) {
  // Le code pour les utilisateurs connectés vient ici
     echo 'Vous &ecirc;tes connect&eacute;s !!!<br />La Page Membre vient ici';
}
else {
     // Le code pour les invités vient ici
     echo 'Vous n\'&ecirc;tes pas connect&eacute;s !';
}


si tu veux que tous ceux qui sont pas logguer soit rediriger vers la page de login alors faut faire comme cela :
CODE
if ($SDK->is_loggedin()) {
  // Le code pour les utilisateurs connectés vient ici
     echo 'Vous &ecirc;tes connect&eacute;s !!!<br />La Page Membre vient ici';

}
else {
     header("Location: http://".$_SERVER['HTTP_HOST']."/".dirname($_SERVER['PHP_SELF'])."/tonfichierquipermetdeselogguer.php");
}
manhim
Je l'ai refait et sa ne fonctionne toujours pas... (Moi je veu détecter si la personne est identifier, si si c'est oui, afficher Bienvenue [NOM] !... Sinon afficher le formulaire avec possibilité de login si la personne est non-loguer :

CODE
<?

require_once "/home/mansite/forum/ipbsdk/ipbsdk_class.inc.php";
$SDK =& new IPBSDK();

if ($SDK->is_loggedin()) {

    echo "Bienvenue " . $SDK->get_info(name) . " !";

}
else
{

if ($_SERVER['REQUEST_METHOD'] == "POST") {

 $username = $_POST['username'];
 $password = $_POST['password'];

  if ($SDK->login($username, $password, 1)) {

   echo "Bienvenue " . $username . " !";

  }
  else
  {

   echo "<form action=\"" . $PHP_SELF . "\" method=\"post\">\n";
   echo "<span class=\"input_text\">Pseudo : </span>\n";
   echo "<input type=\"text\" name=\"username\" size=\"15\" class=\"input\">\n\n";

   echo " &nbsp; <span class=\"input_text\">Passe : </span>\n";
   echo "<input type=\"password\" name=\"password\" size=\"15\" class=\"input\">\n\n";

   echo "<input type=\"image\" src=\"/site_images/submit.gif\"></form>\n";

  }

}
else
{

 echo "<form action=\"" . $PHP_SELF . "\" method=\"post\">\n";
 echo "<span class=\"input_text\">Pseudo : </span>\n";
 echo "<input type=\"text\" name=\"username\" size=\"15\" class=\"input\">\n\n";

 echo " &nbsp; <span class=\"input_text\">Passe : </span>\n";
 echo "<input type=\"password\" name=\"password\" size=\"15\" class=\"input\">\n\n";

 echo "<input type=\"image\" src=\"/site_images/submit.gif\"></form>\n";

}

}

?>
jona
j'ai transmit à Manhim des fichiers de code qui fonctionnent pour la detection de log et ensuite de log si pas loguer et redirection si pas inscrit.

Pour des raisons qui lui sont propre il ne souhaite pas de redirection.

Magre du temps passer sur msn avec lui rien ne permet d'avancer dans l'état de ses exigence et de mes connaissance je passe donc la main à qui voudras.

Je tiens à la disposition de qui veux mes deux fichiers qui fonctionne et qui aurait la même demande pour login et identification
manhim
Je suis en train de développer un code à ma manière, mais pour le moment j'ai un problème... si mes tests s'avèrent positifs, je metterai la source sur ce post même... Sinon, j'aurai toujours un problème...
manhim
Finalement je vais encore avoir besoin d'aide...
Ce que je voulais faire est un script sans redirection, possibilité de login sans passer par SDK, mais directement par le forum et ensuite redirection vers la page actuelle grace a un script, mais je cale lorsque je veu aller cherche l'information du si la personne est loguer ou non sur le serveur externe en PHP... L'information est toujours négative quoi que ce soit...
manhim
J'ai enfin réussi avec mon code en utilisant les cookies Javascript/PHP

Fichier is_login.php à mettre à la racine de son forum :

CODE
function EcrireCookie(nom, valeur)
{

var argv=EcrireCookie.arguments;
var argc=EcrireCookie.arguments.length;
var expires=(argc > 2) ? argv[2] : null;
var path=(argc > 3) ? argv[3] : null;
var domain=(argc > 4) ? argv[4] : null;
var secure=(argc > 5) ? argv[5] : false;
document.cookie=nom+"="+escape(valeur)+
((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "");

}

<?
require_once "/home/mansite/forum/ipbsdk/ipbsdk_class.inc.php";
$SDK =& new IPBSDK();

if ($SDK->is_loggedin()) {
    echo 'EcrireCookie("is_logued", "TRUE");';
}
else {
    echo 'EcrireCookie("is_logued", "FALSE");';
}


?>


Le code pour l'appeller (La variable $is_logued renvoie TRUE ou FALSE selont si la personne est connecter ou non) [N'oublier pas de changer le chemin vers le fichier is_login.php ]

CODE
<?

echo "<script type=\"text/javascript\" src=\"http://votresite.tld/votre_forum/is_login.php\"></script>";

$is_logued = $_COOKIE[is_logued];

if ($is_logued == "TRUE") {
    echo 'Vous êtes connecté';
}
elseif ($is_logued == "FALSE") {
    echo 'Vous n\'êtes pas connecté';
}
else {
    echo 'Erreure lors du chargement du cookie';
}

?>


Je n'ai pas encore terminer le moyen de se logué à partir de son site, mais sa vien...

++
Manhim
Fabien
Ce n'est pas très sécurisé tout ça. N'importe qui peut modifier le cookie et mettre TRUE pour être connecté.
manhim
... en fait, c'est le seul moyen que je connais pour pouvoir connaitre si la personne est connecter sur un forum à distance... J'ai aissailler de mettre le fichier distant en variable, mais la réponse était toujours négative... alors...

Mais il a aussi que le cookie est toujours recharger à chaque fois que le script ce charge... alors sa métonnerais qu'en moins de 1 seconde la personne est le temps de modifier le cookie...

++
Manhim
manhim
Pour ma part, j'ai toujours une page de décalage...

Alors voici la source comme promis... :


Fichier is_login.php (à la racine de votre forum) [ ex : http://www.votresite.tld/forum/is_login ]

CODE
function EcrireCookie(nom, valeur)
{

var argv=EcrireCookie.arguments;
var argc=EcrireCookie.arguments.length;
var expires=(argc > 2) ? argv[2] : null;
var path=(argc > 3) ? argv[3] : null;
var domain=(argc > 4) ? argv[4] : null;
var secure=(argc > 5) ? argv[5] : false;
document.cookie=nom+"="+escape(valeur)+
((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "");

}

<?
require_once "/home/.../ipbsdk/ipbsdk_class.inc.php";
$SDK =& new IPBSDK();

$membre = $SDK->get_info();

if ($SDK->is_loggedin()) {
echo 'EcrireCookie("is_logued", "TRUE");';
echo 'EcrireCookie("member_name", "' . $membre[name] . '");';
}
else {
echo 'EcrireCookie("is_logued", "FALSE");';
}


?>



À insèrer dans vos pages le plus haut possible :
CODE
<?
setcookie("is_logued");
setcookie("member_name");

$is_logued = $_COOKIE[is_logued];
$member_name = $_COOKIE[member_name];
?>



À insèrer juste en dessous de votre balise BODY (Sur tout le site) :
CODE
<script type="text/javascript" src="http://forum.mansite.net/is_login.php"></script>



À mettre où vous voulez et à modifier comme vous voulez :
CODE
<?

if ($is_logued == "TRUE") {

echo ' Bonjour ' . $member_name . ' ! ';

}
elseif ($is_logued == "FALSE")
{

echo "<script language='JavaScript' type=\"text/javascript\">";
echo "<!--";
echo "function ValidateForm() {";
echo " var Check = 0;";
echo " if (document.LOGIN.UserName.value == '') { Check = 1; }";
echo " if (document.LOGIN.PassWord.value == '') { Check = 1; }";
echo " if (Check == 1) {";
echo "  alert(\"Merci de saisir vos nom et mot de passe avant de continuer.\");";
echo "  return false;";
echo " } else {";
echo "  document.LOGIN.submit.disabled = true;";
echo "  return true;";
echo " }";
echo "}";
echo "//-->";
echo "</script>";

echo "<form action=\"http://forum.mansite.net/index.php?act=Login&amp;CODE=01\"
 method=\"post\"
 name=\"LOGIN\"
 onsubmit='return ValidateForm()'>";
echo "<input type=\"hidden\" name=\"referer\" value=\"http://" . $_SERVER[HTTP_HOST] . "" . $_SERVER[REQUEST_URI] . "\">";
echo "<input type=\"hidden\" name=\"CookieDate\" value=\"1\">";
echo "<input type=\"hidden\" name=\"Privacy\" value=\"0\">";

echo "Pseudo : <input name=\"UserName\" type=\"text\" size=\"15\">";

echo " &nbsp; Passe : <input name=\"PassWord\" type=\"password\" size=\"15\">";

echo " &nbsp; <input type=\"submit\" name=\"submit\" value=\"Se loguer\">";

echo "</form>";
}
else
{

echo ' Erreure lors du chargement du cookie ';

}

?>


Ce script possède une page de décalage. Donc, vous devez actualiser la page 1 fois après l'avoir charger pour prendre effet... Ceci est gênant, mais c'est le seul moyen que j'ai trouver pour pouvoir savoir si quelqu'un est en ligne au forum ou non sur un autre hébergeur.

Il est aussi préférable de mettre un mod qui fait retourner vers la page précédente lors du login/déloguin

N'oublier pas de modifier le chemin vers les classes de IPBSDK...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.