Identifiant aléatoire?????

Identifiant aléatoire????? - PHP - Programmation

Marsh Posté le 01-10-2002 à 16:39:35    

Ben voila...
 
A koi sert il de créer un identifiant aléatoire sur ce script d'identification et de redirection ............?????

 
 
 
----------------------------------------------------------------------------------------------
 
 
 
 
 
 
<?
require("protec/passe/conf.php3" );
 
$db_link = mysql_connect(............,...........,............);
 
 
$requete=mysql_db_query(...........,"select * from membre where pseudo=\"$pseudo\" and passe=\"$passe\"",$db_link);
if(mysql_num_rows($requete)==0)
 {
 header("Location:$url_erreur" );exit;
 }
else
$destination=mysql_result($requete,$i,"destination" );
 {
 $taille = 20;
 $lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
 srand(time());
 for ($i=0;$i<$taille;$i++)
  {
  $id.=substr($lettres,(rand()%(strlen($lettres))),1);
  }
   
 $requete=mysql_db_query(genobacces,"update membre set id=\"$id\" where pseudo=\"$pseudo\" and passe=\"$passe\"",$db_link);
 
 header("Location:$destination?id=$id" );
 }

mysql_close($db_link);
?>


Message édité par chrono le 01-10-2002 à 16:48:12
Reply

Marsh Posté le 01-10-2002 à 16:39:35   

Reply

Marsh Posté le 01-10-2002 à 17:00:31    

Euh ... vous savez pas???

Reply

Marsh Posté le 01-10-2002 à 17:17:32    

chrono a écrit a écrit :

Euh ... vous savez pas???



quelques petits trucs :
1) on est pas constemment sur le net
2) quand on est sur le net, on est pas toujours sur ce site
3) quand on passe, on préfaire parfois réfléchir à un problème avant de répondre n'importe quoi
4) c'est pas par ce qu'on passe sur le site qu'on lira obligatoirement ton post dès notre arrivé
5) soit plus patient.
6) ma réponse : à première vue ca sert à éviter les problèmes de rafraichissement d'une page web tout en ayant un moyen de reconaitre le visiteur et ce sans passer par une simple incrémentation (moins sécurisé mais là avec le système de ton script, 2 user peuvent ce retrouver avec le même id (peut problème vu le nombre de caractères mais le risque est réel).
Là on va pas pouvoir t'en dire plus qu'on a pas le code des pages suivantes.

Reply

Marsh Posté le 01-10-2002 à 17:23:53    

Merci tu as surement raison..
Tu veux dire qu'il est donc possible de modifier le script en supprimant cette création d'id aléatoire et le remplacer par la date et l'heure? (par exemple)
 
 
PS : le 'vous savez pas' CT juste pour remettre mon post en haut..... mais je marquerai autre chose la prochaine fois ;-)
 
En tout cas merci pour ta rapidité..


Message édité par chrono le 01-10-2002 à 17:25:57
Reply

Marsh Posté le 01-10-2002 à 17:37:48    

PS : C'est un script d'autentification et de redirection..
 
qui redirige les utilisateurs sur la page ki leur est dédiée..
 
et où chaque user à sa page selon son login et mdp..

 
 
Mais pourquoi cette partie du code?? :
 
$destination=mysql_result($requete,$i,"destination" );  
 
 
(Dans la table "membre" sur phpmyadmin, j'ai le champs "destination" qui permet de rediriger le visiteur suivant l'adresse indiqué dans ce champs.. correspondant à son login + mdp)


Message édité par chrono le 01-10-2002 à 17:40:31
Reply

Marsh Posté le 01-10-2002 à 17:47:50    

Voici le script qui génère la page de destination 1 (liée à un user)
 
 
<?
require("protec/passe/conf.php3" );
$db_link = mysql_connect(........,.....,.............);
 
// SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
$requete=mysql_db_query(..........,"select * from membre where id=\"$id\"",$db_link);
 
// SI L'ID N'EXISTE PAS
if(mysql_num_rows($requete)==0)
 {
 header("Location:$url_erreur" );
 }
 
?>
<html>
<head>
<title>Destination 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body bgcolor="#FFFFFF">
<table width="80%" border="0" cellspacing="0" cellpadding="0" height="370" align="center">
  <tr align="center">  
    <td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="6">DESTINATION  
      1 </font></b></td>
  </tr>
</table>
</body>
</html>
 
 
 
 
Je crois avoir compris l'utilité de l'id aléatoire..
mais donc... on peux pas le remplacer par le login et MDP???


Message édité par chrono le 01-10-2002 à 17:55:18
Reply

Marsh Posté le 01-10-2002 à 18:13:40    

Pkoi ca marche pas si je modifi ainsi le dernier script ke je vous est montré...?????
 
 
 
<?
require("protec/passe/conf.php3" );
$db_link = mysql_connect(.....,..........,..........);
 
// SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
$requete=mysql_db_query(...........,"select * from membre where pseudo=\"$pseudo\" and passe=\"$passe\"",$db_link);
 
// SI L'ID N'EXISTE PAS
if(mysql_num_rows($requete)==0)
 {
 header("Location:$url_erreur" );
 }
 
?>
 
 
 
Du moins, comment faut il que je modifi le premier script (login) pour que ca marche? svp.. C cho j'trouv pas


Message édité par chrono le 01-10-2002 à 18:19:16
Reply

Marsh Posté le 01-10-2002 à 19:09:31    

j'arrive pas à trouver que faut il modifier dans ce script...
 
 
 
<?
require("protec/passe/conf.php3" );
 
$db_link = mysql_connect(.......,.........,..........);
 
$requete=mysql_db_query(.........,"select * from membre where pseudo=\"$pseudo\" and passe=\"$passe\"",$db_link);
 
if(mysql_num_rows($requete)==0)
 {
 header("Location:$url_erreur" );exit;
 }
else
$destination=mysql_db_query(genobacces,"select destination from membre where pseudo=\"$pseudo\" and passe=\"$passe\"",$db_link);
 
 header("Location:$destination?pseudo=\"$pseudo\" and passe=\"$passe\" );
 }  
 
mysql_close($db_link);
?>


Message édité par chrono le 01-10-2002 à 20:49:49
Reply

Marsh Posté le 01-10-2002 à 19:28:20    

Je regardes ça tout à l'heure.

Reply

Marsh Posté le 01-10-2002 à 19:34:34    

Et bien je te remerci car je t'avoue que ce commence serieusement à me saouler..
 
Ca ne date pas d'hier que je planche dessus...
 
J'ai modifié certaines choses depuis tout à l'heure mais ce ne marche toujours pas..
Il va falloir ke je me decide à prendre un éditeur, si ce se trouve j'ai des erreurs à 2 francs..

Reply

Marsh Posté le 01-10-2002 à 19:34:34   

Reply

Marsh Posté le 01-10-2002 à 21:44:56    

j'ai toujours pas trouvé, je vais me mettre à boire...

Reply

Marsh Posté le 01-10-2002 à 22:30:41    

Au fait, c'est quoi que t'essayes de faire là?

Reply

Marsh Posté le 01-10-2002 à 22:34:42    

une identification par login + MDP par formulaire qui recherche sur une BDD dans la table "membre" le login, le MDP et le lien vers la page de redirection correspondant à l'utilisateur qui s'identifie.

Reply

Marsh Posté le 01-10-2002 à 22:39:15    

chrono a écrit a écrit :

une identification par login + MDP par formulaire qui recherche sur une BDD dans la table "membre" le login, le MDP et le lien vers la page de redirection correspondant à l'utilisateur qui s'identifie.



Ben là, ta redirection marche pas pour uhne rraison toute simple.
Tu lui dit de faire une redirection si aucune donné n'est retourné par la bdd (bref, si t'as pas trouvé l'utilisateur) mais tu lui dit pas quoi faire s'il a trouvé une valeur.
 
<?
require("protec/passe/conf.php3" );
$db_link = mysql_connect(.....,..........,..........);
 
// SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
$requete=mysql_db_query(...........,"select * from membre where pseudo=\"$pseudo\" and passe=\"$passe\"",$db_link);
 
// SI L'ID N'EXISTE PAS
if(mysql_num_rows($requete)==0)
{
header("Location:$url_erreur" );
}else
{
header("Location:$url_bonne" );
}
 
?>
Marchera mieux (je te laisses le soin de mettre dans $url_bonne celle qu'est retourné par la bdd. ;)

Reply

Marsh Posté le 01-10-2002 à 22:53:21    

et je met quoi dans le header? Ce n'est surement pas une requete du style : select destination from membre

Reply

Marsh Posté le 01-10-2002 à 23:13:33    

chrono a écrit a écrit :

et je met quoi dans le header? Ce n'est surement pas une requete du style : select destination from membre




// SI L'ID N'EXISTE PAS
if(mysql_num_rows($requete)==0)
{
header("Location:$url_erreur" );
}else
{
$arr=mysql_fetch_array($requete,MYSQL_ASSOC);
$url_bonne=$arr["lien"];
header("Location:$url_bonne" );
}  
 
Il faut que tu remplaces lien par le nom du champ dans la base de donnée (attention à la casse).
 
mysql_fetch_array lit la ligne de résultat sql suivante et la transforme en un tableau. Comme on en a pas encore lit, il prends la première.
$requete contient en fait des listes de données corespondants aux résultat de la requêtes sql mais on est obligé d'utiliser des fonctions pour les utiliser.

Reply

Marsh Posté le 01-10-2002 à 23:31:56    

ca marche.. et bien en +
merci bcp :bounce:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:

Reply

Marsh Posté le 01-10-2002 à 23:32:48    

chrono a écrit a écrit :

ca marche.. et bien en +
merci bcp :bounce:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  



De rien, le tout, c'est que maintenant, tu comprenne comment ca fonctionne et que tu sache réutiliser tout ça pour faire autre chôse.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed