Bon alors déjà, là y a un truc qui me parait louche :
PHP Code:
echo "<table width=\"...trong> - ".
$voir="php" ;
include("viewonline.php"); echo"
</div></td>
<td width=\"91\" ...";
La première ligne se termine par un point, qui est en PHP l'opérateur de concaténation de chaîne.
Donc à priori, tu concatènes la chaîne contentant le code HTML, avec la chaîne résultat de l'affectation de la variable $voir (une affectaion réussie retourne la valeur affectée, donc ici, la chaîne "php").
Remplace le point par un point-virgule et ça devrait aller mieux.
Pour le deuxième problème, pourrait tu me donner le contenu de la variable $q et le début du code après le htmlspecialchar ?