Bonjour à tous !

Je suis webmaster d'un jeu en ligne (depuis, pfiou, 6 ans je crois) et je suis récemment tombé sur un bug incroyable. Il s'agit de stocker un événement effectué par un joueur. $taba est un tableau contenant les données de l'attaquant, et $tabd, celles du défenseur. Une "squadd" est une équipe. Voici le code :



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
	$evenement = "Le ".date("d/m/y  H:i").", ".$taba["perso"]." a frappé ".$tabd["perso"]." et lui a infligé des pertes s'élevant à ".$deg." Points de Vie.";
	if($territoire == $taba["squadd"]){
		$sql = mysql_query("SELECT id, nom, color FROM squadd WHERE id='$territoire'");
		$squadd = mysql_fetch_array($sql);
		$squadd_link = "<a href='lisquadd.php?affsq=".$squadd["id"]."' target='_self' style='color:".$squadd["color"].";'>".$squadd["nom"]."</a>";		
		$evenement .= "<br />".$tabd["perso"]." ne devrait pas traîner sur le territoire de la S-Quadd ".$squadd_link;
	}
	$evenement = addslashes($evenement);
	mysql_query("INSERT INTO evenements VALUES('1','".$taba["id"]."','1','".$tabd["id"]."','".$tabd["abs"]."','".$tabd["ord"]."','".$tabd["carte"]."','$date','1','$evenement')");
Ce code n'est compris dans aucune boucle ni aucune fonction. C'est important pour la suite. Vous conviendrez aisément qu'avec un tel code, un seul événement va se mettre en base de donnée. Et c'est le cas. Le problème c'est le contenu étonnant de cet événement ( $evenement ) en base de données :

Le 25/06/09 à 10:19, Gandalf a frappé Scorpion #078 PNJ et lui a infligé des pertes s'élevant à 160 Points de Vie.
Scorpion #078 PNJ ne devrait pas traîner sur le territoire de la S-Quadd
Scorpion #078 PNJ ne devrait pas traîner sur le territoire de la S-Quadd
Scorpion #078 PNJ ne devrait pas traîner sur le territoire de la S-Quadd
Scorpion #078 PNJ ne devrait pas traîner sur le territoire de la S-Quadd
Scorpion #078 PNJ ne devrait pas traîner sur le territoire de la S-Quadd La Mission du Donjon
La ligne qui se répète ne peut pas se répéter, c'est strictement impossible de mon point de vue. Donc si quelqu'un avait une idée, je lui en serait Monstrueusement reconnaissant !

Merci !