PHP Problème $_SESSION
TRUNCKS
Messages postés
1066
Statut
Membre
-
TRUNCKS Messages postés 1066 Statut Membre -
TRUNCKS Messages postés 1066 Statut Membre -
Bonjour à vous,
J'ai un problème assez étrange que je n'arrive pas à résoudre.
J'ai une page où j'affiche des images au moyen d'une requête sur un session.
Seulement voilà, si tout se passe bien et que les images s'affichent, si jamais il y a un champ vide dans ma bdd, la session saute à la fin de la boucle.
Super bizarre:
En gros, si dans [url_image_mini'], il y a un moment où il rencontre un champ vide, la session saute. Si tous les champs sont remplis, pas de soucis.
J'ai un problème assez étrange que je n'arrive pas à résoudre.
J'ai une page où j'affiche des images au moyen d'une requête sur un session.
Seulement voilà, si tout se passe bien et que les images s'affichent, si jamais il y a un champ vide dans ma bdd, la session saute à la fin de la boucle.
Super bizarre:
//Images
$sql_image = "SELECT * FROM images_simple WHERE categorie_id = '".mysql_real_escape_string($_SESSION['type_base'])."'";
$requete_image = mysql_query($sql_image) or die( mysql_error());
echo '<table align="center" border="1">'; //tableau
echo '<tr><th> Images </th></tr>';
while ($result_image = mysql_fetch_array($requete_image)){
$image = $result_image['url_image_mini'];
echo '<tr>'; //ligne
echo '<td align="center" valign="middle"><img src="../../'.$image.'"</img></td>';?>
<td align="center" valign="middle"> <input type="button" name="Supprimer" value="Supprimer" onclick="supprimer(<?php echo $result_image['ID_image']; ?>)"/> </td>
<?php
echo '</tr>'; //fin ligne
}
echo '</table>';
En gros, si dans [url_image_mini'], il y a un moment où il rencontre un champ vide, la session saute. Si tous les champs sont remplis, pas de soucis.
A voir également:
- PHP Problème $_SESSION
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
17 réponses
Ben en fait il me perd l'array de session qui tombe à 0 alors qu'il eszt sensé garder la catégorie en mémoire.
J'ai un peu cherché, cela vient de cette ligne:
C'est ../.. qui fait merder.
Si j'enlève ça, plus de soucis.
Mais j'ai besoin de garder mon dossier image à cet endroit, je capte pas le rapport avec le session :(
J'ai un peu cherché, cela vient de cette ligne:
echo '<td align="center" valign="middle"><img src="../../'.$image.'"</img></td>';?>
C'est ../.. qui fait merder.
Si j'enlève ça, plus de soucis.
Mais j'ai besoin de garder mon dossier image à cet endroit, je capte pas le rapport avec le session :(
Euh tu parles du $_SESSION['type_base'] ?
Je ne vois pas où tu t'en sers après la requête ; ni où il pourrait être modifié...
Je ne vois pas où tu t'en sers après la requête ; ni où il pourrait être modifié...
Ben ici:
$sql_image = "SELECT * FROM images_simple WHERE categorie_id = '".mysql_real_escape_string($_SESSION['type_base'])."'";
Je fais le fetch array dessus.
$sql_image = "SELECT * FROM images_simple WHERE categorie_id = '".mysql_real_escape_string($_SESSION['type_base'])."'";
Je fais le fetch array dessus.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui enfin tu lis seulement la session afin de l'insérer dans la requête ; ça ne devrait en rien la modifier !
Je viens un peu de regarder avec firebug, en fait c'est le fait que cela retourne
../../ si il n'y a pas d'image qui fait merder.
../../ si il n'y a pas d'image qui fait merder.
Balise mal fermée. Remplace :
par
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
echo '<td align="center" valign="middle"><img src="../../'.$image.'"</img></td>';?>
par
echo '<td align="center" valign="middle"><img src="../../'.$image.'"/></td>';?>
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
En fait je viens de comprendre.
J'ai l'impression que la session se perd parce que je le demande de se rendre dans un dossier qui se trouve à deux niveau au dessus.J'ai déplacé le dossier image pour tester, je peux parfaitement me rendre dans un sous dossier inférieur, mais pas remonter sans perdre la session.--
J'ai l'impression que la session se perd parce que je le demande de se rendre dans un dossier qui se trouve à deux niveau au dessus.J'ai déplacé le dossier image pour tester, je peux parfaitement me rendre dans un sous dossier inférieur, mais pas remonter sans perdre la session.--
Je vois pas en quoi ça peut agir sur la variable de session.
Le PHP est excuté côté serveur et le HTML interprété côté client (navigateur).
"../../" est donc lu par le navigateur étant dans une balise HTML.
Hormis un problème de chemin, ça ne va pas agir sur la variable de session qui est "invisible" au navigateur.
Le problème est donc ailleurs.
Tu peux toutefois faire une chose.
Tu peux même ajouter un else pour afficher une image de remplacement dans le cas ou le champ serait vide.
Le PHP est excuté côté serveur et le HTML interprété côté client (navigateur).
"../../" est donc lu par le navigateur étant dans une balise HTML.
Hormis un problème de chemin, ça ne va pas agir sur la variable de session qui est "invisible" au navigateur.
Le problème est donc ailleurs.
Tu peux toutefois faire une chose.
echo '<td align="center" valign="middle">'; if(!empty($image)) echo'<img src="../../'.$image.'" alt="" />'; echo'</td>';
Tu peux même ajouter un else pour afficher une image de remplacement dans le cas ou le champ serait vide.
Des questions bêtes : tu n'as pas mis ton navigateur en mode privé ?
Et tu as bien créé le dossier "sessions" à la racine de ton site ?
Et si tu mets un :
dans ton while, tu vois la valeur apparaitre jusqu'à une certaine ligne, donc ?
Et tu as bien créé le dossier "sessions" à la racine de ton site ?
Et si tu mets un :
echo $_SESSION['type_base'] ;
dans ton while, tu vois la valeur apparaitre jusqu'à une certaine ligne, donc ?
Désolé je vais paraître idiot, mais ne n'ai jamais entenu parler d'un dossier "sessions".
J'ai juste ouvert la session dans une page, et elle est sensé se poursuivre non ?
J'ai juste ouvert la session dans une page, et elle est sensé se poursuivre non ?
Alors lors de l'utilisation des session il faut 2 choses :
1- un dossier de sessions pour que celles-ci soient bien stockées quelque part.
2- un session_start() avant tout code HTML et tout code PHP utilisant les session.
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913348-variables-superglobales#ss_part_2
1- un dossier de sessions pour que celles-ci soient bien stockées quelque part.
2- un session_start() avant tout code HTML et tout code PHP utilisant les session.
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913348-variables-superglobales#ss_part_2
Ah si c'est possible en effet, au temps pour moi. Cela ne coute rien de le mettre pour tester...
Le session_start() est-il bien placé avant toute chose ?
Le session_start() est-il bien placé avant toute chose ?
Ben oui tout baigne c'est vraiment bizarre.
Après si je met mon dossier image dans le même dossier, où même à un niveau inférieur, cela marche bien.
C'est vraiment le fait de remonter dans l'arborescence qui merde :(
root/admin/images ----> dossier où sont mes images.
root/admin/categorie ----> dossier des scripts en question
Après si je met mon dossier image dans le même dossier, où même à un niveau inférieur, cela marche bien.
C'est vraiment le fait de remonter dans l'arborescence qui merde :(
root/admin/images ----> dossier où sont mes images.
root/admin/categorie ----> dossier des scripts en question