8791 sujets
imaginons qu'il y ait 2 utilisateurs qui doivent être rédirigé vers leur home page respectives et tous les autres vers home.php
1 - michel dont la page d'accueil est michel.php
2 - roger dont la page d'accueil est roger.php
Modifié par PeterPetrelli (25 Jun 2007 - 13:21)
1 - michel dont la page d'accueil est michel.php
2 - roger dont la page d'accueil est roger.php
$user = $_SERVER['PHP_AUTH_USER'];
$path = 'http://www.mondomaine.tld/mondossier/';
switch($user) {
case 'michel':
$redir = 'michel.php';
break;
case 'roger':
$redir = 'roger.php';
break;
default:
$redir = 'home.php';
break;
}
header('Location: '.$path.$redir);
Modifié par PeterPetrelli (25 Jun 2007 - 13:21)
Merci pour cette réponse ultra rapide mais... dernière chose (excuse ma profonde nullité stp)...
Ou dois je coller (puis adapter) ton code ? (dans .htaccess, htpasswd, autre ?)
Que doit contenir "mondossier" ? :
$path = 'http://www.mondomaine.tld/mondossier/';
Merci encore infiniment pour tes éclaircissements.
Modifié par Mandes (25 Jun 2007 - 13:32)
Ou dois je coller (puis adapter) ton code ? (dans .htaccess, htpasswd, autre ?)
Que doit contenir "mondossier" ? :
$path = 'http://www.mondomaine.tld/mondossier/';
Merci encore infiniment pour tes éclaircissements.

