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

Bibliothèques & Frameworks Discussion :

Nouveau en Ajax


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut Nouveau en Ajax
    Bonjour à tous et à toutes.
    Je suis un parfait débutant en Ajax et je n'arrive pas à faire quelque chose.
    Lors de l'appui sur un bouton (qui se trouve sur la page compte.php), je souhaites faire un INSERT dans une base.
    Le problème est que dans mon fichier Ajax lorsque je met ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    new Ajax.Request(
    	'http://localhost/template/compte.php',
    	{
    ...
    la mise à jour dans la table n'est pas faite alors que si je met ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    new Ajax.Request(
    	'http://localhost/template/toto.php',
    	{
    ...
    J'en conclu donc que je ne peux pas agir sur la page courante mais je trouve ça hyper bizarre.
    Voici mes sources pour vous aider :

    mon fichier ajax.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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Event.observe(window, 'load', function() {
    	$$('#newsletterDesc').invoke('observe', 'click', function(event) {
    		new Ajax.Request(
    			'http://localhost/template/toto.php',
    			{
    				asynchronous : true,
    				method: 'post',
    				parameters: {newsletter: 0},
    				onSuccess: function() { $('#inscrit').show(); $('#desinscrit').hide(); },
    				onFailure: function() { alert("Une erreur est survenue lors de l'appel AJAX.\nRecharger la page devrait résoudre le problème.") }
    			}
    		);
    		Event.stop(event);
    	}.bindAsEventListener());
    });
     
    Event.observe(window, 'load', function() {
    	$$('#newsletterInsc').invoke('observe', 'click', function(event) {
    		new Ajax.Request(
    			'http://localhost/template/toto.php',
    			{
    				asynchronous : true,
    				method: 'post',
    				parameters: {newsletter: 1},
    				onSuccess: function() { $('#inscrit').hide(); $('#desinscrit').show; },
    				onFailure: function() { alert("Une erreur est survenue lors de l'appel AJAX.\nRecharger la page devrait résoudre le problème.") }
    			}
    		);
    		Event.stop(event);
    	}.bindAsEventListener());
    });
    mon fichier toto.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
            // Connexion à la base
            $conn = mysql_connect ("localhost", "umy20", "xxxxxxx") or die ("Connexion à la base de données impossible");
            // Sélection de la base
            $base="orthophonistes";
            mysql_select_db("$base") or die ("Base inconnue");
            
            $requete = "INSERT INTO Adherent (estAbonne)
                                            VALUES ('".$_POST['newsletter']."') WHERE ID_Adh = '".$_SESSION['id']."';";
            mysql_query($requete);
    ?>

    Merci de votre aide.

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Bonjour,

    rien n'empêche d'appeler une URL qui est aussi celle source.
    Es tu sur que ton fichier est bien compte.php ? sous cette arborescence ?

    Sinon, les http://localhost sont inutiles puisqu'avec ajax, il faut rester sur le même domaine/protocole.

    Enfin, attention : tu mélanges la syntaxe jQuery avec celle de prototype...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //$('#inscrit')
    $('inscrit')
     
    //$$('#newsletterInsc').invoke('observe', 'click', function(event) {
    // on prefere la syntaxe
    $('newsletterInsc').observe("click", function(e) {

Discussions similaires

  1. [AJAX] Actualisation ajax si nouveau
    Par rchabier dans le forum AJAX
    Réponses: 1
    Dernier message: 30/04/2009, 09h56
  2. [AJAX] Nouveau sur Ajax
    Par foubou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/05/2008, 09h58
  3. [AJAX] Nouveau en AJAX
    Par Chichoulinet dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/04/2008, 18h03
  4. [AJAX] Créer un nouveau tag en Ajax
    Par wiam26 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/08/2006, 17h13

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