J'ai une erreur au chargement de la page : Parse error: syntax error, unex...
Résolu/Fermé
Recoh
Messages postés
36
Date d'inscription
dimanche 19 juillet 2020
Statut
Membre
Dernière intervention
2 mars 2021
-
Modifié le 23 janv. 2021 à 16:22
jordane45 Messages postés 38350 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 décembre 2024 - 23 janv. 2021 à 23:24
jordane45 Messages postés 38350 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 décembre 2024 - 23 janv. 2021 à 23:24
A voir également:
- J'ai une erreur au chargement de la page : Parse error: syntax error, unex...
- Erreur 0x80070643 - Accueil - Windows
- Supprimer une page word - Guide
- Comment traduire une page - Guide
- Word numéro de page 1/2 - Guide
- Créer une page facebook - Guide
5 réponses
Recoh
Messages postés
36
Date d'inscription
dimanche 19 juillet 2020
Statut
Membre
Dernière intervention
2 mars 2021
Modifié le 23 janv. 2021 à 16:37
Modifié le 23 janv. 2021 à 16:37
J'ai modifié les ' par " dans la requête et ça me donne la page normale avec, au lieu du résultat (les libellés concaténés des plats du menu 1) ça :
Resource id #6 : €
jordane45
Messages postés
38350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 décembre 2024
4 719
Modifié le 23 janv. 2021 à 17:26
Modifié le 23 janv. 2021 à 17:26
Bonjour,
Déjà, ta requête contenant déjà des simples quotes à l'intérieur .. il faut utiliser, pour l'entourer.. des doubles quotes
Ensuite, sache que l'extension mysql_* est obsolète et qu'il ne faut plus l'utiliser.
A la place, il te faudra modifier ton code en mysqli ou en PDO.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
En PDO par exemple
Je t'invite, pour tes prochains codes à lire et à appliquer le contenu de ces liens
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Déjà, ta requête contenant déjà des simples quotes à l'intérieur .. il faut utiliser, pour l'entourer.. des doubles quotes
$sql = "SELECT GROUP_CONCAT(label SEPARATOR ', ') AS LABELS FROM produits WHERE menu = :menu GROUP BY menu;"; $dm1 = mysql_query($sql) OR die ('Erreur de connexion à la base');
Ensuite, sache que l'extension mysql_* est obsolète et qu'il ne faut plus l'utiliser.
A la place, il te faudra modifier ton code en mysqli ou en PDO.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
En PDO par exemple
<?php // DEBUT DU SCRIPT ... AVANT TOUT CODE HTML !! //---------------------------------------------------// //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd try{ $bdd =new PDO('mysql:host=localhost; dbname=c5_plus; charset=utf8', 'root', ''); // Activation des erreurs PDO $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } //préparation de la requête et des variables $sql = "SELECT GROUP_CONCAT(label SEPARATOR ', ') AS LABELS FROM produits WHERE menu = :menu GROUP BY menu;"; $datas = array(':menu'=>1); //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } //on stocke le résultat de la requête dans un array $row = $requete->fetch(); $labels = !empty($row) ? $row['LABELS'] : "-"; ?> <!Doctype> <html> <head> <meta charset="utf-8"> <title>Ton titre</title> </head> <body> <h2 align="center">Les Menus</h2> <p align="center">Que diriez-vous d'un menu à emporter ?</p> <p><?php echo "$dm1" ?> : €</p> </body> </html>
Je t'invite, pour tes prochains codes à lire et à appliquer le contenu de ces liens
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
jordane45
Messages postés
38350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 décembre 2024
4 719
23 janv. 2021 à 18:35
23 janv. 2021 à 18:35
Par contre, si tu dev et testes tes pages sur free ... je pense qu'il faut passer en php 5.6 (minimum, PHP 7 si possible
Je ne sais pas si ceci est encore valable :
http://les.pages.perso.chez.free.fr/migrations/php5v6.io
Je ne sais pas si ceci est encore valable :
http://les.pages.perso.chez.free.fr/migrations/php5v6.io
Recoh
Messages postés
36
Date d'inscription
dimanche 19 juillet 2020
Statut
Membre
Dernière intervention
2 mars 2021
Modifié le 23 janv. 2021 à 19:48
Modifié le 23 janv. 2021 à 19:48
J'ai réutilisé le code pour obtenir le descriptif du premier menu (il y en a 3), ça donne ça :
J'ai collé ça dans fichier passant par un include (type if elseif else) pour qu'il soit avant le code html de ma page générale (puisque la page menu n'est en fait qu'un bout du body) .
J'ai cette erreur :
Ligne 5 : try{
Je pense que c'est la question du caractère en php.. ..je creuse...
EDIT : Correction des balises de code. ( Ajout du langage pour avoir la coloration syntaxique )
<?php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); try{ $bdd = new PDO('mysql:host=localhost;dbname=c5_plus', 'xxxxxx', xxxxxxx'); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } $sql = "SELECT GROUP_CONCAT(label SEPARATOR ', ') AS LABELS FROM produits WHERE menu = :menu GROUP BY menu;"; $dm1 = array(':menu'=>1); try{ $requete = $bdd -> prepare($sql) ; $requete->execute($dm1) ; }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($dm1); } $row = $requete->fetch(); $dm1 = !empty($row) ? $row['LABELS'] : "-"; ?>
J'ai collé ça dans fichier passant par un include (type if elseif else) pour qu'il soit avant le code html de ma page générale (puisque la page menu n'est en fait qu'un bout du body) .
J'ai cette erreur :
Parse error: syntax error, unexpected '{' in /mnt/105/sdb/b/c/c5.plus/traiteur/sqlquery.php on line 5
Ligne 5 : try{
Je pense que c'est la question du caractère en php.. ..je creuse...
EDIT : Correction des balises de code. ( Ajout du langage pour avoir la coloration syntaxique )
jordane45
Messages postés
38350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 décembre 2024
4 719
23 janv. 2021 à 19:52
23 janv. 2021 à 19:52
As tu lu mon autre message parlant de la version de php ???
Les pages perso free sont sur une très ancienne version de php ( php 4)
Aujourd'hui, on code en php 7.3 ... ( et la version 8 de php arrive ... )
Autant dire que tu as 20 ans de retard ....
Donc :
Pour faire tes dev, soit tu le fais en local sur ton ordi ( en utilisant un logiciel tel que Laragon ou Xampp pour émuler un serveur apache/php )
Soit tu héberges tes pages sur un "vrai" hébergeur qui a ses versions php à jour
Soit, sur free, tu peux, via un fichier .htaccess "forcer" la version de php au minimum en version 5.6 ... voir, si possible, en 7 ..
PS: Fais l'effort de lire toutes les réponses qu'on te donne.
J'ai l'impression que tu les lies en diagonale et/ou que tu ne les lies même pas.
Les pages perso free sont sur une très ancienne version de php ( php 4)
Aujourd'hui, on code en php 7.3 ... ( et la version 8 de php arrive ... )
Autant dire que tu as 20 ans de retard ....
Donc :
Pour faire tes dev, soit tu le fais en local sur ton ordi ( en utilisant un logiciel tel que Laragon ou Xampp pour émuler un serveur apache/php )
Soit tu héberges tes pages sur un "vrai" hébergeur qui a ses versions php à jour
Soit, sur free, tu peux, via un fichier .htaccess "forcer" la version de php au minimum en version 5.6 ... voir, si possible, en 7 ..
PS: Fais l'effort de lire toutes les réponses qu'on te donne.
J'ai l'impression que tu les lies en diagonale et/ou que tu ne les lies même pas.
Recoh
Messages postés
36
Date d'inscription
dimanche 19 juillet 2020
Statut
Membre
Dernière intervention
2 mars 2021
23 janv. 2021 à 20:16
23 janv. 2021 à 20:16
Je suis en train de me dire que c'est la poisse !
J'ai collé le .htaccess avec le passage en php 5.6 et plus aucun lien ne fonctionne. Je trouve ça bien que ça évolue mais si ça condamne tout le "plus de 20 ans" comme tu dis ça va rendre caduc des tas de sites qui ont fait aussi l'histoire d'internet en France...
Enfin bon ! Si le but de tout ce qui se créé est d'être obsolète dès la naissance, je comprends...
Et php 92.1 en 2114 ressemblera à des hiéroglyphes pour php 191.3 en 3245...
|-b
;)
J'ai collé le .htaccess avec le passage en php 5.6 et plus aucun lien ne fonctionne. Je trouve ça bien que ça évolue mais si ça condamne tout le "plus de 20 ans" comme tu dis ça va rendre caduc des tas de sites qui ont fait aussi l'histoire d'internet en France...
Enfin bon ! Si le but de tout ce qui se créé est d'être obsolète dès la naissance, je comprends...
Et php 92.1 en 2114 ressemblera à des hiéroglyphes pour php 191.3 en 3245...
|-b
;)
jordane45
Messages postés
38350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 décembre 2024
4 719
Modifié le 23 janv. 2021 à 21:17
Modifié le 23 janv. 2021 à 21:17
Je te rassure, la plus part des sites ont été mise à jour ...
Et puis, ta comparaison est ridicule ... Les choses changent, évoluent.. pour des raisons de sécurité, de performances ... sinon on en serait encore au minitel ... voir au télégraphe... ou à utiliser des tambours et des signaux de fumée ...
Pour quelqu'un qui dit faire des formations... et créer des sites web sur sa page perso... ben.. heu... je ne sais pas dans quelle grotte (surtout qu'il n'y en a pas vers chez toi... ) tu as vécu ces vingt dernières années... mais les choses bougent.
J'espère que tes formations windows ne se font pas sur du windows 3.11 ...( et pourtant.. lui aussi c'est une page "hsitorique" des ordinateurs personnels )
Et puis, ta comparaison est ridicule ... Les choses changent, évoluent.. pour des raisons de sécurité, de performances ... sinon on en serait encore au minitel ... voir au télégraphe... ou à utiliser des tambours et des signaux de fumée ...
Pour quelqu'un qui dit faire des formations... et créer des sites web sur sa page perso... ben.. heu... je ne sais pas dans quelle grotte (surtout qu'il n'y en a pas vers chez toi... ) tu as vécu ces vingt dernières années... mais les choses bougent.
J'espère que tes formations windows ne se font pas sur du windows 3.11 ...( et pourtant.. lui aussi c'est une page "hsitorique" des ordinateurs personnels )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Recoh
Messages postés
36
Date d'inscription
dimanche 19 juillet 2020
Statut
Membre
Dernière intervention
2 mars 2021
23 janv. 2021 à 23:11
23 janv. 2021 à 23:11
lmao
C'est pour l' "obsolescence" que tu m'accables par ces mots ?!
Trêve de plaisanterie, effectivement, j'utilise surtout du html et du php très basique car je ne fais que des sites persos, et si on me demande un site capable de gérer un panier, une commande, un achat, je refuse et je renvoie vers un vrai webmaster, dont c'est le métier. Lui, sait travailler avec les BD et sait à qui demander quand il veut une solution. Je ne vends pas de site, j'applique l'architecture de mon site perso -tel qu'il est, il me plaît ! Et je l'adapte au souhait dans la limite de ce que je maîtrise. Par contre, pour "dépanner" un pote qui n'a pas un gros revenu et veut essayer d'utiliser un site pour promouvoir ses produits et informer ses clients, ça me va.
Il m'a suggéré la possibilité d'une commande directe, ce qui implique un panier, une commande, un choix, un prix, des tables et un SGBD ..! Et bien sûr, une grosse envie, de ma part, d'y arriver, comme si je savais le faire !!
Du coup, j'apprends, je me rends compte des impasses, des remises en question, les doutes quoi !
Je vais déjà essayer de tout mettre à la sauce php7, j'ai téléchargé la doc complète de php dot com. On verra bien !?
Merci encore pour tes conseils jordane45
C'est pour l' "obsolescence" que tu m'accables par ces mots ?!
Trêve de plaisanterie, effectivement, j'utilise surtout du html et du php très basique car je ne fais que des sites persos, et si on me demande un site capable de gérer un panier, une commande, un achat, je refuse et je renvoie vers un vrai webmaster, dont c'est le métier. Lui, sait travailler avec les BD et sait à qui demander quand il veut une solution. Je ne vends pas de site, j'applique l'architecture de mon site perso -tel qu'il est, il me plaît ! Et je l'adapte au souhait dans la limite de ce que je maîtrise. Par contre, pour "dépanner" un pote qui n'a pas un gros revenu et veut essayer d'utiliser un site pour promouvoir ses produits et informer ses clients, ça me va.
Il m'a suggéré la possibilité d'une commande directe, ce qui implique un panier, une commande, un choix, un prix, des tables et un SGBD ..! Et bien sûr, une grosse envie, de ma part, d'y arriver, comme si je savais le faire !!
Du coup, j'apprends, je me rends compte des impasses, des remises en question, les doutes quoi !
Je vais déjà essayer de tout mettre à la sauce php7, j'ai téléchargé la doc complète de php dot com. On verra bien !?
Merci encore pour tes conseils jordane45
jordane45
Messages postés
38350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 décembre 2024
4 719
23 janv. 2021 à 23:24
23 janv. 2021 à 23:24
Rien n'est impossible à réaliser et tout s'apprend.
Il ne faut juste essayer de se mettre aux gouts du jours des technologies.
Pour le panier, tu peux, par exemple t'inspirer d'un code comme celui -ci
https://codes-sources.commentcamarche.net/source/102874-php-panier-caddi-virtuel-en-session
Cette version n'est que pour l'exemple et ne se sert que des variables de session.
Afin de pouvoir l'appliquer à un "vrai" site marchand, il faut y ajouter une gestion via base de données.
Et pour ce qui est de développer/tester tes scripts, je t'invite à installer sur ton ordi
( si windows ) un logiciel tel que Laragon ou xampp,
(sur mac : ) Mamp
(si Linux ) : là tu peux directement installer les packages apache/php/mysql
car les tester sur free n'est pas la meilleur solution je pense
Ensuite, pour ce qui est du moteur de connexion à la bdd, tu as le choix entre PDO (celui que je préfère et utilise au quotidien dans mon travail ) ou mysqli ( en Style procédural ou en Style orienté objet .. peu importe )
Le plus important avant de te lancer dans ton projet est de réaliser en premier un cahier des charges (qui liste en grandes lignes les différentes pages attendues )
Puis le découper dans un cahier des spécificités fonctionnelles ( en y détaillant, pour chaque page, chaque fonctionnalités qui seront nécessaires )
Puis penser/concevoir le modèle de la bdd
Et seulement après tout ça.. commencer à coder.
Je t'invite également à installer des cms e-commerce comme Magento ou prestashop ... juste pour voir comment ça fonctionne, voir à quoi ressemblent les bases de données ....
Ca donne de bonnes idées pour ensuite réaliser ces propres dev.
Il ne faut juste essayer de se mettre aux gouts du jours des technologies.
Pour le panier, tu peux, par exemple t'inspirer d'un code comme celui -ci
https://codes-sources.commentcamarche.net/source/102874-php-panier-caddi-virtuel-en-session
Cette version n'est que pour l'exemple et ne se sert que des variables de session.
Afin de pouvoir l'appliquer à un "vrai" site marchand, il faut y ajouter une gestion via base de données.
Et pour ce qui est de développer/tester tes scripts, je t'invite à installer sur ton ordi
( si windows ) un logiciel tel que Laragon ou xampp,
(sur mac : ) Mamp
(si Linux ) : là tu peux directement installer les packages apache/php/mysql
car les tester sur free n'est pas la meilleur solution je pense
Ensuite, pour ce qui est du moteur de connexion à la bdd, tu as le choix entre PDO (celui que je préfère et utilise au quotidien dans mon travail ) ou mysqli ( en Style procédural ou en Style orienté objet .. peu importe )
Le plus important avant de te lancer dans ton projet est de réaliser en premier un cahier des charges (qui liste en grandes lignes les différentes pages attendues )
Puis le découper dans un cahier des spécificités fonctionnelles ( en y détaillant, pour chaque page, chaque fonctionnalités qui seront nécessaires )
Puis penser/concevoir le modèle de la bdd
Et seulement après tout ça.. commencer à coder.
Je t'invite également à installer des cms e-commerce comme Magento ou prestashop ... juste pour voir comment ça fonctionne, voir à quoi ressemblent les bases de données ....
Ca donne de bonnes idées pour ensuite réaliser ces propres dev.
23 janv. 2021 à 16:43
23 janv. 2021 à 16:51
23 janv. 2021 à 17:03
..je suis dessus !
Merci de cette célérité !
...