J'ai fait un compteur visiteur et plusieurs erreurs s'affiche donc j'aimerais bien les résoudre :
Voici mon code php :
<?php
// On indique au navigateur qu'on utilise l'encodage UTF-8
header('Content-type: text/html; charset=utf-8');
// Paramètres de connexion à la base
define('DB_HOST' , 'localhost');
define('DB_NAME' , 'assistouest');
define('DB_USER' , 'adrienpiron');
define('DB_PASS' , 'Ap6844100?!');
// Connexion à la base avec PDO
try{
$pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
} catch(Exception $e) {
echo "Impossible de se connecter à la base de données '".DB_NAME."' sur ".DB_HOST." avec le compte utilisateur '".DB_USER."'";
echo "<br/>Erreur PDO : <i>".$e->getMessage()."</i>";
die();
}
?>
<?php
// Fonction qui permet de mettre à jour le compteur de visites
function compter_visite(){
// On va utiliser l'objet $pdo pour se connecter, il est créé en dehors de la fonction
// donc on doit indiquer global $pdo; au début de la fonction
global $pdo;
// On prépare les données à insérer
$ip = $_SERVER['REMOTE_ADDR']; // L'adresse IP du visiteur
$date = date('Ymd H: i: s'); // La date d'aujourd'hui, sous la forme AAAA-MM-JJ
// Mise à jour de la base de données
// 1. On initialise la requête préparée
$query = $pdo->prepare("
INSERT INTO stats_visites (ip , date_visite , pages_vues) VALUES (:ip , :date , 1)
ON DUPLICATE KEY UPDATE pages_vues = pages_vues + 1
");
// 2. On execute la requête préparée avec nos paramètres
$query->execute(array(
':ip' => $ip,
':date' => $date
));
}
// Comptabilisation de la visite
compter_visite();
$query = $pdo->prepare("SELECT * FROM stats_visites");
$query->execute();
$result = $query->fetchAll();
$pages_vues = count($result);
echo $pages_vues;
?>
PS: Je suis nul en PHP et MyQSL
Les erreurs :
( ! ) Notice: Constant DB_NAME already defined in C:\wamp64\www\compteur.php on line 8
( ! ) Notice: Constant DB_USER already defined in C:\wamp64\www\compteur.php on line 9
( ! ) Notice: Constant DB_PASS already defined in C:\wamp64\www\compteur.php on line 10
( ! ) Warning: PDOStatement::execute(): SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect date value: '20220519 18: 48: 57' for column 'date_visite' at row 1 in C:\wamp64\www\compteur.php on line 43
Vous êtes ici sur un forum d'entraide communautaire et non pas sur un forum de demande de service, le but n'est donc pas de fournir une réponse toute faite ou de directement fournir la solution à quiconque viendrait sans la moindre trace. Afin d'obtenir de l'aide et une solution à votre problème, il est fortement recommandé de présenter clairement l'état actuel du problème en nous fournissant :
Un descriptif clair et précis du problème : quelles sont les erreurs exactement ? on ne peut pas les deviner.
La tentative actuelle de résolution que vous avez effectué
Le résultat attendu et le résultat actuel
Toutes pistes de recherches pouvant aider à la résolution
Mauvais titre
Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.
Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).
De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.
Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.
Merci de modifier votre titre. Pour cela, éditez le premier message de votre sujet. (et profitez-en pour modifier la fin de votre message, c'est un forum public, avec parfois de jeunes personnes, évitons les termes orduriers )
( ! ) Notice: Constant DB_NAME already defined in C:\wamp64\www\compteur.php on line 8
( ! ) Notice: Constant DB_USER already defined in C:\wamp64\www\compteur.php on line 9
( ! ) Notice: Constant DB_PASS already defined in C:\wamp64\www\compteur.php on line 10
( ! ) Warning: PDOStatement::execute(): SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect date value: '20220519 18: 48: 57' for column 'date_visite' at row 1 in C:\wamp64\www\compteur.php on line 43
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)