Sessions php avec Joomla! Besoin d'aide
Résolu
Ovitch28
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Ovitch28 Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Ovitch28 Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travaille sur un site par l'intermédiaire de Joomla!.Et je voulais savoir si sur Joomla! les sessions fonctionnait autrement que sur un site autre , ou meme si Joomla! utilisait son propre système de session.
Car, dans mon script, je souhaite récupérer la suite de chiffres générée par un captcha avec une variable de session : $_SESSION['nbr'], pour ensuite la comparer avec le code rentrer par l'utilisateur:$_POST['verif__code'] (envoyé donc par un formulaire)
Cependant, lorsque je met session_start() en debut de script, il me signale que :
"Notice: A session had already been started - ignoring session_start()."
Et il ne trouve pas la variable 'nombre' citée plus haut.Et lorsque je retire session_start(), c'est pas mieu.
J'ai 3 script:
Création du captcha: captchab.php:(je vous met l'essentiel)
Formulaire d'envoi des données: lienb.php
Script de réception et de verif: arrive.php (seulement l'essentiel)
Notez que lorsque je note le chemin complet (par exemple, au lieu de marquer : http://localhost/index.php?option=com_arrive , je marque http://localhost/components/com_arrive/arrive.php) cela marche parfaitement. D'où mon questionnement sur les sessions dans Joomla.
Voila, en espérant trouver de l'aide ici, et n'hésitez pas à signaler les incohérences ou les erreurs bêtes, je débute en php donc ca m'aidera beaucoup.
Merci à vous.
je travaille sur un site par l'intermédiaire de Joomla!.Et je voulais savoir si sur Joomla! les sessions fonctionnait autrement que sur un site autre , ou meme si Joomla! utilisait son propre système de session.
Car, dans mon script, je souhaite récupérer la suite de chiffres générée par un captcha avec une variable de session : $_SESSION['nbr'], pour ensuite la comparer avec le code rentrer par l'utilisateur:$_POST['verif__code'] (envoyé donc par un formulaire)
Cependant, lorsque je met session_start() en debut de script, il me signale que :
"Notice: A session had already been started - ignoring session_start()."
Et il ne trouve pas la variable 'nombre' citée plus haut.Et lorsque je retire session_start(), c'est pas mieu.
J'ai 3 script:
Création du captcha: captchab.php:(je vous met l'essentiel)
header("Content-type: image/png"); session_start(); # # # $nombre = mt_rand(1234567,123456789)+ 1; # # imagestring($image, 5, 30, 75, $nombre, $couleur); //on écrit horizontalement $_SESSION['nbr']=$nombre; imagepng($image); //renvoie une image sous format png imagedestroy($image); //détruit l'image, libérant ainsi de la mémoire
Formulaire d'envoi des données: lienb.php
<html> <?php header("Content-type: image/png"); defined( '_JEXEC' ) or die( 'Restricted access' ); echo '<br/><h1>Veuiller remplir <strong>tous</strong> les champs ci-dessous.</h1><br/>'; echo '<br\n>'; echo '<A href="http://localhost/index.php?option=com_lien"><br/> <h4>Retour a la page d\'accueil</h4><br/></A>'; //affichage de la date et de l'heure echo ("<CENTER>"); setlocale(LC_TIME,'fr_FR.utf-8'); print (strftime("%A %e %B %Y à %Hh%M")); echo ("</CENTER>"); ?> <form action="http://localhost/index.php?option=com_arrive" method="post" enctype="multipart/form-data"> <img src="http://localhost/components/com_captchab" alt="Code de verification"> <p><label>Merci de retaper le code de l'image ci-dessus</label> : <input type="text" name="verif_code" /></p> <p><h3>Formulaire d'envoi de fichier</h3></p> Fichier: <input type="file" name="fichier"/><br /> Email : <input type="text" name="email"/><br /> <input type="submit" value="Envoyer les donnees" /> </form> <a href="http://localhost/index.php?option=com_lienb"><br><h4>Restaurer barre de fichiers</h4></A> </html>
Script de réception et de verif: arrive.php (seulement l'essentiel)
session_start(); if(isset($_SESSION['nbr'])) { echo 'Variable declaree'; } else { echo 'Variable non declaree'; } print_r($_POST['verif_code']); echo '<br/>'; print_r($_SESSION['nbr']); $debut_html = '<html> <head> <title>Inscription</title> </head> <body> <p>'; $milieu_html = NULL; $fin_html = '</p> </body> </html>'; if(empty($_POST['email'])) { echo 'Tous les champs doivent etre remplis.'; echo '<a href="Javascript:history.go(-1)">RETOUR</a>'; } else { if(isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0) { if(empty($_POST['verif_code'])) { echo 'Tous les champs doivent etre remplis.'; echo '<a href="Javascript:history.go(-1)">RETOUR</a>'; } ################################################################################### # Si le code est correcte, on passe à la suite. else { if($_POST['verif_code']==$_SESSION['nbr']) #Là où le script bloque
Notez que lorsque je note le chemin complet (par exemple, au lieu de marquer : http://localhost/index.php?option=com_arrive , je marque http://localhost/components/com_arrive/arrive.php) cela marche parfaitement. D'où mon questionnement sur les sessions dans Joomla.
Voila, en espérant trouver de l'aide ici, et n'hésitez pas à signaler les incohérences ou les erreurs bêtes, je débute en php donc ca m'aidera beaucoup.
Merci à vous.
A voir également:
- Sessions php avec Joomla! Besoin d'aide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Veuillez ouvrir une session avec les privilèges du gestionnaire - Forum Windows 10
- Alert php ✓ - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
1 réponse
Si vous travaillez sous Joomla, l'API de programmation offre plusieurs facilités pour récupérer les valeurs POST/GET et pour travailler avec les sessions :
https://docs.joomla.org/Retrieving_and_Filtering_GET_and_POST_requests_with_JRequest::getVar
Les sessions pour Joomla 1.5:
http://www.thinkbigshot.com/blog/technical/147-using-sessions-in-joomla-15.html
Site en anglais, mais le code est bon.
Bon succès,
https://docs.joomla.org/Retrieving_and_Filtering_GET_and_POST_requests_with_JRequest::getVar
Les sessions pour Joomla 1.5:
http://www.thinkbigshot.com/blog/technical/147-using-sessions-in-joomla-15.html
Site en anglais, mais le code est bon.
Bon succès,
Je m'étais rabattu sur l'utilisation de cookie à la place des sessions et ça marche.
Mais graçe à toi je comprend mieu l'utilisation des sessions dans joomla.
Encore merci!