IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Compte utilisateur en fichier xml


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 61
    Points : 27
    Points
    27
    Par défaut [SimpleXML] Compte utilisateur en fichier xml
    Bonjour, dans mon site, les compte utilisateur sont sauvegardé dans des fichier, la raison etant que c'est un site pour un serveur d'un jeux qui garde ses info en fichier xml, donc je doit utiliser des fonction pour travailler les fichier xml, principalement en créé a partir de zéro (créé les compte) lire certaine valeur (vérification du mot de passe) changer ces valeur (changer le mot de passe) et rajouter des donnée a certain endroit (rajouter des personage a l'account, le site etant celui d'un jeux) j'ai chercher un bout de temp pour des fonction pouvant manipuler les fichier, mais aucune ne semblais etre complette et pouvant répondre a tout mes besoin, donc j'aimerais avoir des conseille sur comment m'y prendre

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    Tu peux tout à fait manipuler tes fichiers XML avec SimpleXML ou DOM.
    Si tu n'arrives pas à faire qque chose alors détaille

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 61
    Points : 27
    Points
    27
    Par défaut
    j'ai essayer simpleXML et j'ai une erreur.. :\ sa n'arrive pas a ouvriire mon fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    require "serverinfo.php";
    $account = $_POST['account'];
    $password = $_POST['password'];
    $accountxml = $account . "xml";
    $fileaccountdir = $accountdir . $accountxml; // $accountdir est une variable dans serverinfo.php qui définit le chemin complet pour accédé au dossier contenant tout les account
     
    if (file_exists($fileaccountdir)) {
        $fileaccount = simplexml_load_file($fileaccountdir);
    	$xml = new SimpleXMLElement($fileaccount);
     
    echo $xml->account[0]->pass;
     
        var_dump($xml);
    } else {
        exit('Echec lors de l\'ouverture du fichier test.xml.');
    }
    les account sont tous fait sous cette forme (au cas ou sa peut aider)
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0"?>
      <account pass="motdepasse" premDays="0" premEnd="0">
        <characters>
          <character name="nomdepersonage" />
        </characters>
      </account>

  4. #4
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    Et ou s'arrete le script ?
    Si il s'arrete ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    else {
    exit('Echec lors de l\'ouverture du fichier test.xml.');
    }
    Essaie de changer la condition et met ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    else {
    echo $fileaccountdir . '<br>';
    exit('Echec lors de l\'ouverture du fichier test.xml.');
    }
    Cela te permettra de voir ou il va chercher le fichier....

    @+
    cadou

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 61
    Points : 27
    Points
    27
    Par défaut
    bon, j'ai fait ca et j'ai vue que la variable de l'account n'etais pas pris correctement, allor j'ai tout modifier dans une seule page (la page de connection redirigeais vers une page de vérification) et ca donne une autre erreur, voici le nouveau code source suivis de l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    require "serverinfo.php";
    $account = $_POST['account'];
    $password = $_POST['password'];
    $accountxml = $account . ".xml";
    $fileaccountdir = $accountdir . $accountxml; // $accountdir est une variable dans serverinfo.php qui définit le chemin complet pour accédé au dossier contenant tout les account
     
     
     
    if ($account && $password != null)
    {
     
    if (file_exists($fileaccountdir)) {
        $fileaccount = simplexml_load_file($fileaccountdir);
    	$xml = new SimpleXMLElement($fileaccount);
     
    echo $xml->account[0]->pass;
     
        var_dump($xml);
    } else {
    	echo $fileaccountdir . '<BR>';
        exit('Echec lors de l\'ouverture du fichier test.xml.');
    }
    }
    else
    {
    echo '<CENTER>
    <FORM method="post" action="connection.php">
    Account: <input type="password" name="account"><BR><BR>
    Password: <input type="password" name="password"><BR><BR>
    <input type="submit" value="valider">';
    }
    Warning: simplexml_load_file() [function.simplexml-load-file]: file:///C%3A/tibiaserver/data/accounts/1428616.xml:1: parser error : Extra content at the end of the document in C:\wamp\www\connection.php on line 14

    Warning: simplexml_load_file() [function.simplexml-load-file]: er name="Rowan Kartoffel" /><character name="Sorctest" /></characters></account> in C:\wamp\www\connection.php on line 14

    Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in C:\wamp\www\connection.php on line 14

    Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in C:\wamp\www\connection.php:15 Stack trace: #0 C:\wamp\www\connection.php(15): SimpleXMLElement->__construct('') #1 {main} thrown in C:\wamp\www\connection.php on line 15
    et le contenu exact du fichier que j'essai d'ouvrire est
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0"?>
      <account pass="potato666" premDays="0" premEnd="0">
        <characters>
          <character name="An unknow Wanderer" />
          <character name="Druidtest" />
          <character name="Rowan Kartoffel" />
          <character name="Sorctest" />
        </characters>
      </account>

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        $xml = simplexml_load_file($fileaccountdir);
    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        $fileaccount = simplexml_load_file($fileaccountdir);
    	$xml = new SimpleXMLElement($fileaccount);
    Devrait suffir, non ?

    A priori, il y a des erreurs dans votre fichier XML : est-il complet ci-dessus ? Si vous n'utilisez pas de l'UTF-8, rajoutez l'encodage.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 61
    Points : 27
    Points
    27
    Par défaut
    j'ai effacer le "superflux" comme Julp me l'as conseiller, maitenant sa me sort une page blanche en tout temp, meme a la premiere ouverture de la page..

    pour ce qui est de l'encodage, je ne conais pas tres bien le XML mais chose sur, je ne peut pas rajouter rien dans le fichier (excepter d'autre character et changer les valeur préexistante) sinon l'account ne fonctionne plus in-game, j'avais essayer de faire d'autre valeur pour les information du website question de stoquer les information personnel, et ect, mais sa ne marchais pas, il va faloir que je travaille avec ce fichier, et un autre pour les information du site. donc pour faire court, je ne pourai rajouter l'encodage

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    La récupération de la valeur de l'attribut pass est erronée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $xml->account[0]['pass'];

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 61
    Points : 27
    Points
    27
    Par défaut
    bon, mon formulaire marche a nouveau, mais il y a une erreur

    Warning: simplexml_load_file() [function.simplexml-load-file]: file:///C%3A/tibiaserver/data/accounts/1428616.xml:1: parser error : Extra content at the end of the document in C:\wamp\www\connection.php on line 14

    Warning: simplexml_load_file() [function.simplexml-load-file]: er name="Rowan Kartoffel" /><character name="Sorctest" /></characters></account> in C:\wamp\www\connection.php on line 14

    Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in C:\wamp\www\connection.php on line 14
    NULL

    encore ca..

    si ce serais le fichier xml qui serais réellement "mal fait" sa voudrais dire que je doit utiliser une fonction qui lis dans le fichier sans se préocuper du type de fichier ou rien, et que je doit trouver le string <account pass="potato666" et effacer/traiter le superflux pour en extraire le mot de passe, ou bien trouver un moyen que simplexml, ou autre fonction de xml, traite bien mon fichier sans erreur ?

Discussions similaires

  1. [SimpleXML] Lecture d'un fichier xml distant
    Par Palca dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/02/2008, 15h26
  2. [SimpleXML] Exploitation D'un Fichier Xml
    Par django76 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 19/05/2007, 13h00
  3. [SimpleXML] requête sur un fichier xml
    Par ANISSS dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 03/05/2007, 09h21
  4. [SimpleXML] lecture d'un fichier xml
    Par Raideman dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 12/04/2007, 18h03
  5. [SimpleXML] Fermeture d'un fichier XML
    Par FlyByck dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 12/01/2006, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo