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

PHP & Base de données Discussion :

Update lors d'une déconnexion. [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 18
    Par défaut Update lors d'une déconnexion.
    Bonjour,

    Lors de chaque changement de page, une fonction de sauvegarde est appelée sur mon site afin de mettre à jour les données de celle-ci dans une base de données. Cette fonction prends en paramètre une donnée issue de $_SESSION, 'id_simu'. L'ensemble des données est enregistré au format JSON dans un champ donnee.
    J'ai un problème, lorsque je me déconnecte du site, ma fonction me renvoi un message d'erreur, je souhaiterai savoir comment gérer la déconnexion.

    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
    function save(id_simu) {
        var donnees = lecture_saisie();
        var donnees_base = $("#donnee").val();
        var type = 1;
        $.ajax({
            type: "POST",
            async: false,
            url: "/monFichier.php",
            data: {
                type:type,
                id_simu:id_simu,
                donnees:donnees,
                donnees_base:donnees_base
            },
            success: function(value){
                if(value!=1) {
                    alert('Une erreur est survenue lors de la sauuvegarde');
                }
            }
        });
    }
    Dans monFichier.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if($type == 1) {
        $t = json_decode($donnees_base, true);
        $donnees = json_decode($donnees, true);
        foreach ($donnees as $key => $value) {
            $t[$key] = $value;
        }
     
        $json = json_encode($t);
        $json = CheckDataStringJSON($json);
        $query = "update fdc_simu set donnee=$json where id_simu=$id_simu";
        sql_query($query);
        sql_close($db0);
        echo('1');
    }

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Est-ce que tu as essayé de voir ce que te renvoyais le serveur au lieu d'afficher le message d'erreur ? Un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    success: function(value) {
       alert(typeof value + ' -- ' + value);
    }
    Et en faisant ça, tu obtiens quoi ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 18
    Par défaut
    Les alertes sont toutes deux de type string.

    Dans le cas normal :
    string -- 1

    Dans le cas d'une déconnexion :

    tring --
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script language="javascript" type="text/javascript">
    		window.location.href = '/identification.php';	// barre url
    		</script>

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Donc quand tu l'utilisateur se déconnecte, tu sauvegardes et renvoies tout le script de redirection en paramètre de réponse. C'est pourquoi c'est toujours différent de 1.

    Il faut procéder autrement.
    En paramètres passés à la requête il faut ajouter si l'utilisateur souhaite se déconnecter en retour.
    Au lieu de renvoyer un simple echo('1'); tu peux renvoyer une réponse plus précise.
    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
    function save(id_simu, deconnect) {
        var donnees = lecture_saisie();
        var donnees_base = $("#donnee").val();
        var type = 1;
        $.ajax({
            type: "POST",
            async: false,
            url: "/monFichier.php",
            data: {
                type:type,
                id_simu:id_simu,
                donnees:donnees,
                donnees_base:donnees_base,
                deconnect:deconnect
            },
            success: function(value){
                if(value='redirect') {
                   window.location.href = '/identification.php';
                } else if(value!=1) {
                    alert('Une erreur est survenue lors de la sauuvegarde');
                }
            }
        });
    }

  5. #5
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    Bonsoir,

    et en php ? si tu dois juste récupérer des valeurs dans $_SESSION,

    tu peux essayer d'utiliser register_shutdown_function ?

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 18
    Par défaut
    Bonjour,
    Merci sur vos réponse, j'ai pu avancer et travailler sur ces pistes.

    Citation Envoyé par syl2095
    et en php ? si tu dois juste récupérer des valeurs dans $_SESSION,
    La plupart des valeurs à récupérer se trouvent dans des buffer qui vont être déchargés, je ne pense pas pouvoir utiliser cette fonction.

    J'aimerai précisé un peu le contexte de l'appel de ma fonction save().
    Voici un exemple d'appel sur la page mapage.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'body' => ' onload="lecture_base(' . $_SESSION['id_simu'] . ', \'mapage\');" onunload="save(' . $_SESSION['id_simu'] . ');" '
    Vous voyez que cette fonction est appelée dans son principe à chaque fois que l'utilisateur quitte la page mapage.php.
    Je ne comprend pas pourquoi lors d'une déconnexion ma fonction renvoie le script de redirection et ne se termine pas "normalement" comme dans tous les autres cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/03/2011, 17h01
  2. Erreur lors d'une requete update
    Par Rémiz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/04/2009, 15h14
  3. erreur lors d'une requete update
    Par kimcharlene dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 03/01/2009, 19h29
  4. [ASE 12.5] Pb lors d'une déconnexion réseau
    Par jokos2000 dans le forum Adaptive Server Enterprise
    Réponses: 4
    Dernier message: 17/09/2007, 09h47
  5. [MySQL] Les champs sont vides lors d'une mise à jour (update)
    Par gregos13 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 26/04/2006, 08h01

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