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

Langage PHP Discussion :

in_array : Wrong datatype for second argument


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Par défaut in_array : Wrong datatype for second argument
    Bonjour,

    Je ne trouve pas le problème de mon script qui est pourtant ultra simple.

    j'ai le message d'erreur suivant:
    Warning: in_array() [function.in-array]: Wrong datatype for second argument in xxxxxxxxxx on line 78
    Le code de cette fameuse ligne 78 (la première ci-dessous):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if (in_array($login, $membre_existant))
     {
       echo 'Le login ' . $login . ' se trouve dans les membres existant.<br />';
       $existe=1;
     }
    else
     {
       $membre_existant[]=trim($login);
       $existe=0;
     }
    Enfin si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<pre>';
    print_r($membre_existant);
    echo '</pre>';
    J'ai :
    Array
    (
    [0] => membre1
    [1] => membre2
    [2] => membre3
    [3] => membre4
    )
    Donc c'est bien un tableau.

    Sauriez-vous me dire où est le problème ?

    Merci d'avance.

  2. #2
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    Salut,

    Cette partie de code est correct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if (in_array($login, $membre_existant))
     {
       echo 'Le login ' . $login . ' se trouve dans les membres existant.<br />';
       $existe=1;
     }
    else
     {
       $membre_existant[]=trim($login);
       $existe=0;
     }
    Comment est défini ton tableau avant cette fameuse ligne 78???

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Par défaut
    Citation Envoyé par defcon_suny Voir le message
    Comment est défini ton tableau avant cette fameuse ligne 78???
    en début de script, il est définie comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var $membre_existant = array();
    Il est donc vide.

    en fait le code parse un flux xml, ce flux peut contenir plusieurs fois le même item (le flux ne m'appartiens pas, donc je fais avec)

    dans $membre_existant, je met uniquement le login du membre et aux items suivant je regarde si je l'ai déja.

    Donc au départ le tableau est vide et il s'alimente si le login n'est pas déja présent if (in_array($login, $membre_existant))....

  4. #4
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    L'erreur PHP t'indique que le second argument n'est pas reconnu en tant que tableau... c'est que cela doit être vrai!

    Peux tu nous donner un peu de ton code?

  5. #5
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    salut,

    que te donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($membre_existant)
    ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Par défaut
    Citation Envoyé par thes32 Voir le message
    salut,

    que te donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($membre_existant)
    ?
    array(30) { [0]=> string(9) "unepetale" [1]=> string(4) "nh60" [2]=> string(13) "solitude67100" [3]=> string(6) "valjes" [4]=> string(14) "mademoiselleee" [5]=> string(7) "Emy2610" [6]=> string(5) "CDL23" [7]=> string(13) "divinelicious" [8]=> string(8) "vicky444" [9]=> string(7) "naila92" [10]=> string(11) "corallienne" [11]=> string(6) "ruby10" [12]=> string(5) "khea_" [13]=> string(14) "griffedudiable" [14]=> string(13) "choupettedu44" [15]=> string(7) "sol2875" [16]=> string(10) "origamie31" [17]=> string(10) "steficarla" [18]=> string(7) "baotane" [19]=> string(12) "vanessaseule" [20]=> string(11) "brunette666" [21]=> string(10) "romancia29" [22]=> string(6) "nelvea" [23]=> string(12) "ptitebulle67" [24]=> string(9) "annee2009" [25]=> string(8) "thalou12" [26]=> string(10) "bifidus971" [27]=> string(7) "phany14" [28]=> string(9) "vitalarti" [29]=> string(12) "sophie-douce" }

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Par défaut
    Citation Envoyé par defcon_suny Voir le message
    L'erreur PHP t'indique que le second argument n'est pas reconnu en tant que tableau... c'est que cela doit être vrai!

    Peux tu nous donner un peu de ton code?
    Je suis bien d'accord qu'il ne doit pas me raconter de connerie.

    Le code est très long (parseur de flux XML avec sax), je vais essayer de la réduire à l'essentiel, tout en gardant le problème et vous le publier.

  8. #8
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    Citation Envoyé par yann123456 Voir le message
    en début de script, il est définie comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var $membre_existant = array();
    Il est donc vide.

    en fait le code parse un flux xml, ce flux peut contenir plusieurs fois le même item (le flux ne m'appartiens pas, donc je fais avec)

    dans $membre_existant, je met uniquement le login du membre et aux items suivant je regarde si je l'ai déja.

    Donc au départ le tableau est vide et il s'alimente si le login n'est pas déja présent if (in_array($login, $membre_existant))....
    Quand tu définis ton tableau retire le var précédent $membre_existant = array();.

    Ensuite, juste avant ta condition if, insère ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (is_array($membre_existant)){
     var_dump($membre_existant);
    }else{
     echo  'ce n\'est pas un tableau';
    }
    résultat ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Par défaut
    Citation Envoyé par defcon_suny Voir le message
    Quand tu définis ton tableau retire le var précédent $membre_existant = array();.

    Ensuite, juste avant ta condition if, insère ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (is_array($membre_existant)){
     var_dump($membre_existant);
    }else{
     echo  'ce n\'est pas un tableau';
    }
    résultat ?
    Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in xxxxxxxxx/parseur.php on line 22
    La ligne 22 étant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $membre_existant = array();
    Je précise que ce bout de code est dans une class (class rss), je sais pas si ça peux vous être utile.

    J'ai ensuite complètement supprimer la déclaration du tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var $membre_existant = array();
    Ce qui donne:
    ce n'est pas un tableau
    Warning: in_array() [function.in-array]: Wrong datatype for second argument in xxxxxxxxxxxxxxx/parseur.php on line 83


    array(1) { [0]=> string(9) "unepetale" }


    array(2) { [0]=> string(9) "unepetale" [1]=> string(4) "nh60" }


    array(3) { [0]=> string(9) "unepetale" [1]=> string(4) "nh60" [2]=> string(13) "solitude67100" }


    array(4) { [0]=> string(9) "unepetale" [1]=> string(4) "nh60" [2]=> string(13) "solitude67100" [3]=> string(6) "valjes" }


    array(5) { [0]=> string(9) "unepetale" [1]=> string(4) "nh60" [2]=> string(13) "solitude67100" [3]=> string(6) "valjes" [4]=> string(14) "mademoiselleee" }


    array(6) { [0]=> string(9) "unepetale" [1]=> string(4) "nh60" [2]=> string(13) "solitude67100" [3]=> string(6) "valjes" [4]=> string(14) "mademoiselleee" [5]=> string(7) "Emy2610" }
    Ce code est dans une boucle.
    J'ai copié une partie plus longue du message retourné par php.
    Comme vous pouvez le voir mon tableau s'incrémente bien a chaque passage, le script doit ajouter le login dans $membre_existant s'il n'y est pas déjà. D'où l'utilisation du in_array.

    Le message d'erreur n'apparait qu'au premier passage dans la condition, c'est à dire quand le tableau est vide. Ensuite ça à l'air de fonctionner.

    Si je laisse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var $membre_existant = array();
    J'ai le même retour que ci-dessus.

    Un tableau vide n'est peut-être pas considérer comme un tableau, il faudrait donc ne pas passer dans la condition lors du premier item, je regarde ça tout de suite.

    J'espère avoir été compréhensible.

    Merci

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Par défaut
    le code ci-dessous ne retourne pas d'erreur et fonctionne.
    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
     
    $result = count($membre_existant);
    if ($result == 0)
    {
    	$membre_existant[]=trim($login);
    	$existe=0;
    }
    else
    {
    	if (in_array($login, $membre_existant))
    		{
    		echo 'La login ' . $login . ' se trouve dans les membres existant.<br />';
    		$existe=1;
    		}
    	else
    		{
    		$membre_existant[]=trim($login);
    		$existe=0;
    		}
     }
    Cela vous parait-il logique ?

  11. #11
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    Non pas du tout!

    Ce code fonctionne bien
    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
     
    <?php
    $membre_existant = array();
    $login='test';
    if (in_array($login, $membre_existant))
     {
       echo 'Le login ' . $login . ' se trouve dans les membres existant.<br />';
       $existe=1;
     }
    else
     {
       $membre_existant[]=trim($login);
       $existe=0;
     }
    var_dump($membre_existant);
    ?>
    Donc effectivement, ton tableau n'en est pas un au premier passage... d'où le WARNING.

    Vérifie un peu la syntaxe de la ligne 21 de ton fichier parseur.php...

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Par défaut
    Citation Envoyé par defcon_suny Voir le message
    Donc effectivement, ton tableau n'en est pas un au premier passage... d'où le WARNING.
    Vérifie un peu la syntaxe de la ligne 21 de ton fichier parseur.php...
    Pas facile, voici la structure de parseur.php, j'ai supprimer beaucoup de ligne redondante pour raccourcir le code. Si ce n'est pas compréhensible, dites le moi je vais essayer de faire autrement.

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    <?php
    class rss
    {
    	var $item = FALSE ;
    	var $chem = '' ;
    	var $attribut ;
    	/*
    	.......
    	Plein d'autres variables
    	*/	
    	var $membre_existant = array();	
     
     
    		function ouvre($sax, $nom, $attributs)
    		{
    			global $item, /*Plein d'autres variables*/, $membre_existant, $existe;
     
    			$this->chem .= '/'.$nom;
     
    			if ($this->chem=='/profil/item')
    			{
    				$this->id_membre = '';				
    				$this->login = '';				
    				/*
    				.......
    				Plein d'autres variables
    				*/				
    				$this->item = TRUE;		
    			}
    		}		
     
    		function ferme($sax,$nom)
    		{
    			global $item, /*Plein d'autres variables*/, $membre_existant, $existe;
     
    			if ($this->chem=='/profil/item')
    			{
    				$id_membre = utf8_decode($this->id_membre);
    				$login = utf8_decode($this->login);
    				/*
    				.......
    				Plein d'autres variables
    				*/
     
    				$result = count($membre_existant);
    				if ($result == 0)
    				{
    					$membre_existant[]=trim($login);
    					$existe=0;
    				}
    				else
    				{
    					if (in_array($login, $membre_existant))
    						{
    							echo 'La login ' . $login . ' se trouve dans les membres existant.<br />';
    							$existe=1;
    						}
    					else
    						{
    							$membre_existant[]=trim($login);
    							$existe=0;
    						}
    				 }				
     
    				if ($existe==0)
    				{
    					$membre []= array ('id_membre' => trim($id_membre),
    										 /*
    										.......
    										Plein d'autres variables
    										*/
    										 'photo' => trim($photo));
    					 $nb=$nb+1;
    				} // Fin du if $departement est pas nul
    			}
     
    			$pos = strrpos($this->chem, '/');
    			$this->chem = substr($this->chem, 0, $pos);
    		}
     
    		function texte($sax, $texte)
    		{
    			if ($this->chem == '/profil/item/id')
    			{
    				$this->id_membre .= $texte;				
    			}
    			elseif ($this->chem == '/profil/item/login')
    			{
    				$this->login .= $texte;				
    			}
    			/*
    			.......
    			Plein d'autres variables
    			*/			
    		}		
    }
     
    ?>

  13. #13
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class rss
    {
    	var $item = FALSE ;
    	var $chem = '' ;
    	var $attribut ;
    	/*
    	.......
    	Plein d'autres variables
            C'est ce qui avait ici dont il faut vérifier la syntaxe...
    	*/	
    	var $membre_existant = array();

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Par défaut
    Bon je sèche totalement.
    Voici le script réduit au minimum mais où il reste le problème. Si tu as le temps de faire un essai ce serait cool.

    Le flux de test a installer sur une page test.xml
    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
     
    <?xml version="1.0" encoding="utf-8" ?>
    <profil>
    	<item>
    		<login>membre1</login>		
    	</item>
    	<item>		
    		<login>membre2</login>
    	</item>
    	<item>		
    		<login>membre3</login>
    	</item>
    	<item>		
    		<login>membre4</login>
    	</item>
    </profil>
    Le script php, dans lequel il faut juste que tu modifie l'url du flux. (ligne 66 chez moi)

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    <?php
    class rss
    {
    	var $item = FALSE ;
    	var $chem = '' ;
    	var $attribut ;	
    	var $login ;	
    	var $membre = array();
    	var $membre_existant = array();
    	var $existe;	
     
    		function ouvre($sax, $nom, $attributs)
    		{
    			global $item, $chem, $attribut, $login, $membre, $membre_existant, $existe;
     
    			$this->chem .= '/'.$nom;
     
    			if ($this->chem=='/profil/item')
    			{
    				$this->login = '';		
    				$this->item = TRUE;		
    			}
    		}		
     
    		function ferme($sax,$nom)
    		{
    			global $item, $chem, $attribut, $login, $membre, $membre_existant, $existe;
     
    			if ($this->chem=='/profil/item')
    			{
    				$login = utf8_decode($this->login);					
     
    				if (in_array($login, $membre_existant))
    					{
    						echo 'La login ' . $login . ' se trouve dans les membres existant.<br />';
    						$existe=1;
    					}
    				else
    					{
    						$membre_existant[]=trim($login);
    						$existe=0;
    					}				
     
    				var_dump($membre_existant);
    				echo '<br /><br />';
     
    				if ($existe==0)
    				{
    					$membre []= array ('login' => trim($login));					
    				}
    			}
     
    			$pos = strrpos($this->chem, '/');
    			$this->chem = substr($this->chem, 0, $pos);
    		}
     
    		function texte($sax, $texte)
    		{
    			if ($this->chem == '/profil/item/login')
    			{
    				$this->login .= $texte;				
    			}
    		}		
    }
     
    $url_flux= 'http://www.url-flux.xml'; // url a modifier
     
    $rss = new rss();
    $sax = xml_parser_create();
    xml_parser_set_option($sax, XML_OPTION_CASE_FOLDING, FALSE);  // laisse le nom des balise en minuscule
    xml_set_object($sax, $rss);
    xml_set_element_handler($sax, 'ouvre', 'ferme');
    xml_set_character_data_handler($sax, 'texte');
    $fichier = html_entity_decode($url_flux, ENT_QUOTES, "UTF-8");
    $fp = fopen($fichier, 'r');
    while ($xml = fread($fp, 10000))
    {
    	xml_parse($sax, $xml, feof($fp));  // On execute
    }
    xml_parser_free($sax);
     
    ?>
    Merci encore.

  15. #15
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    Voilà... c'était vraiment pas compliqué! En fait, il fallait juste avoir quelques notions de POO

    Pour cibler l'attribut $membre_existant à l'intérieur de la classe, tu dois utiliser le mot clé $this

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    <?php
    class rss
    {
    	var $item = FALSE ;
    	var $chem = '' ;
    	var $attribut ;	
    	var $login ;	
    	var $membre = array();
    	var $membre_existant = array();
    	var $existe;	
     
    		function ouvre($sax, $nom, $attributs)
    		{
    			global $item, $chem, $attribut, $login, $membre, $membre_existant, $existe;
     
    			$this->chem .= '/'.$nom;
     
    			if ($this->chem=='/profil/item')
    			{
    				$this->login = '';		
    				$this->item = TRUE;		
    			}
    		}		
     
    		function ferme($sax,$nom)
    		{
    			global $item, $chem, $attribut, $login, $membre, $membre_existant, $existe;
     
    			if ($this->chem=='/profil/item')
    			{
    				$login = utf8_decode($this->login);					
     
    				if (in_array($login, $this->membre_existant))
    					{
    						echo 'La login ' . $login . ' se trouve dans les membres existant.<br />';
    						$existe=1;
    					}
    				else
    					{
    						array_push($this->membre_existant,trim($login));
    						$existe=0;
    					}				
     
    				var_dump($this->membre_existant);
    				echo '<br /><br />';
     
    				if ($existe==0)
    				{
    					$membre []= array ('login' => trim($login));					
    				}
    			}
     
    			$pos = strrpos($this->chem, '/');
    			$this->chem = substr($this->chem, 0, $pos);
    		}
     
    		function texte($sax, $texte)
    		{
    			if ($this->chem == '/profil/item/login')
    			{
    				$this->login .= $texte;				
    			}
    		}		
    }
     
    $url_flux= 'file.xml'; // url a modifier
     
    $rss = new rss();
    $sax = xml_parser_create();
    xml_parser_set_option($sax, XML_OPTION_CASE_FOLDING, FALSE);  // laisse le nom des balise en minuscule
    xml_set_object($sax, $rss);
    xml_set_element_handler($sax, 'ouvre', 'ferme');
    xml_set_character_data_handler($sax, 'texte');
    $fichier = html_entity_decode($url_flux, ENT_QUOTES, "UTF-8");
    $fp = fopen($fichier, 'r');
    while ($xml = fread($fp, 10000))
    {
    	xml_parse($sax, $xml, feof($fp));  // On execute
    }
    xml_parser_free($sax);
     
    ?>
    Ca marche mais il reste des petits points à corriger... je te laisse voir!

    ++

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Par défaut
    Merci ça fonctionne nickel.

    La POO ce n'est pas encore très clair pour moi, mais cela va venir.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 31/01/2011, 16h06
  2. Réponses: 22
    Dernier message: 18/02/2010, 18h59
  3. [Débutant] Undefined function or method 'plotcontour' for input arguments of type
    Par marionba dans le forum MATLAB
    Réponses: 4
    Dernier message: 28/10/2009, 21h41
  4. Réponses: 15
    Dernier message: 18/02/2009, 18h53
  5. [Oracle Datatype] For a long text >4000chars
    Par lem01 dans le forum SQL
    Réponses: 3
    Dernier message: 29/01/2008, 19h56

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