IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Variable de session qui pert sa valeur


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut Variable de session qui pert sa valeur
    Bonjour a tous et toutes ,
    j'utilise ce script php depuis quelque temps pour faire un traitement .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php 
     
    session_start();
    header('Content-type: text/html; charset=UTF-8');
    include('./connexion_sql.php');
    //***************************connexion********************************************* / 
    $login_utilisateur = $_SESSION['login'];
    Mais ce Matin je me suis rendu compte que pendant le traitement d'un de mes utilisateur le login_utilisateur est devenu null
    qu'elle peut etre la cause et comment faire pour empecher cela
    augmenter le temp de durée de vie d'une session ? si oui et comment faire sur le serveur de notre hebergeur
    creer une div ou je vais stocker le contenu de login_utilisateur et l'utiliser quand le besoin se fait sentir ?
    Merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Qu'est ce que tu veux dire par "pendant le traitement" ?
    Un session ne peut pas expirer au cours d'un script PHP.

    Le premier point est que ton traitement ne devrait pas se lancer si un des valeurs n'est pas correct, il faut donc commencer par mettre des vérifications basiques.

  3. #3
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    bonjour Sabotage,
    Merci d'avoir pris la peine de me repondre.
    lorsque je dis pendant le traitement voici ce que je veux dire.
    j'ai un fichier envoyer_message.php que voici le début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php 
     
    session_start();
    header('Content-type: text/html; charset=UTF-8');
    include('./connexion_sql.php');
    //***************************connexion********************************************* / 
    $login_utilisateur = $_SESSION['login'];
    $sender_id = $_POST['sender_id'];
    $destinataire = $_POST['destinataire'];
    si dans le formulaire php, l'utilisateur décide d 'envoyer les messages (SMS) à 2 000 personnes , on fera appel a ce fichier 2 000 fois et il devra garder la variable de session $_SESSION['login']; car c'est impératif de savoir qui fait le traitement.
    en ce qui concerne la vérification de l’état de la variable avant le traitement , je souhaite faire ceci et je me demande si c'est la meilleur des solutions.
    dans le formulaire , avant je récupèrer directement le $login_utilisateur dans le variable de cession et sil n'est pas correct l’arrêt a ce niveau.
    une fois de plus Merci .

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    on fera appel a ce fichier 2 000 fois
    c'est à dire ? techniquement tu fais quoi ?

  5. #5
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    voici le truc ,
    j'ai un formulaire ou l'utilisateur charge une liste de numéro de téléphone pour lesquels il souhaite effectuer un envoie.
    on récupère ces numéros et le message ensuite on boucle sur le fichier php chargé d'effectué cet envoie. il peu arriver que l'utilisateur est chargé 2 500 numéros , la on est obligé d'appeler ce fichier 2 500 fois et en fonction du débit internet sa peu prendre un peu de Temp .
    durant ce Temp le variable de session ne doit pas perdre sa valeur.
    raison pour laquelle je souhaite la récupérer au niveau du formulaire, contrôler sa valeur avant d'appeler le fichier responsable des envoie.
    je pense vous avoir éclairci.
    Merci d'avance.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    on boucle sur le fichier php chargé
    C'est quoi ? une inclusion ? un appel Ajax ?

  7. #7
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    Bonjour Sabotage,
    c'est un appel AJAX.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    else // Gestion des envoies Direct
                    {
                        xhr.open("POST","../ss/envoyer_message_simple.php",false); 
                        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // permet l'encodage des POST
                        xhr.send("&sender_id=" + sender_id + "&destinataire=" + destinataire + "&message=" + message + "&nombre_message=" + nombre_message); // On définit les variables et leurs valeurs
     
                        if(parseInt(xhr.responseText) == 1){
     
                          }
     
                    } // Fin  Gestion des envoies Direct

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca se passe comment ? A chaque fois que l'utilisateur clique sur un nom, ca fait un envoi ?
    Si oui, comment on arrive à 2000 envois ? L'utilisateur clique 2000 fois ?

  9. #9
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    Non, il importe les numéro de téléphone à partir d'un csv que je stocke dans un tableau et ensuite je fais une boucle sur ce tableau .
    en transmettant les paramètre en post au fichier envoyer_message .

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il serait quand même bien plus efficace d'utiliser une fonction dans ce cas.
    La tu ouvres et ferme 1000 fois la connexion à la base de données par exemple.

  11. #11
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    justement c'est dans une fonction mais je viens de constater que je ne la ferme pas.
    voici une partie de la fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    if(destinataire.length == 9){
                    // insertion dans le detail des transactions
                    var xhr = getXhr()
                    // Gestion de la programmation des Message. 
                    if (ok_programmation.checked==true) 
                    {
                        //alert('date_programmation');
                        xhr.open("POST","../ss/programmer_message_simple.php",false); 
                        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // permet l'encodage des POST
                        xhr.send("&sender_id=" + sender_id + "&date_programmation=" + date_programmation + "&destinataire=" + destinataire + 
                                    "&message=" + message + "&nombre_message=" + nombre_message); // On définit les variables et leurs valeurs
                        //alert('oui') ; 
                        if(parseInt(xhr.responseText) == 1){
     
     
                        }
                    }
                    else // Gestion des envoies Direct
                    {
                        xhr.open("POST","../ss/envoyer_message_simple.php",false); 
                        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // permet l'encodage des POST
                        xhr.send("&sender_id=" + sender_id + "&destinataire=" + destinataire + "&message=" + message + "&nombre_message=" + nombre_message); // On définit les variables et leurs valeurs
     
                        if(parseInt(xhr.responseText) == 1){
     
     
                        }
                    } // Fin  Gestion des envoies Direct
     
                } // Fin if len==9

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu me remontres ton code Javascript alors que c'est justement cette partie qu'il faut oublier.
    Ton appel Ajax est valable quand l'utilisateur fait des envois un par un depuis l'interface, pas quand tu traites un fichier de 2000 lignes.

  13. #13
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    sabotage,
    surement on ne se comprend pas bien , lorsqu'il charge le fichier csv , je le récupère , ensuite je fais une boucle sur le tableau pour envoyer les messages avec le même fichier qui gère les message un par un ;

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Oui j'ai bien compris et je t'ai expliqué que c'était une méthode extrêmement lourde et de plus complétement inutile : à quoi cela sert de faire 2000 requête POST, 2000 connexions à la base de données pour traiter un seul fichier.

  15. #15
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    sabotage,
    Merci je commence a comprendre , le mieux c'est d'envoyer directement le tableau en un seul post et le boucle se fera coté php .
    Merci .

Discussions similaires

  1. Variables de session qui changent de valeur
    Par webtheque dans le forum Langage
    Réponses: 1
    Dernier message: 17/09/2008, 19h40
  2. variables de session qui ne passent pas
    Par cels dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 28/11/2006, 10h46
  3. Variables de session qui se vident !
    Par navona dans le forum Langage
    Réponses: 13
    Dernier message: 24/05/2006, 22h39
  4. Réponses: 4
    Dernier message: 13/03/2006, 11h29
  5. Réponses: 8
    Dernier message: 30/11/2005, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo