Information importante
En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".
Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact
De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.
Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".
Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.
peut on avoir un bout de
Permalien Soumis par lxs le 22 Mars, 2006 - 17:12
peut on avoir un bout de code et un cas d'utilisation precis pour t'aider ?
J'ai un formulaire avec un
Permalien Soumis par cyberkate le 28 Mars, 2006 - 10:38
J'ai un formulaire avec un champ nommé "libelle", et je le récupère grâce au paramètre passé en POST.
J'aimerais mettre cette valeur dans une variable session pour la réutiliser plus tard.
Pour ce qui est du code, il s'agit d'un formulaire tout simple, et il semblerait que les variables sessions soient stockées dans la table sessions sours Drupal, donc je ne vois pas du tout comment les utiliser...
Merci de ton aide.
Il suffit normalement
Permalien Soumis par Damien Tournoud le 29 Mars, 2006 - 00:27
Il suffit normalement d'utiliser la variable global
$_SESSION
, comme d'habitude en PHP. Si votre problème est ailleurs, un bout de code aiderait bien :)J'ai trouvé une alternative
Permalien Soumis par cyberkate le 4 Avril, 2006 - 09:25
J'ai trouvé une alternative en utilisant des variables passées par URL.
Par contre, j'aimerais récupérer le nom de l'utilisateur en cours dans une variable session... est-ce qu'il en existe déjà une ?
Merci de votre aide.
essayes avec la variable
Permalien Soumis par alkahan le 4 Avril, 2006 - 11:34
essayes avec la variable $user->name
Merci, cela marche
Permalien Soumis par cyberkate le 4 Avril, 2006 - 14:50
Merci, cela marche bien.
J'ai du ajouter global $user; devant. ;-)
@+
Bjr, Comment tu fait pour
Permalien Soumis par tchoul le 9 Août, 2011 - 16:33
Bjr,
Comment tu fait pour recuperer une variables session sous Drupal ?
Car j'aimerais faire une requete vers la base de données pour recuperer l'email de l'utilisateur connecté selon son name :
$rep = $bdd->query('SELECT mail FROM users WHERE name='.$user->name);
Merci
Bjr, Comment tu fait pour
Permalien Soumis par tchoul le 9 Août, 2011 - 16:33
Bjr,
Comment tu fait pour recuperer une variables session sous Drupal ?
Car j'aimerais faire une requete vers la base de données pour recuperer l'email de l'utilisateur connecté selon son name :
$rep = $bdd->query('SELECT mail FROM users WHERE name='.$user->name);
Merci
Bjr, Comment tu fait pour
Permalien Soumis par tchoul le 9 Août, 2011 - 16:34
Bjr,
Comment tu fait pour recuperer une variables session sous Drupal ?
Car j'aimerais faire une requete vers la base de données pour recuperer l'email de l'utilisateur connecté selon son name :
$rep = $bdd->query('SELECT mail FROM users WHERE name='.$user->name);
Merci
Bonjour, dans tous les cas il
Permalien Soumis par vincent59 le 10 Août, 2011 - 11:02
Bonjour,
dans tous les cas il vaut mieux passer par les API Drupal, et ne pas faire des requêtes sur la base de données.
Pour l'objet utilisateur, c'est ici : http://api.drupal.org/api/drupal/developer--globals.php/global/user/6
Par exemple, pour le mail, ce serait :
global $user;
echo "L'adresse mail de l'utilisateur ",$user->name," est : ",$user->mail;
Bjr Vincent Merci por ta
Permalien Soumis par tchoul le 10 Août, 2011 - 11:47
Bjr Vincent
Merci por ta reponse.
1) Est-ce dangéreux de faire des requetes sur la base de données ? Pourquoi
Car j'ai fait des requetes, et ça a l'air de marcher
2) l'objet dont tu parles est "stdClass Object" ?. Faut-il faire un copier coller de cet objet pour le mettre dans le repertoire des modules ? comment ça se passe ?
Peux-tu m'expliquer claire comment on doit mettre tout cela en oeuvre ? je débute sur Drupal 7
Merci
1)Ce n’est pas dangereux,
Permalien Soumis par vincent59 le 10 Août, 2011 - 16:12
1)Ce n'est pas dangereux, mais les API permettent de s'assurer que les règles d'accès sont respectées, et elles peuvent utiliser des objets en cache
2) l'objet est de type stdClass, mais la variable $user est déclarée dans tous les cas. Pas besoin de faire un copier/coller, il suffit juste de mettre dans ton code les lignes que j'ai donné en exemple.
... mon code
global $user;
// Adresse mail :
$adresse_mail = $user->mail;
... le reste de mon code
Tu peux faire un var_dump($user) pour avoir une idée de ce que ça comporte comme attributs
Merci, mais quel API faut-il
Permalien Soumis par tchoul le 10 Août, 2011 - 16:26
Merci, mais quel API faut-il dont utiliser et dans quel repertoire faut-il mettre ce fichier ou dossier de l'API. Je peut le mettre dans le repertoire des "modules" ?
Merci
Les API sont incluses dans le
Permalien Soumis par vincent59 le 10 Août, 2011 - 16:35
Les API sont incluses dans le core<:em> Drupal : tous est disponible dès que tu installes le produit.
C'est d'ailleurs la grande force de Drupal (et ce qui en fait autant un framework qu'un CMS), d'avoir de multiples API en standard, pour gérer une foultitude de choses, développer ses propres modules, etc.
Voir les hook_* qui permettent d'intervenir dans le déroulement des événements.
Pour tester, tu peux modifier par exemple une page de ton thème, et ajouter les lignes
global $user;
echo "<h2>Bonjour ",$user->name,"</h2>";
ça devrait afficher un message de bienvenue quelque part dans la page
Oui, mais quand je mets par
Permalien Soumis par tchoul le 10 Août, 2011 - 16:38
Oui, mais quand je mets par exemple ce code pour afficher le noms et prenom :
$field_connexion_nom_value = $user->field_connexion_nom_value;
$field_connexion_prenom_value = $user->field_connexion_prenom_value;
ça m'affiche l'erreur suivante :
Notice : Undefined property: stdClass::$field_connexion_nom_value dans eval() (ligne 6 dans /srv/d_biolit/www/www.devt.biolit.fr/htdocs/modules/php/php.module(74) : eval()'d code).
Notice : Undefined property: stdClass::$field_connexion_prenom_value dans eval() (ligne 7 dans /srv/d_biolit/www/www.devt.biolit.fr/htdocs/modules/php/php.module(74) : eval()'d code).
OK, en fait les attributs de
Permalien Soumis par vincent59 le 10 Août, 2011 - 16:56
OK, en fait les attributs de la stdClass sont les attributs par défaut.
Ici je pense qu'il s'agit de champs ajoutés. Dans ce cas, ce serait plutôt :
global $user;
$user_fields = user_load($user->uid);
$field_connexion_nom_value= $user_fields->field_connexion_nom_value['und']['0']['value'];
$field_connexion_prenom_value= $user_fields->field_connexion_prenom_value['und']['0']['value'];
Via http://drupal.org/node/1063552
J’ai bien mis : global
Permalien Soumis par tchoul le 10 Août, 2011 - 17:07
J'ai bien mis :
global $user;
$user_fields = user_load($user->uid);
$field_connexion_nom_value= $user_fields->field_connexion_nom_value['und']['0']['value'];
$field_connexion_prenom_value= $user_fields->field_connexion_prenom_value['und']['0']['value'];
Et ensuite, quand je passe le nom en paramètre pour l'afficher :
<a href="http://atlantique.biolit.fr/index.php?lastName=
J'ai apparemment la même erreur :
Notice : Undefined property: stdClass::$field_connexion_nom_value dans eval() (ligne 5 dans /srv/d_biolit/www/www.devt.biolit.fr/htdocs/modules/php/php.module(74) : eval()'d code).
Notice : Undefined property: stdClass::$field_connexion_prenom_value dans eval() (ligne 6 dans /srv/d_biolit/www/www.devt.biolit.fr/htdocs/modules/php/php.module(74) : eval()'d code).
Je comprends mieux le
Permalien Soumis par vincent59 le 10 Août, 2011 - 17:53
Je comprends mieux le problème. En fait il aurait fallu commencer par l'exemple...
Les infos que j'ai données sont correctes pour des données liées à un profil utilisateur, qui est connecté. Dans ce cas, Drupal instancie sa classe $user avec les données.
Je pense qu'il vaudrait mieux repartir du besoin exact. A quoi correspond le lastname passé en paramètre ?
Si c'est dans un module perso, ce devrait plutôt être :
?q=/monsupermodule/list/valeur_du_lastname
ou quelque chose dans ce genre.
J'avoue que je ne comprends plus trop le problème, ou plutôt comment le traiter...
Bjr le lastName passé en
Permalien Soumis par tchoul le 11 Août, 2011 - 10:42
Bjr
le lastName passé en paramètre est une variable qui correspond au nom de l'utilisateur connecté. cette variable "lastName" sera affichée dans une page( avec un "echo").
Je vous recommenderais de
Permalien Soumis par Damien Tournoud le 11 Août, 2011 - 10:52
Je vous recommenderais de consulter le Module developer's guide, et en particulier de suivre le tutoriel de manière complète.
Vous avez des a priori sur Drupal et son fonctionnement qui sont totalement faux.
Entièrement d’accord avec
Permalien Soumis par ceadreak le 23 Août, 2011 - 20:33
Entièrement d'accord avec Damien !
C'est à force de faire n'importe quoi qu'on ..... continue à faire n'importe quoi ...
Apprenez les bonnes pratique directement :)
Drupal est simple d'utilisation et les API telles form, etc ... sont vraiment puissantes.
Renseignez-vous bien sur les globales proposées par drupal comme $user, $language, ...
Les différentes fonctions natives aussi qui permettent de récupérer ce que vous voulez !
Sinon pour revenir au sujet
Permalien Soumis par ceadreak le 23 Août, 2011 - 20:37
Sinon pour revenir au sujet de départ, je n'ai jamais eu le cas de session détruite dans un site ...
Par contre j'ai eu le cas en passant http à https !
J'y ai remédier en passant le sessid dans l'url et je reconstruis la session de cette façon :
$sessid = $_GET['SESSID'];
$var = sess_read($sessid);
session_start();
Ensuite, toute les infos de la session se trouvent dans $var.
A+