Problème de script

Petit nouveau ! | 8 Messages

04 juin 2005, 14:07

Voila j'ai un petit probleme avec ce script j'aimerais savoir ce qui ne va pas :
<?php
$id = $_GET['id'];

$db = mysql_connect("*****", "*****", "*****");

mysql_select_db("*****",$db);

$sql = "select * FROM cpt_live WHERE id = '$id'";

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

while($data = mysql_fetch_assoc($req))
{
$temps = $data['temps'];
$avant = $data['avant'];
$apres = $data['apres'];
$police = $data['police'];
$taille = $data['taille'];
$couleur = $data['couleur'];

if(!isset($_GET['id']))
{
echo"Accès non autorisé !";
exit;
}
else
{
$nb_max_c="<?php echo $temps; ?>";
$heure_cour = time(); // l'heure du moment

// On supprime
mysql_query("delete from cpt_live where time<=".$nb_max_c." and id=\"$id\"");

// l'ip du visiteur est dans la table ou non !
$sql = mysql_query("select * from cpt_live where ip=\"$REMOTE_ADDR\" and id=\"$id\"");

if(mysql_num_rows($sql) ==0)
   {<-- ligne 46 c'est la ^^
   // on insert sont ip
   mysql_query("insert into cpt_live values(\"$id\",\"$REMOTE_ADDR\",\"".($heure_cour+$nb_max_c)."\")");
   }
   else
   {
   // mettre à jour la connection
   mysql_query("update cpt_live set time=time+".$heure_cour+$nb_max_c." where ip=\"$REMOTE_ADDR\" and id=\"$id\"");
   }

 
   $query_sql = mysql_query("select * from cpt_live where id=\"$id\"");
   $nb_connect_actu = mysql_num_rows($query_sql);

   echo "<font color='$couleur' size='$taille' face='$police'><?php echo $avant; ?> <?php echo $nb_connect_actu; ?> <?php echo $apres; ?></font> "

mysql_close();
}
?>
Deja cette erreur :(
Parse error: parse error, unexpected '{' in /var/www/free.fr/0/8/pourtapage/cpt_live.php on line 46
VOila merci ^^

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

04 juin 2005, 14:19

Essaie avec ça :
$req = "SELECT * FROM cpt_live WHERE ip='".$REMOTE_ADDR."' AND id=".$id;
$res = mysql_query($req) or die();
$nbl = mysql_num_rows($res);
if ($nbl==0) ...
RAPPELS :
- Sortez les variables PHP des chaines de caractères.
- Pas de guillemets autour d'une valeur numérique ($id).
- Décomposez vos instructions en cas de bug.

Mammouth du PHP | 19672 Messages

04 juin 2005, 14:23

Après quelques corrections majeures, voici une proposition à tester avant d'aller plus loin:
<?php
$id = $_GET['id'];

$db = mysql_connect("*****", "*****", "*****");

mysql_select_db("*****",$db);

$sql = "select * FROM cpt_live WHERE id = '$id'";

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

while($data = mysql_fetch_assoc($req))
{
    $temps = $data['temps'];
    $avant = $data['avant'];
    $apres = $data['apres'];
    $police = $data['police'];
    $taille = $data['taille'];
    $couleur = $data['couleur'];

    if(!isset($_GET['id']))
    {
        echo"Accès non autorisé !";
        exit;
    }
    else
    {
        $nb_max_c= $temps;
        $heure_cour = time(); // l'heure du moment

        // On supprime
        mysql_query("delete from cpt_live where time <= ".$nb_max_c." and id=". $id);

        // l'ip du visiteur est dans la table ou non !
        $sql1 = mysql_query("select count(*) from cpt_live where ip=". $_SERVER['REMOTE_ADDR'] ." and id=". $id);

        if(mysql_result($sql1,0) == 0)
        {
            // on insere son ip
            mysql_query("insert into cpt_live values(".$id.",".$_SERVER['REMOTE_ADDR'].",". $heure_cour+$nb_max_c .")");
        }
        else
        {
            // mettre à jour la connexion
            mysql_query("update cpt_live set time=time+".$heure_cour+$nb_max_c." where ip=".$_SERVER['REMOTE_ADDR']." and id=".$id);
        }

        $query_sql = mysql_query("select * from cpt_live where id=". $id);
        $nb_connect_actu = mysql_num_rows($query_sql);

        echo "<font color=\"". $couleur ."\" size=\"".$taille."\" face=\"". $police ."\">". $avant ." ". $nb_connect_actu ." ". $apres ."</font>\n";

        mysql_close();
    }
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 8 Messages

04 juin 2005, 14:38

Merci ^^

mais http://pourtapage.free.fr/cpt_live.php?id=1

Erreur au niveau de la fermuture de la base de donnée

:(

Petit nouveau ! | 8 Messages

04 juin 2005, 14:41

ha non mtn c'est a ce niveau :
if(mysql_result($sql1,0) == 0)

Mammouth du PHP | 19672 Messages

04 juin 2005, 14:47

Essaye en remplaçant par
$res = mysql_result($sql1,0);
if($res == 0)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 8 Messages

04 juin 2005, 14:50

Pu d' erreur mais ca affiche rien :(

Mammouth du PHP | 19672 Messages

04 juin 2005, 15:08

Alors fais afficher tes requêtes avec echo(); pour vérifier d'abord qu'elle sont générées normalement et qu'elles sont normales. Si elles ont l'air normales, fais les exécuter directement en les copiant/Collant dans une fenêtre SQL de phpMyAdmin pour avoir le retour.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 8 Messages

04 juin 2005, 15:28

Voila c'est en faite la meme chose qu'avant la modification
Essaye en remplaçant par
PHP:
$res = mysql_result($sql1,0);
if($res == 0)
Donc il n'insere pas les ip dans la table

Mammouth du PHP | 19672 Messages

04 juin 2005, 15:33

Est-ce qu'une requête précédente ne te fait pas un retour vide ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 8 Messages

04 juin 2005, 15:44

non pas de retour a vide lors des precedante requete

Mammouth du PHP | 19672 Messages

04 juin 2005, 15:49

As-tu essayé echo($res); ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 8 Messages

04 juin 2005, 15:53

oui sa affiche rien

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

04 juin 2005, 16:03

:shock: :?: :?: :?:

Mammouth du PHP | 19672 Messages

04 juin 2005, 16:07

Ça n'affiche rien..... et ça t'inspire quelle réflexion ??? Tu n'as pas l'impression qu'il y a incohérence avec ce que tu me disais plus tôt à propos des retours de requêtes ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: