begin process at 2012 05 29 02:08:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Construire un tableau associatif avec un fichier externe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Construire un tableau associatif avec un fichier externe

jeudi 3 avril 2008 à 19:02:47 | Construire un tableau associatif avec un fichier externe

phsautreau

Bonsoir,

Voilaà j'ai un fichier texte externe nommé identif_ens.txt et contenant les login et mots de passe permettant de se logguer à une page, ce fichier a la forme :

azerty;123456
toto;titi25

Par ailleurs pour tester la validité du login j'ai développé un script qui teste si le champs login de mon formulaire d'accès et le champs pass sont correct. Pour cela j'envisage de lire à l'ntrée dans le script le fichier identif_ens.txt, de construire un tableau associatif $tab et ensuite d'effectuer un test tel que :

si (strcmp($tab[$login], $pass) ==0) alors l'accès est possible

Voici le code entier :

$tab = array ();
// lecture du fichier contenat les identifications et construction du tableau interne
$fic = fopen("identif_ens.txt","r");
do{
    $ligne = fgets($fic, 4096);
    $element = explode (";",$ligne);

    $id = $element[0]; echo $id."=".$element[0];
    $p = $element[1]; echo $p."=".$element[1]."<br>";
    $tab["$id"] = $p;       // Mon problème réside sur cette ligne voir plus bas
    echo $tab["$id"]." = ".$p."<br>";
}while(!feof($fic));
?>
<html>
    <head>
        <title> Identification enseignant </title>
    </head>
    <body>
        <?
        if(empty($pass)){
            echo "<font color='#ff0000'><p> Vous devez entrer un mot de passe ! </p></font>";
        }else{
            if(strcmp($tab[$login],$pass) == 0){
                echo "<p> login et password correct </p>";
                session_start();
                echo "<a href='creer.php'>Créer un QCM</a>";               
            }else{
                echo "<p> login et password incorrect </p>";
            }
        }
        ?>
    </body>
</html>

La ligne que j'ai commenté en rouge : refuse de me construire l'élément de tableau associatif.
La ligne echo implanté en dessous pour vérification de l'implémentation me retourne même : ph51cn08 = ph51cn08 c'est à dire deux fois $p de passé en paramètre.

Dès lors comment puis-je faire pour que cette boucle me génère une association valide ?

Merci de votre aide.

Ph. Sautreau
jeudi 3 avril 2008 à 23:42:01 | Re : Construire un tableau associatif avec un fichier externe

coucou747

Administrateur CodeS-SourceS
salut
pour recuperer ton tableau, tu peux faire beaucoup plus simple :

$tab_1d = file('identif_ens.txt');
$tab_2d=array();

foreach ($tab_1d as $l=>$u){
$e=explode(';', $u);
$tab_2d[$e[0]]=str_replace("\n", '', $e[1]);
}

un print_r($tab_2d) te permet de verifier le contenu du tableau.
/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
vendredi 4 avril 2008 à 16:02:08 | Re : Construire un tableau associatif avec un fichier externe

phsautreau

Bonjour,

Et merci pour votre solution, toutefois si le tableau se construit bien, il n'en reste pas moins que lorsque je rentre un login et un mot de passe corrects (par exemple azerty et 123456) cf. plus haut mon script me retourne :

login et password incorrect

Y aurai-t-il une mauvaise interprétation de strcmp($tab[$login], $pass) == 0?

Merci pour votre aide.

Ph. Sautreau
vendredi 4 avril 2008 à 18:59:37 | Re : Construire un tableau associatif avec un fichier externe

malalam

Administrateur CodeS-SourceS
Hello,

tu as utilisé le code de Coucou ? Parce qu'il fait un truc que tu oublies, il vire le retour chariot de fin de ligne.
Ensuite, pourquoi utiliser strcmp() quand une simple comparaison suffit (!==) ?
vendredi 4 avril 2008 à 23:31:24 | Re : Construire un tableau associatif avec un fichier externe

phsautreau

Bonsoir,

Pour répondre à ta question, j'ai bien utilisé le code de coucou747.
Quand à l'utilisation de strcmp plutôt que !==, cela viens d'une habitude qu'un de mes profs d'info m'avait donné il y a une dizaine d'année et qui était : quand on traite des chaînes de caractères on utilise des fonctions chaîne de caractères.


Ph. Sautreau
vendredi 4 avril 2008 à 23:47:38 | Re : Construire un tableau associatif avec un fichier externe

malalam

Administrateur CodeS-SourceS
Alors il n'y a aucune raison que ça ne marche pas.
Essaye donc d'afficher tes deux variables entre des délimiteurs (# par exemple), pour voir si aucun caractère n'est venu s'interposer.
Pour strcmp(), il ne faut pas toujours écouter ses vieux profs... "toujours" dans son sens le plus temporel ;-). Les langages évoluent. Et pire, ils n'ont pas tjrs raison.
 

samedi 5 avril 2008 à 00:00:30 | Re : Construire un tableau associatif avec un fichier externe

coucou747

Administrateur CodeS-SourceS
strcmp c'est un truc a utiliser en C,
en perl, c'est eq
en php, c'est == ou ===
en java c'est equals
samedi 5 avril 2008 à 00:10:52 | Re : Construire un tableau associatif avec un fichier externe

malalam

Administrateur CodeS-SourceS
Ben voilà la réponse du pourquoi et du comment :-)
Effectivement, chaque langage est différent.


Cette discussion est classée dans : fichier, login, tableau, tab, echo


Répondre à ce message

Sujets en rapport avec ce message

Tableau dans des variables de session [ par D3tR4k3 ] Voici mon probleme :Je recupere les valeurs d'une ckeck box dans un tableau, et je souhaite mettre ce tableau dans une variable de session.Mais mon c FTP - Accès en UPLOAD & DOWNLOAD [ par NutsGuy ] Voila, je voudrais ouvrir un document provenant d'un FTP et lister son contenu sur un page php. Sur la source fournie, il n'y a que la partie connecti Problème de requete Select puis insert [ par Maiku ] BonjourAlors je vous explique ce que ma page fait et ce que j'essaie de faire puis le problème : - J'ai une base de donnée mysql qui contient 3 tables Galerie avec récupération de l'id, probleme!!!! [ par tenshinan ] Salut à tous!Voila, j'ai fais une galerie d'image que je récupère dans un dossier. Le problème est que je n'arrive pas à récupérer juste le nom du fic fichier texte et tableau [ par Death Angel ] Bonjour, voilà le met le contenu d'un fichier texte de ce stylepommefraisebananeframboisedonc je met le contenu du fichier dans un tableau$tab = file( encodage de flux rss [ par zatt ] Bonjour, Je souhaite utiliser un agrégateur rss sur une page php, qui affiche le titre de l'article, la date du post, la description, et un lien ver probléme avec un .msg [ par herios69 ] j'ai fais un petit script php pour lire un .msg dans le but de récupérer la date d'envoie ou de de réception mais le soucis est que quand j'affiche ça problème interpretation variable et tableau dans fonction [ par BumRush09 ] bonjour,j'ai une fonction php qui selon prend en paramètre une chaine et un entier pour créer un tableau; Ce tableau est rempli en utilisant une varia Algorithme [ par kyript ] Bonjour à vous,je suis actuelleent sur un code qui doit me renvoyer toutes les valeurs possible d'un tableau contenant l'alphabetVoicile code:$tableau Upload d'image et copie dans champ d'un formulaire [ par golant ] Bonsoir,Novice en PHP, je me retrouve actuellement face à un problème liés à l'Upload d'image sur mon serveur et sauvegarde de l'URL dans une bdd. Je


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,248 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales