ok et ben l'auteur du fil va répondre ;-).
bon déja on va faire un peu l'arborescence du FTP :
Faut un minimun de connaissance en PHP pour faire ça.
./smf/ //le dossier de smf
index.php //ton fichier index
Par compte si tu utilises un systeme de templates c'est méga compliqué, j'y suis arrivé mais faut vraiment bidouiller !
Donc je pars du principes que tu ne prends pas un systeme de template.
dans ton fichier index.php
tu mets tout en haut :
<?php include ('./smf/SSI.php'); ?>
(ou mieu, tu vas avec ton navigateur sur le fichier ./smf/ssi_examples.php et normalement, comme tu es admin, il te donne le chemin relatif parfait)
on va faire une déclaration d'une variable, l'url a renvoyé une fois connecté.
$urldetonsite = '
http://tonsite.fr' //
SANS LE SLASH !!!!!!!!$fichieractuel = $_SERVER['PHP_SELF'];
//on protège la variable contre nos amis les hackers ;-).
$fichiercorrect = mysql_real_escape_string(htmlentities($fichieractuel));
$urlcomplete = $urldetonsite . $fichiercorrect;
voila notre variable qui contient l'url du fichier a renvoyée et terminé.
maintenant, on a inclut le fichier ssi.php, mais on s'en est pas encore servit. C'est maintenant !
Tout d'abord, on va voir si l'utilisateur n'est pas connecté, pour ça on vérifie si la variable $context['user']['is_logged'] retourne true ou false.
Si c'est true, la personne est connectée et on lui propose de se déconnecter, et on lui indique un message d'accueil.
Si c'est fale, la personne n'est pas connectée et donc on lui propose de se connecter.
code :
<?php
$variableget = 'redirige';
$varcomplete = $variableget .'='.$urlcomplete; //on verra + loin.
if ($context['user']['is_logged']) // racourci pour : if ($context['user']['is_logged'] = true) si l'utilisateur EST connecté.
{
ssi_welcome(); //affiche Salut Pseudo vous avez 5555555messages, 0 sont nouveaux.
ssi_logout($redirect_to = '$varcomplete', $output_method = 'echo') //deconnexion.
}
else
{
ssi_login($redirect_to = $varcomplete, $output_method = 'echo') //Connexion.
}
?>
Voila le code de l'index.php a la racine est
FINIun récapitulatif du code complet :
<?php include('./smf/SSI.php');
$urldetonsite = 'http://tonsite.fr' // SANS LE SLASH à la FIN.
$fichieractuel = $_SERVER['PHP_SELF'];
//on protège la variable contre nos amis les hackers ;-).
$fichiercorrect = mysql_real_escape_string(htmlentities($fichieractuel));
$urlcomplete = $urldetonsite . $fichiercorrect;
$variableget = 'redirigevers';
$varcomplete = $variableget .'='.$urlcomplete; //on verra + loin.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title> BIENVENUE SUR MON SITE </title>
</head>
<body>
<h1> BIENVENUE SUR MON SITE : ESPACE MEMBRE </h1>
<p>
<?php
if ($context['user']['is_logged']) // racourci pour : if ($context['user']['is_logged'] = true) si l'utilisateur EST connecté.
{
ssi_welcome(); //affiche Salut Pseudo vous avez 5555555messages, 0 sont nouveaux.
ssi_logout($redirect_to = '$varcomplete', $output_method = 'echo') //deconnexion.
}
else
{
ssi_login($redirect_to = $varcomplete, $output_method = 'echo') //Connexion.
}
?>
</p>
</body>
</html>
c'était dur ? j'espere pas ^^
ensuite on ouvre le fichier index.php dans le dossier ./smf/à la ligne 319 (version 1.1.2).
vous rajoutez ce bout de code :
if(isset($_GET['redirigevers']))
{
// on reprotege nos variables, contre les hackers
$urlsecurise = mysql_real_espace_string(htmlentites($_GET['redirigevers']));
header(
"Location: $urlsecurise "); // et redirection !!!!
exit();
}
A QUOI SERT redirigevers FINALEMENT ?bah enfaite, SMF redirige sur son index.php aprés la connexion, et il rajoute la variable qu'on lui a demandé dans ssi_login();
(vous vous souvenez ? redirect_to = lol ^^
Et donc enfaite, vous vous connectez, et sur votre site vous avez l'url
tonsite.fr/smf/index.php?redirigevers=lurlouondoitetreredirige
Il ne reste plus qu'a dire a SMF :
Si il y a une variable de type GET avec le nom redirigevers fait :
une redirection vers la donnée quel contient.
voila !
vous avez des questions?
36 17 Incognito ;-)