Pb erreur pages blanche !
Fermé
Profil bloqué
-
Modifié par jordane45 le 19/08/2016 à 16:45
jordane45 Messages postés 38366 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 janvier 2025 - 19 août 2016 à 16:49
jordane45 Messages postés 38366 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 janvier 2025 - 19 août 2016 à 16:49
A voir également:
- Pb erreur pages blanche !
- Erreur 0x80070643 - Accueil - Windows
- Supprimer page blanche word - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Fichier pages ✓ - Forum MacOS
2 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
19 août 2016 à 15:58
19 août 2016 à 15:58
Salut,
Vérifie la valeur de $_SESSION['id'] : si celle-ci est vide ou non définie, ta première condition n'est pas validé et donc tout le reste du code n'est pas exécuté, d'où la page blanche.
Plusieurs remarques sur ton code :
- Active le rapport d'erreur de PDO en développement pour voir les éventuelles erreurs sql : https://www.php.net/manual/fr/pdo.error-handling.php
- la fonction empty() permet de tester si la variable existe et n'est pas vide, il n'est donc pas nécessaire de tester avant si la variable existe avec isset(), empty() suffit.
- htmlspecialchars() ne doit pas être utilisée sur les données utilisées dans une requête sql car elle ne protège en rien contre les injections sql. L'utilisation des requêtes préparées suffit pour contrer les injections sql. htmlspecialchars(), comme son nom l'indique, doit être utilisée lors de l'affichage de données dans le document html pour éviter les failles xss.
- rowCount() fonctionne sur les requêtes de type INSERT, UPDATE ou DELETE et n'est pas garantie pour les requête de type SELECT. La solution est de faire une requête SELECT COUNT(*) puis d'utiliser fetchColumn sur le résultat de cette requête comme expliqué ici : https://www.php.net/manual/fr/pdostatement.rowcount.php#example-1065
- Concernant les opérateurs logiques, on recommande d'utiliser && à la place de AND et || à la place de OR à cause de la précédence des opérateurs : https://www.php.net/manual/fr/language.operators.precedence.php
Bonne journée,
Vérifie la valeur de $_SESSION['id'] : si celle-ci est vide ou non définie, ta première condition n'est pas validé et donc tout le reste du code n'est pas exécuté, d'où la page blanche.
Plusieurs remarques sur ton code :
- Active le rapport d'erreur de PDO en développement pour voir les éventuelles erreurs sql : https://www.php.net/manual/fr/pdo.error-handling.php
- la fonction empty() permet de tester si la variable existe et n'est pas vide, il n'est donc pas nécessaire de tester avant si la variable existe avec isset(), empty() suffit.
- htmlspecialchars() ne doit pas être utilisée sur les données utilisées dans une requête sql car elle ne protège en rien contre les injections sql. L'utilisation des requêtes préparées suffit pour contrer les injections sql. htmlspecialchars(), comme son nom l'indique, doit être utilisée lors de l'affichage de données dans le document html pour éviter les failles xss.
- rowCount() fonctionne sur les requêtes de type INSERT, UPDATE ou DELETE et n'est pas garantie pour les requête de type SELECT. La solution est de faire une requête SELECT COUNT(*) puis d'utiliser fetchColumn sur le résultat de cette requête comme expliqué ici : https://www.php.net/manual/fr/pdostatement.rowcount.php#example-1065
- Concernant les opérateurs logiques, on recommande d'utiliser && à la place de AND et || à la place de OR à cause de la précédence des opérateurs : https://www.php.net/manual/fr/language.operators.precedence.php
Bonne journée,
jordane45
Messages postés
38366
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 janvier 2025
4 720
19 août 2016 à 16:49
19 août 2016 à 16:49
Bonjour Player,
Il te suffit de faire un print de la variable $_SESSION['id'] pour voir ce qu'elle contient
Par exemple, place ce bout de code au début de ta page ( sous le session_start(); ):
Et pour ce qui est d'activer les erreurs PDO, je t'invite à lire ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
De plus, pense à placer au début de ton script php la ligne suivante :
Afin d'afficher les erreurs PHP de ta page.
Pour le reste... je valide la réponse de Pitet (A qui je passe un petit bonjour au passage :-) )
je n'ai pas très bien compris pour session id
Il te suffit de faire un print de la variable $_SESSION['id'] pour voir ce qu'elle contient
Par exemple, place ce bout de code au début de ta page ( sous le session_start(); ):
//Affiche le contenu de la variable $_SESSION print_r($_SESSION);
Et pour ce qui est d'activer les erreurs PDO, je t'invite à lire ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
De plus, pense à placer au début de ton script php la ligne suivante :
error_reporting(E_ALL);
Afin d'afficher les erreurs PHP de ta page.
Pour le reste... je valide la réponse de Pitet (A qui je passe un petit bonjour au passage :-) )
Modifié par Player3136 le 19/08/2016 à 16:40