<?php
//indique que le type de la réponse renvoyée au client sera du Texte
header("Content-Type: text/plain ; charset=utf-8");
//anti Cache pour HTTP/1.1
header("Cache-Control: no-cache , private");
//anti Cache pour HTTP/1.0
header("Pragma: no-cache");
//simulation du  temps d'attente du serveur (2 secondes)
sleep(2);
//recuperation des parametres au format XML
$parametresXml = file_get_contents('php://input');
###############Déclaration des fonctions de l'analyseur XML
$glob_balise='';
$nomJoueur='';
$prenomJoueur='';
function debut_element($analyseur, $element, $attribut) {
global $glob_balise;
$glob_balise=$element;
}
function fin_element($analyseur, $element) {
global $glob_balise;
$glob_balise='';
}
function contenu_element($analyseur, $data) {
global $glob_balise;
global $nomJoueur;
global $prenomJoueur;
if($glob_balise=="NOM")  $nomJoueur=$data;
if($glob_balise=="PRENOM")  $prenomJoueur=$data;
}
###############Config et appel du parser Xml
$analyseur = xml_parser_create();//création du parser
xml_parser_set_option($analyseur, XML_OPTION_CASE_FOLDING, false);
//permet de différencier les MAJ et min dans les noms de balise 
xml_parser_set_option($analyseur, XML_OPTION_TARGET_ENCODING,"UTF-8");
//permet d'indiquer le type de codage du fichier XML
xml_set_element_handler($analyseur, 'debut_element','fin_element');
xml_set_character_data_handler($analyseur, 'contenu_element');
//------------------------------------------
//lance l'analyse du document XML
xml_parse($analyseur, $parametresXml);
//détruit l'analyseur XML
xml_parser_free($analyseur);
###############
//calcul du nouveau gain entre 0 et 100 Euros
$gain =  rand(0,100);
//concaténation du nom
$nom=$prenomJoueur." ".$nomJoueur;
//mise en forme le résultat avec le nom 
$resultat=$nom.':'.$gain;
//envoi de la réponse à la page HTML
echo $resultat ;
?>