Récuprèer le nom du poste client

Avatar du membre
Eléphant du PHP | 224 Messages

11 oct. 2016, 02:59

Bonjour :)


Le petit utilitaire que je mets en place permet d'importer via un form un fichier csv afin d'en faire une base de données temporaire (c'est à dire que le prochain envoi de fichier csv fait d'abord un truncate de la table remplie par le précédent).
Lors de la lecture du csv pour remplir la table, je lis le nom du fichier que j’inscris dans une autre table .

Lorsque la table est construite, et que les informations que j'ai à en tirer sont affichées par la page php, j'affiche aussi le nom du fichier enregistré dans l'autre table. Ca permet à l'utilisateur, de savoir si c'est la base de données correspond à son fichier ou si quelqu'un a importé un nouveau fichier depuis .
Le souci, c'est que par défaut, le fichier s'appelle par défaut Rapport_d'alarmes_-_incidents.csv . Ce qui fait que ce n'est pas très parlant si on le renomme pas avant de l'importer.

Il serait alors pratique de pouvoir reconnaitre le poste depuis lequel a été envoyé le fichier csv.

Je voudrais donc envoyer dnas le forum , un input hidden avec le nom du poste client pour l'inscrire dans la table, et quand je vais sur ma page pour consulter les infos, ca puisse comparer le nom du poste client actuel avec celui enregistré dnas la table et si c'est le meme , mettre un pictogramme du genre "Ce PC". L'utilisateur saura alors que c'est bien son fichier puisqu'envoyé depusi son pc.

Je cale sur l'obtention du nom de pc client :(
J'ai tenté un tas de trucs comme des

Code : Tout sélectionner

<?php echo getenv('COMPUTERNAME'); ?>
ou encore

Code : Tout sélectionner

<?php echo gethostname(); ?>

Code : Tout sélectionner

<?php echo php_uname('n');?>
Mais ca me donne le nom du pc serveur et non celui du client :(

Si quelqu'un a une idée :)

Merki
Couin
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

11 oct. 2016, 07:50

Bonjour,
Le souci, c'est que par défaut, le fichier s'appelle par défaut Rapport_d'alarmes_-_incidents.csv . Ce qui fait que ce n'est pas très parlant si on le renomme pas avant de l'importer.
Tu pourrait simplement ajouter la date et heure de l'import + un token avec uniqid() par exemple
Il serait alors pratique de pouvoir reconnaitre le poste depuis lequel a été envoyé le fichier csv.
Ça ce n'est pas possible, la seule info que tu auras est l'adresse IP.
Fait un phpinfo() pour voir toutes les variables que tu peux récupérer dans la super-variable $_SERVER
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

11 oct. 2016, 12:41

salut,

j'ajouterais que c'est pas plus mal ;)

sinon si ton utilisateur est connecté avec son nom c'est déjà pas mal (au pire l'ip et une résolution dns dessus mais je ne sais pas si c'est vraiment pertinent et surtout réalisable que si tu es sur un réseau fermé (sur le net oublie).


@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 1967 Messages

12 oct. 2016, 09:09

Tu peux toujours utiliser une chaine unique en cookies ou en session, et enregistrer cette chaine. une comparaison de cette chaine est alors aisée, mais il y a risque de disparition si le navigateur est fermé ou empêche les cookies
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Avatar du membre
Eléphant du PHP | 224 Messages

27 nov. 2016, 15:57

Plop !!!

Désolé pour ma réponse très tardive , j'ai fais quelques modifs (en fait , maintenant , l'utilisateur se choisis dans une liste déroulante de noms et importe le fichier csv. Le nom choisi ainsi que la date et heure sont enregistrés dans la base de données au moment de l'import.

En fait l'idée n'est pas de hacker ou pister ou quoi que ce soit, mais juste pour que chacun des 4 ou 5 utilisateurs n'aient pas à se choisir dans une liste déroulante de nom d'utilisateur lors de l'importation d'un fichier.csv .

Je pense que les cookies ne serraient pas utiles dans le sens où on fait chacun un import / jour et donc forcément, la page serait fermée entre temps et la session, perdue.

M'ciii
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen:

Mammouth du PHP | 2703 Messages

27 nov. 2016, 17:08

Je pense que les cookies ne serraient pas utiles dans le sens où on fait chacun un import / jour et donc forcément, la page serait fermée entre temps et la session, perdue.
des données en session sont bien perdues quand on ferme le navigateur, mais ce n'est pas le cas si les infos sont dans un cookie. il est donc possible de ne demander qu'une seule fois qui est qui.

Avatar du membre
Eléphant du PHP | 224 Messages

27 nov. 2016, 22:02

Re,

Merci pour cette réponse :)
Toutefois, j'ai totalement aucune idée de comment faire lol ca risque de se compliquer un pneu :mrgreen:
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen:

Mammouth du PHP | 1967 Messages

27 nov. 2016, 23:32

S'il s'agit d'économiser un click par jour et par utilisateur, te casse pas trop la tête, à la limite des bouton radio plutot qu'une liste permet un click plus rapide.

Les solutions proposées, sont des bricolages qui apportent leurs lots d'imprévu, comportement bizarre et risque d'erreur. je ne pense pas que cela en vaille le coup au vu des spécifications
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Avatar du membre
Eléphant du PHP | 224 Messages

29 nov. 2016, 21:22

Hello ,

Effectivement, il se trouve qu'à ce jour ça ne vaut plus le coup. Cependant, pour ma culture personnelle (il se peut que je sois amené à faire un autre script qui sera utilisé plus d'une fois par jour), ça m’intéresserait d'avoir quelques pistes à ce sujet :)

Merci :)
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen: