Redirection en fonction d'un login

archinico Messages postés 3 Date d'inscription dimanche 25 avril 2004 Statut Membre Dernière intervention 7 janvier 2007 - 5 janv. 2007 à 21:13
archinico Messages postés 3 Date d'inscription dimanche 25 avril 2004 Statut Membre Dernière intervention 7 janvier 2007 - 7 janv. 2007 à 12:45
Bonjour,

j'usqu'il y a peu, j'utilisais ce code pour rediriger des utilisateurs vers une page qui leur est propre.

(Jean avais accès à la page jean.htm, pierre à la page pierre.htm, ...)

Voici le code (trouvé il y a quelques années sur le web, "identpass 1.1") :





<?
$option=implode($argv,"");
if ($option == "")
{
 echo "Veuillez d'abord vous identifier
";
 echo "<FORM name='entre' ACTION='loggin.php3?verif' METHOD=POST>";
 echo "Votre Login  :

";
 echo "Mot de passe :

";
 echo "";
 echo "</FORM>";
}



elseif ($option == "verif")
{
 $tbnm= array();
 $tbps= array();
 $tbpg= array();
 /// Entrez, suivant les modeles ci-dessous, les noms, mots de passe, et page de redirection
 /// des membres...
 $tbnm[0] = "jean";
 $tbps[0] = "12345";
 $tbpg[0] = "pagejean.htm";
 $tbnm[1] = "pierre";
 $tbps[1] = "98765";
 $tbpg[1] = "pagepierre.htm";
 $tbnm[2] = "nicolas";
 $tbps[2] = "22222";
 $tbpg[2] = "pagenicolas.htm"; 
 $szn= sizeof( $tbnm );
 $szp= sizeof( $tbps );
 $szg= sizeof( $tbpg );
 if ($szn != $szp || $szn != $szg || $szg != $szp)
 {
  echo "Erreur dans le fichier source...Veuillez contacter le WebMaster";
  echo "<SCRIPT LANGUAGE='JavaScript'>";
  echo "window.setTimeout('window.location = "loggin.php3?faux"', 2000)";
  echo "</SCRIPT>";
   exit;
 }
 for($i=0; $i < $szn; $i++ )
 {  if ($nom $tbnm[$i] && $pass $tbps[$i])
  {
   echo "<SCRIPT LANGUAGE='JavaScript'>";
   echo "window.location = '$tbpg[$i]'";
   echo "</SCRIPT>";
   exit;
  }
 }
   echo "<SCRIPT LANGUAGE='JavaScript'>window.setTimeout('window.location = "loggin.php3?faux"', 1)";
   echo "</SCRIPT>";
}
elseif ($option == "faux")
{
   echo "<CENTER>Login et/ou mot de passe &eacute;rron&eacute;, veuillez r&eacute;essayer ou vous inscrire aupr&egrave;s du Webmaster. Cliquez sur doc. online pour reloader la page</CENTER>";
   exit;
}
?>

Cela fonctionnait très bien, mais depuis peu, j'ai ce message d'erreur sur la page loggin.php3
Warning: implode(): Bad arguments. in /home/aplussa/public_html/loggin.php3 on line 72

Je suis nul en php, impossible de trouver le problème... peut-etre suite au passage à php6...?
La ligne 72, c'est la 1ère ligne du code cité.

Quelqu'un peut-il m'éclairer ou mieux, me proposer un autre système d'identification et de redirection aussi simple (je n'ai rien trouvé de tel, ni sur ce site, ni ailleurs)?
Je n'utilise pas de session, pas de sql, pas de .htacces, et les pages ne sont pas sécurisées, il suffit de connaître les adresses de chaque page pour y accéder.

Je veux juste rediriger chaque utilisateur vers une page personnelle en fonction de son login
(plusieurs logins peuvent parfois renvoyer sur une même page, mais c'est rare)

Je serais même preneur d'un autre code avec juste login (sans mot de passe (inutile de toute façon) et redirection, quitte à faire 1 page avec le formulaire en html et une page en php pour les redirections.

Merci pour votre aide,
Nicolas

Ah oui, j'allais oublier : Meilleurs voeux à tous

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 janv. 2007 à 11:59
Hello,

à priori :
$option=implode($argv,"");
c'est inversé.
On passe une chaîne et un tableau, pas l'inverse.
donc :
$option=implode('', $argv);
0
archinico Messages postés 3 Date d'inscription dimanche 25 avril 2004 Statut Membre Dernière intervention 7 janvier 2007
6 janv. 2007 à 19:31
Bonjour,

Bien vu, mais ça ne fonctionne pas...
toujours le même message d'erreur...
Warning: implode(): Bad arguments. in /home/aplussa/public_html/loggin.php3 on line 72

Ce qui est étrange, c'est que ce bout de code a fonctionné pendant plus d'un an, sans le moindre problème, puis, sans aucune modification de ma part, ça ne marche plus...

Mon hébergeur doit avoir mis à jour le php des serveurs, je ênse que le problème vient de là, mais aucune réponse valable ne m'a été donnée...
Je compte d'ailleurs changer d'hébergeur, mais c'est un autre problème...

Merci pour votre aide,
je reste en attente d'une solution...

Nicolas
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 janv. 2007 à 11:22
il faut que tu montres comment est créé ton tableau $argv.
0
archinico Messages postés 3 Date d'inscription dimanche 25 avril 2004 Statut Membre Dernière intervention 7 janvier 2007
7 janv. 2007 à 12:45
Bonjour,

Je ne suis pas certain de comprendre la question... en fait, quand je crée un nouvel utilisateur, je modifie (manuellement) le code php de ma page loggin.php3

par exemple, si je veux ajouter l'utilisateur Raymond,
la partie du code
 $tbnm[0] = "jean";
 $tbps[0] = "12345";
 $tbpg[0] = "pagejean.htm";
 $tbnm[1] = "pierre";
 $tbps[1] = "98765";
 $tbpg[1] = "pagepierre.htm";
 $tbnm[2] = "nicolas";
 $tbps[2] = "22222";
 $tbpg[2] = "pagenicolas.htm"; 

est modifié par mes soins et devient :
 $tbnm[0] = "jean";
 $tbps[0] = "12345";
 $tbpg[0] = "pagejean.htm";
 $tbnm[1] = "pierre";
 $tbps[1] = "98765";
 $tbpg[1] = "pagepierre.htm";
 $tbnm[2] = "nicolas";
 $tbps[2] = "22222";
 $tbpg[2] = "pagenicolas.htm"; 
 $tbnm[3] = "raymond";
 $tbps[3] = "112233";
 $tbpg[3] = "pageraymond.htm"; 

De même, je crée moi même la page html "pageraymond.htm", comme une page html classique.

Actuellement, j'ai 26 utilisateurs, je les ai ajouté au fur et à mesure de l'évolution du site.

Merci pour votre aide (et votre patience),
Nicolas
0
Rejoignez-nous