Condition IF non réalisée
Soit deux fichiers que j'arrive facilement à manipuler en php sauf sur une condition.
1.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?xml version="1.0" encoding="utf-8"?>
<utilisateurs>
<nom identite="pierre">
<lieu>
<ip>169</ip>
</lieu>
<lieu>
<ip>10.113.22.2</ip>
</lieu>
</nom>
<nom identite="Geraldine">
<lieu>
<ip>169.158.50.1</ip>
</lieu>
<lieu>
<ip>127</ip>
</lieu>
</nom>
</utilisateurs> |
et 2.xml
Code:
1 2 3 4 5 6 7 8 9 10 11
| <?xml version="1.0" encoding="utf-8"?>
<connections>
<nom identite="pierre">
<ip_con>169</ip_con>
<heure>31-01-2009 - 14:26</heure>
</nom>
<nom identite="ger">
<ip_con>127</ip_con>
<heure>31-01-2009 - 14:52</heure>
</nom>
</connections> |
Voici un script php qui est censé comparer si une adresse IP est commune dans les deux fichiers xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| $i=0;
$utilisateurs= simplexml_load_file('2.xml');
foreach ($utilisateurs->nom as $nom) {
$ip_con[$i]=$nom->ip_con;
$i=$i+1;
}
$j=0;
$connections= simplexml_load_file('1.xml');
foreach ($connections->nom as $nom) {
echo $nom['identite']."<br />\n";
foreach ($nom->lieu as $lieu) {
$ip=$lieu->ip;
echo $ip_con[0]."<br />"; // pour le test
echo $ip."<br />"; // pour le test
if ($ip == $ip_con[$j]){
echo 'ip identique';
} ;
echo "<br />\n";
}
$j=$j+1;
} |
Ayant deux ip identiques (valeur 169 pour Pierre dans les deux fichiers),
je devrais afficher un "ip identique"
Hélas en voici le résultat ;((
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| pierre
169
169
169
10.113.22.2
Geraldine
169
169.158.50.1
169
127 |
Après 3 heures de recherche, je m'en remets à vous ;)