Modifié par Mandes (25 Jun 2007 - 13:32)
Pourriez vous me dire ce qui ne va pas svp ? Merci de votre aide.
Voilà ce que j'ai fait :
Ci-après 2 liens pointant vers la zone protégée par mot de passe :
----------------------------------------
Là le contenu d'.htaccess :
----------------------------------------
Et voilà le fichier que j'ai appellé code.php et que j'ai placé dans
le dossier "Clients"
----------------------------------------
htpasswd :
Voilà ce que j'ai fait :
Ci-après 2 liens pointant vers la zone protégée par mot de passe :
<A HREF="/clients/Mandes/mandes.html">Lien 1</A>
<A HREF="/clients/Zucchero/zucchero.html">Lien 2</A>
----------------------------------------
Là le contenu d'.htaccess :
AuthUserFile /home/ju51163/clients/.htpasswd
ErrorDocument 401 /zone_interdite.html
AuthName "Page protégée"
AuthType Basic
<limit GET POST>
require valid-user
</Limit>
----------------------------------------
Et voilà le fichier que j'ai appellé code.php et que j'ai placé dans
le dossier "Clients"
$user = $_SERVER['PHP_AUTH_USER'];
$path = 'http://www.monsite.fr/clients/';
switch($user) {
case 'Mandes':
$redir = '/Mandes/mandes.html';
break;
case 'Zucchero':
$redir = '/Zucchero/zucchero.html';
break;
default:
$redir = 'index.html';
break;
}
header('Location: '.$path.$redir);
----------------------------------------
htpasswd :
Mandes:qkROTMyN71myI
Zucchero:zefdrh24N71myI
Merci pour ce suivi PeterPetrelli.
Donc je fais :
Et je laisse les autres fichiers tel quel. Bien...
J'ai un peu de mal à comprendre comment code.php fait pour comprendre que .htpasswd est valide ou non mais j'essaye ce soir et vous tiens au courant. Merci infiniment surtout !
Donc je fais :
<A HREF="/clients/code.php">Lien 1</A>
<A HREF="/clients/code.php">Lien 2</A>
Et je laisse les autres fichiers tel quel. Bien...
J'ai un peu de mal à comprendre comment code.php fait pour comprendre que .htpasswd est valide ou non mais j'essaye ce soir et vous tiens au courant. Merci infiniment surtout !
Bonjour,
Alors voilà... J'y suis presque ! Mais avec le code ci-dessous le prb est que si je tape un mot de passe valide (soit Mandes, soit Zucchero) je suis renvoyé vers index.html ?!!
(par contre un mot de passe invalide renvoi vers la page d'erreur, donc ça c'est ok)
Si vous avez une idée... Merci encore !
Lien pointant vers page protégée :
----------------------------------------
Là le contenu d'.htaccess :
----------------------------------------
Et voilà le fichier que j'ai appellé code.php et que j'ai placé dans
le dossier "clients"
----------------------------------------
Modifié par Mandes (27 Jun 2007 - 14:22)
Alors voilà... J'y suis presque ! Mais avec le code ci-dessous le prb est que si je tape un mot de passe valide (soit Mandes, soit Zucchero) je suis renvoyé vers index.html ?!!
(par contre un mot de passe invalide renvoi vers la page d'erreur, donc ça c'est ok)
Si vous avez une idée... Merci encore !
Lien pointant vers page protégée :
<A HREF="/clients/01.pdf">Lien 1</A>
<A HREF="/clients/02.pdf">Lien 2</A>
----------------------------------------
Là le contenu d'.htaccess :
AuthUserFile /home/ju51163/clients/.htpasswd
ErrorDocument 401 /zone_interdite.html
AuthName "Page protégée"
AuthType Basic
<limit GET POST>
require valid-user
</Limit>
----------------------------------------
Et voilà le fichier que j'ai appellé code.php et que j'ai placé dans
le dossier "clients"
<?php
$user = $_SERVER['PHP_AUTH_USER'];
$path = 'http://www.monsite.fr/';
switch($user) {
case 'Mandes':
$redir = 'clients/01.pdf';
break;
case 'Zucchero':
$redir = 'clients/02.pdf';
break;
default:
$redir = 'clients/index.html';
break;
}
header('Location: '.$path.$redir);
?>
----------------------------------------
Mandes:qkROTMyN71myI
Zucchero:zefdrh24N71myI
Modifié par Mandes (27 Jun 2007 - 14:22)
une fois de plus dans ton code tu n'appel pas le fichier censer gérer les redirections ....
ca devrait etre :
et biensur que code.php , 01.pdf et 02.pdf soient placé dans le dossier /clients
mais en toute logique tu ne devrais avoir qu'un seul lien vu que c'est l'authentification qui détermine la redirection
ensuite tu as ton .htaccess placé à la racine de /clients
et ton code.php qui ce charge de rediriger vers le bon fichier en fonction du user.
ca devrait etre :
<a href="/clients/code.php">Lien 1</a>
<a href="/clients/code.php">Lien 2</a>
et biensur que code.php , 01.pdf et 02.pdf soient placé dans le dossier /clients
mais en toute logique tu ne devrais avoir qu'un seul lien vu que c'est l'authentification qui détermine la redirection
<a href="/clients/code.php">Lien</a>
ensuite tu as ton .htaccess placé à la racine de /clients
et ton code.php qui ce charge de rediriger vers le bon fichier en fonction du user.
Bonjour et merci pour ta réponse PeterPetrelli.
En fait, j'avais bien mis le lien pointant vers code.php comme suit :
Et tout est correctement placé comme indiqué dans ton post (tous les fichiers sont dans le dossier "clients" sauf évidemment la page qui contient le code ci-dessus)
.htaccess :
.htpasswd :
code.php :
Mais toujours le même problème, c'est fou :
Mot de passe correct : redirection vers erreur.html (default) ?!!!
Mot de passe incorrect : retour sur htaccess (ça c'est bon)
Impossible donc d'accéder à 01.html et 02.html Ca c'est dingue...
Comprends tu ce qui se passe stp ? Merci d'avance et bonne journée.
Modifié par Mandes (28 Jun 2007 - 09:04)
En fait, j'avais bien mis le lien pointant vers code.php comme suit :
<A HREF="/clients/code.php">Lien1</A>
<A HREF="/clients/code.php">Lien2</A>
Et tout est correctement placé comme indiqué dans ton post (tous les fichiers sont dans le dossier "clients" sauf évidemment la page qui contient le code ci-dessus)
.htaccess :
AuthUserFile /home/ju52263/clients/.htpasswd
ErrorDocument 401 /zone_interdite.html
AuthName "Page protégée"
AuthType Basic
<limit GET POST>
require valid-user
</Limit>
.htpasswd :
Mandes:wOxet7FaM.XVI
Zucchero:hMjH5d3OqwyvE
code.php :
<?php
$user = $_SERVER['PHP_AUTH_USER'];
$path = 'http://www.monsite.fr/clients/';
switch($user) {
case 'Mandes':
$redir = '01.html';
break;
case 'Zucchero':
$redir = '02.html';
break;
default:
$redir = 'erreur.html';
break;
}
header('Location: '.$path.$redir);
?>
Mais toujours le même problème, c'est fou :

Mot de passe correct : redirection vers erreur.html (default) ?!!!
Mot de passe incorrect : retour sur htaccess (ça c'est bon)
Impossible donc d'accéder à 01.html et 02.html Ca c'est dingue...
Comprends tu ce qui se passe stp ? Merci d'avance et bonne journée.

Modifié par Mandes (28 Jun 2007 - 09:04)
Ton htaccess doit etre placé dans /clients
l'arborescence doit etre comme ca en suppossant que le dossier www est la racine de ton site
/www/index.php ( le fichier qui contient les liens )
/www/clients/.htaccess
/www/clients/code.php
/www/clients/01.tml
/www/clients/02.tml
les liens de index.php pointent donc vers clients/code.php
l'arborescence doit etre comme ca en suppossant que le dossier www est la racine de ton site
/www/index.php ( le fichier qui contient les liens )
/www/clients/.htaccess
/www/clients/code.php
/www/clients/01.tml
/www/clients/02.tml
les liens de index.php pointent donc vers clients/code.php
Merci pour cette réponse. Tous les fichiers cités par tes soins sont placés comme tu l'a indiqué et j'ajoute que le fichier .htpasswd est aussi dans le dossier "clients". C'est fou...
.htaccess demande bien les mots de passe et dès qu'il a les bons, il redirige vers erreur.html...
Modifié par Mandes (28 Jun 2007 - 09:32)

.htaccess demande bien les mots de passe et dès qu'il a les bons, il redirige vers erreur.html...
Modifié par Mandes (28 Jun 2007 - 09:32)
place le bout de code en haut de code.php ( apres le <?php )
et pour le serveur ce qu'il faut savoir c'est si php est installé en tant que module d'apache ou en cgi .
car en cgi on à pas accès a ces variables ...
normalement apres t'etre identifé tu devrais voir le nom du suer apparaitre s'il n'apparait pas ya un soucis dans la config quelque part .
Modifié par PeterPetrelli (28 Jun 2007 - 16:59)
et pour le serveur ce qu'il faut savoir c'est si php est installé en tant que module d'apache ou en cgi .
car en cgi on à pas accès a ces variables ...
normalement apres t'etre identifé tu devrais voir le nom du suer apparaitre s'il n'apparait pas ya un soucis dans la config quelque part .
Modifié par PeterPetrelli (28 Jun 2007 - 16:59)