Bonjour à tous !

J'ai un soucis, je ne comprend plus rien : après une boucle foreach, je n'arrive pas à faire sortir le moindre echo

[script de requête HTTP POST]

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
 
<?php
$nom = '*****';
$pass = '*********';
$host='http://*******.fr/';
$url = $host.'allianz.php';                 
$referer = $host.'login.php';
$doc = new DOMDocument();
@$doc->loadHTMLFile($referer);
$tags = $doc->getElementsByTagName('input');
foreach ($tags as $key=>$tag) {
	if ($key == 1){$login_value =$tag->getAttribute('value');}
	if ($key == 2){$input_name =$tag->getAttribute('name');}
	if ($key == 3){$input_pass = $tag->getAttribute('name');}
	if ($key == 4){$input_blank =$tag->getAttribute('name');$blank_value =$tag->getAttribute('value');}
}
//unset($doc,$tags);
// voici nos variables POST de connexion 
$data = array(
	'w'=>'1024:768',//résolution écran// nécéssaire pour le width du td comme critère d'extraction html ?
	'login'=>$login_value,//id de login = unix time stamp
	"$input_name" =>$nom,//Mon pseudo - les noms de champs changent
	"$input_pass"=>$pass,//Mon pass 
	"$input_blank"=> $blank_value,//?
	's1.x'=>25,//?
	's1.y'=>10,//?
	's1'=>'login',//?
	's'=>3 //pour la page allianz?s=3
);
// Envoie la première requête
list($header, $content) = HttpRequest($url,$referer,$data,'POST');
$liste = new DOMDocument();//ob_start();
@$liste->loadHTML($content);//ob_end_clean();
$raw = $liste->getElementsByTagName('td');
//$resultat = array();
//on extrait les données de la page d'attaque alliance : sujet(att/espio) - attaquant - ally att - def - ally def - date - heure - idberichte
foreach ($raw as $key=>$node) {
echo('(');
	if (($node->getAttribute('class') == 's7')&& ($node->nodeValue != " ")){
		echo $resultat['ids'][] = substr(@$node->firstChild->getAttribute('href') , 16 );
		echo $resultat['sujet'][] = (strstr($node->nodeValue,'attaque') != "")  ? 'attaque' : 'espionne' ;
		$players = explode(((strstr($node->nodeValue,'attaque') != "")  ? 'attaque' : 'espionne'),$node->nodeValue);
		echo $resultat['attaquant'][] = trim($players[0]);
		echo	$resultat['defenseur'][] = trim($players[1]);
 
	}
	if (($node->getAttribute('class') == 'c f8')&& ($node->nodeValue != " ")){
		$ally = explode(" - ",$node->nodeValue);
		echo $resultat['allyatt'][] = $ally[0];
		echo $resultat['allydef'][] = $ally[1];
	}
	if (($node->getAttribute('width') == 110)&& ($node->nodeValue != " ")){
		$d = explode(".", substr($node->nodeValue,0,8));//$d[0] $d[1] $d[2] // jour.mois.année
		$h = explode(":",substr($node->nodeValue,9));//$h[0]  $h[1] // heure : minutes
		echo $resultat['unix'][] = mktime($h[0] , $h[1]  , 0,  $d[1] , $d[0],$d[2] );
	}
	echo ')';
}
var_dump($resultat['ids']); // ne marche pas
echo 'fin'; // ne marche pas non plus :o
Le problême c'est les deux dernières lignes, après la boucle, pas de var_dump ni d'echo alors que tous les echo dans la boucle marchent. Sauf le dernier, la parenthèse fermante que j'ai rajouté pour matérialiser les itérations. ça veut dire que bizarrement la boucle ne se termine pas alors que le temps d'execution est très court et sans erreur.

Mes données sont bien extraites, les echo en témoignent, mais le tableau résultat ne veut pas se construire.

Voici un exemple de sortie avec les echo des données convenablement extraites du contexte de la page web :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
()()()()()()()(24862439attaquecaancaan)(LoDmLoDm)(1223159520)()(24862274attaqueNeochtikunaïshi)(LoDm)(1223159400)()(24862133attaquefarfdiablonev)(LoDmTRIUM)(1223159220)()(24861760attaqueVenecCyril43)(LoDm)(1223158800)()(24861672attaquehihi1erWonder)(LoDm•B•T•K•)(1223158740)()(24861670attaquehihi1erWonder)(LoDm•B•T•K•)(1223158740)()(24861668attaquehihi1erWonder)(LoDm•B•T•K•)(1223158740)()(24861613attaquepoiroufAntho72)(LoDm)(1223158680)()(24861587attaqueCaradocbarjo)(LoDm)(1223158680)()(24861530espionneCalisCalis)(LoDmLoDm)(1223158620)()(24861529espionneCalisCalis)(LoDmLoDm)(1223158620)()(24860678attaquefarflulu boulette)(LoDm)(1223157660)()(24860567attaquehihi1erWonder)(LoDm•B•T•K•)(1223157480)()(24860565attaquehihi1erWonder)(LoDm•B•T•K•)(1223157480)()(24860563attaquehihi1erWonder)(LoDm•B•T•K•)(1223157480)()(24860425attaqueVenecdjolboo)(LoDmF.D.3)(1223157360)()(24860144attaqueVenecdjolboo)(LoDmF.D.3)(1223157060)()(24859372attaqueCaradocRider88)(LoDm)(1223156160)()(24859161attaqueCalebardpierrux)(LoDm[eDEn])(1223155860)()(24859151attaqueWondermatakoff)(•B•T•K•LoDm)(1223155860)()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(
Vous avez remarqué que la dernière parenthèse fermante manque.

Le pire c'est que ça a marché à un moment ... Je ne comprend plus rien :/