Login Password

Twunch

Milestone Details

Avatar Image

CheckIn / Leave en AJAX

created 2 years, 9 months ago
by Salya H.
Due to:
994 days ago (Tuesday, 31 Aug)
Status:
new
Assigned to:
Description:

Envoyer un _GET en ajax sur la page d’inscription à un twunch, et retourner l’inscrit dans le tableau sans recharger la page. Pareil pour la désinscription. Quelqu’un sait faire ça ??

Tags:
  • jquery
  • php
  • wordpress

Team Comment Activities

  • Salya H. posted a comment for milestone CheckIn / Leave en AJAX   2 years, 9 months ago · View

    Exactement ! J’aimerai bcp que la variable ?click_register=true&post=1047 ne passe pas en clair dans l’URL. Que ça traite dans le script et retourne la div où il y’a tous les avatars des inscrits

    • Avatar Image
      Valentin Bourgoin · 2 years, 9 months ago

      Okay. Donc l’idée est d’appeler en AJAX un script, disons checkin.ajax.php qui prenne deux paramètres (en POST, c’est mieux) :
      - Le type (register ou unregister)
      - I’ID de l’event
      Ce script réalise donc l’action demandée (inscription ou desinscription).

      Après, pour l’affichage, tu as deux possibilités :
      - Soit tu recharges toute la page, en JS, une fois que le script AJAX a été exécuté.
      - Soit tu réinjectes le code HTML dans la div qui sera modifiée.

      Je te conseille de recharger la page en JS. Comme ça, tu auras les paramètres invisibles dans l’URL et tu te compliqueras moins la vie avec le template.

      • Avatar Image
        Salya H. · 2 years, 9 months ago

        Justement j’ai déjà un fichier inscription_event.php avec dedans (+traitement de l’info) ::

        $click_register = $_GET['click_register'];
        $click_unregister = $_GET['click_unregister'];
        $postid_clicked = $_GET['post'];

        Ce que je ne comprend pas c’est quoi marquer sur mon bouton ”Se connecter” pour qu’il envois à mon fichier les valeurs TYPE et ID de façon transparente. Et que mettre dans mon php pour qu’il puisse les récupérer et les utiliser ??

        • Avatar Image
          Valentin Bourgoin · 2 years, 9 months ago

          Ca se passe donc dans ton JS (jQuery nespa).Tu vas avoir besoin de récupérer l’ID de l’event dans une variable JS :

          $(’#id_du_bouton’).click(function() {
          $.ajax({
          type: ”POST”,
          url: AJAX_PATH + ”inscription_event.php”,
          data: { click_register: ”register”, postid_clicked: tonID },
          success: function() {
          location.reload();
          });
          });

          Je suis plus sûr du location.reload(), mais c’est l’idée :)

          La difficulté est de récupérer l’ID en JS. Tu peux par exemple le placer dans un attribut quelconque du bouton (et du coup y accéder en faisant $(this).attr(’tonattribut’) dans la fonction click, ou le mettre dans un input hidden quelque part…

          • Avatar Image
            Valentin Bourgoin · 2 years, 9 months ago

            Outch désolé pour la mise en page, on fera un friendpaste la prochaine fois :)

          • Avatar Image
            Salya H. · 2 years, 9 months ago

            Merci bcp pour cet exemple concret ! Je vais pouvoir essayer ça dans la journée et me pencher sur 2-3 tutos pour mieux comprendre =)

            • Avatar Image
              Valentin Bourgoin · 2 years, 9 months ago

              Pas de problème :)
              Pour mieux comprendre :
              - Lors du clic, une requête AJAX est envoyée à inscription_event.php, en passant (en POST hein) les paramètres stockés dans la variable data
              - Lorsque le script envoi sa réponse (et qu’elle est positive), la fonction success est appelée. Success peut prendre un paramètre (success:function(html)), et ce que inscription_event.php aura retourné (c’est à dire tout ce qu’il a affiché, echo ou erreurs) se trouvera dans cette variable html.
              Firebug t’aidera à y voir plus clair :)
              Bon courage !

  • Valentin Bourgoin posted a comment for milestone CheckIn / Leave en AJAX   2 years, 9 months ago · View

    En fait tu dois charger cette URL : http://twun.ch/fr/twitapero-parisien-1047/?click_register=true&post=1047 en AJAX, et que ça ne recharge pas la page complète mais seulement la partie qui dit que tu es inscrit, c’est ça ?

Related Tasks

No tasks found.

Activity History

Project avatar

Twunch

Public Project
http://bettercodes.org/projects/twunch
27
members
0
milestones
0
tasks
Project Tags
Administration

Members

bettercodes.org is released as free software without warranties under GNU Affero GPL v3