Problème de code pour voir le nombre de visites sur un site

Enguerran -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
<?php

$heure_visite = date('d m Y h:i:s');
setcookie('date_visite' , $heure_visite , time()+604800);
if(isset($_COOKIE['date_visite']))
{
    if(isset($_COOKIE['nombre_visite']))
{
    $nombre_visite = $_COOKIE['nombre_visite'];
    $nombre_visite = $nombre_visite +1;
    $message = 'Bonjour, vous avez vitité cette page '. $nombre_visite .' fois';
   
}
else
{
    $nombre_visite = 1;
    $message = 'Bonjour vous avez déjà visité cette page '. $nombre_visite .' fois';
}
setcookie('nombre_visite', 'nombre_visite', time()+604800);
$message = '<br> la date de votre derniere visite est le '. $_COOKIE['date_visite'];
}
else
{
    $message = 'Bonjour, <br> C\'est votre premiere visite sur cette page';
}
?>

<?php if(isset($message)) : ?>
<?php echo $message ?>
<?php endif ?>

Voici mon code que j'ai recopier d'un cours, mais il me met un message d'erreur :

A voir également:

5 réponses

jee pee Messages postés 41526 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 

Bonjour,

Le message est explicite, en ligne 10 tu additionnes une chaine et un entier.

Il faudrait convertir $nombre_visite en entier


0
MPMP10 Messages postés 45003 Date d'inscription   Statut Membre Dernière intervention   17 297
 

Bonjour,

Problème de code et de politesse aussi !

Il n'y a pas de distributeur automatique de réponse ici sur le forum CCM, mais que des bénévoles…

https://www.commentcamarche.net/infos/25855-charte-d-utilisation-de-commentcamarche-net-respect-d-autrui/

Bonne lecture et bonne continuation.


0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour 

Le problème vient surtout de la ligne 19 ...

Il faut remplacer

setcookie('nombre_visite', 'nombre_visite', time()+604800);

par

setcookie('nombre_visite', $nombre_visite, time()+604800);

0
jee pee Messages postés 41526 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 

Effectivement si la première fois on enregistre 1 et pas une chaine cela devrait mieux fonctionner.

0
Jerome
 

Bonjour,

Le problème de la ligne 10 est simple : problème de type de données.

La conversion de type est simple et peut se faire à la volée :

$nombre_visite = (int)$_COOKIE['nombre_visite'];
-1
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour,

Le problème ne vient pas d'un souci de "cast" de type de variable .. mais.. comme je l'ai indiqué dans ma précédente réponse... de la valeur qui est stockée dans le cookie à la ligne 19 !

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jerome
 

La ligne 19 a aussi un problème puisqu'il ne stocke pas la valeur de la variable, mais l'erreur peut subsister à la ligne 10 parce que les valeurs du tableau $_SESSION sont des chaines de caractère.

-1
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

PHP est capable de "caster" tout seul les nombres stockés dans des chaines ...

Voici un exemple pour te le prouver

<?php

$x = 10;
$T = $x + 1 ;
echo $T ;
echo "<br>";


$Y = "20";
$T2 = $Y + 1 ;
echo $T2;
echo "<br>";
0