problème d'affichage avec un script

lakawet
Invité n'ayant pas de compte PHPfrance

28 févr. 2006, 15:13

bonjour,

voila, j'ai un script qui logiquement permet à un membre connecté de savoir si un autre membre veux dialoguer avec lui.
Mais bizarrement, certains membres ne voit l'invitation au tchat.
Je vous indique mon code:
<?
$db = mysql_connect('localhost', 'lakawet', 'totoph');  
mysql_select_db('ccherre',$db);

$pseudo = $_SESSION['pseudo'];

$sql = mysql_query("select * from tbl_user where pseudo='".$pseudo."'") or die("Error!");
$data = mysql_fetch_array($sql);
$chat1 = $data['id'];

$sql2 = mysql_query("select * from tbl_chat where id_desti='".$data['id']."'") or die("Error!");
$data2 = mysql_fetch_array($sql2);
$chat2 = $data2['id_desti'];
$chat3= $data2['id_expedi'];
$mesg = $data2['message'];
$etat= $data2['etat'];
$online1=$data2['online_desti'];

$sql3 = mysql_query("select * from tbl_user where id='".$chat3."'") or die("Error!");
$data3 = mysql_fetch_array($sql3);

$sql4 = mysql_query("select * from tbl_chat where id_expedi='".$data['id']."'") or die("Error!");
$data4 = mysql_fetch_array($sql4);
$desti = $data4['id_desti'];
$chat5 = $data4['id_expedi'];
$etat2= $data4['etat'];
$mesg2 = $data4['message'];
$online2=$data4['online_expedi'];
?>

<?php if ( $chat1 == $chat2 && $etat==1) { ?>
<?
echo'<td width="24%" rowspan="2" align="center" valign="top" class="texte2">
	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="50" height="34">
              <param name="movie" value="/flash/chat.swf">
              <param name="quality" value="high">
              <embed src="/flash/chat.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="50" height="34"></embed>
            </object>
	</td>
          <td width="76%" colspan="2" align="center" valign="top" class="texte2"><span class="texte3">'.$data3['pseudo'].'</span> a demand&eacute; &agrave; dialoguer avec vous<br></td>
        </tr>
        <tr>
          <td align="center" valign="top" class="texte2"><span class="texte3"><a href="accepte.php">J\'accepte</a></span></td>
          <td align="center" valign="top" class="texte2"><span class="texte3"><a href="refuse.php">Je refuse</a></span></td>';
?>
<?php } ?>
je sais, c'est pas du très beau code mais avant le grand nettoyage j'aimerais savoir pourquoi ce script fonctionne aleatoirement.

merci

lakawet

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 févr. 2006, 18:49

Edites ton message et glisse les tag [ php ] autour du code, il sera ainsi plus lisible :)

Sinon quel erreurs rencontres-tu exactement ? c'est la partie flash/accepte/refuse qui n'apparait pas chez tout le monde ? as-tu vérifié en base que les conditions du if étaient bien remplies ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 févr. 2006, 19:32

Edites ton message et glisse les tag [ php ] autour du code, il sera ainsi plus lisible :)
Je le fais, c'est un invité

lakawet
Invité n'ayant pas de compte PHPfrance

01 mars 2006, 10:07

désolé pour les tags :oops:
et bien mon problème effectivement c'est toute la partie apres le if qui apparait chez certains utilisateur et pas d'autre comment cela est possible, si cela fonctionne pour 1 cela doit fonctionner pour tous????

je suis un peu perdu :?:

Avatar du membre
ViPHP
ViPHP | 3008 Messages

01 mars 2006, 10:18

Tu as essayé d'utiliser des chemins relatifs et non absolus ?
<?php if ( ($chat1==$chat2) && ($etat==1) )
{
?>
	<td width="24%" rowspan="2" align="center" valign="top" class="texte2"> 
		<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="50" height="34"> 
			<param name="movie" value="../flash/chat.swf"> 
			<param name="quality" value="high"> 
			<embed src="../flash/chat.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="50" height="34"></embed> 
		</object> 
	</td> 
	<td width="76%" colspan="2" align="center" valign="top" class="texte2"><span class="texte3"><?php echo $data3['pseudo']; ?></span> a demand&eacute; &agrave; dialoguer avec vous<br></td> 
</tr> 
<tr> 
	<td align="center" valign="top" class="texte2"><span class="texte3"><a href="accepte.php">J'accepte</a></span></td> 
	<td align="center" valign="top" class="texte2"><span class="texte3"><a href="refuse.php">Je refuse</a></span></td>
<? php } ?>
Là j'ai rajouté ../ mais fait le selon ton arbo. C'est quel partie du if qui n'apparaît pas ?