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

AJAX Discussion :

[AJAX] envoyer des variables a php


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 33
    Points
    33
    Par défaut [AJAX] envoyer des variables a php
    bonjour,
    je suis en train de développer un editeur bbcode pour le panneau d'administration de mon site seulement... (oui si tout allez bien je serai pas venu me venter )

    donc je disais, j'arrive parfaitement a transformer le bbcode (bien que les balises se place pas ou je veux...) en html grace a javascript
    je me retrouve donc avec 2 variables javascript, l'une en HTML, l'autre en BBcode.
    mon probleme, c'est que je ne sais pas les envoyer a php...
    je suis sure qu'avec ajax ça doit etre possible

    j'ai donc essayer avec, et voici mon code:
    ( ajax() est appelé par htmlToBbcode() )
    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 ajax()
    {
        var xhr=null;
     
        if (window.XMLHttpRequest) { 
            xhr = new XMLHttpRequest();
        }
        else if (window.ActiveXObject) 
        {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        //on définit l'appel de la fonction au retour serveur
        xhr.onreadystatechange = function() { alert_ajax(xhr); };
     
        var param="bbcode="+bbcode+"&html="+texte;
        xhr.open("POST", "bbcode.php", true);
        xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xhr.setRequestHeader("Content-length", param.length);
        xhr.setRequestHeader("Connection", "close");
    	xhr.send(param);
     
     
        xhr.send(null);
    }
    pas besoin de vous dire que ça fonctionne pas ^^'

    si ça peut aider, voici le html:
    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
     
    <script language="javascript" type="text/javascript"
    src="bbcode.js"></script>
    <FORM method="post" name='form' action="bbcode.php" >
    Tapez ici votre article
     
    <TABLE BORDER=0>
    <TR>
    	<TD>
    		<TEXTAREA rows="20" cols="100" name="bbcode" id="bbcode"></TEXTAREA>
    	</TD>
    </TR>
     
    <TR>
    	<TD COLSPAN=2>
    		<INPUT type="button" value="previ" onclick="return htmlToBbcode(bbcode);">
    	</TD>
    </TR>
    <TR>
    	<TD>
    		<div id='previ'></div>	
    	</TD>
    </TR>
    </FORM>

    le bouton submit apparait que lorsque l'utilisateur a cliqué sur previsualisation

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    retire xhr.send(null) de ton code car tu postes déjà les variables avec xhr.send(param).
    Coté php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset(($_POST['bbcode'])) && (isset($_POST['html'])) )
    {
       //les traitements ici
    }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 33
    Points
    33
    Par défaut
    le send etait une coquille, je viens de règler cela
    coté php aucun probleme

    par contre, mon gros problème, c'est que lors de la validation du formulaire grace au bouton submit, rien ne se passe, je pense que mon problème est plus sur l'appel de la fonction ajax avec mon html

    ps merci pour le send, je ne l'aurai jamais vue sans toi ^^


    EDIT

    bon voila, je suis presque sûr que le probleme vient d'ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <FORM method="post" name='form' action="bbcode.php" onsubmit="return ajax();" >
    <TEXTAREA rows="20" cols="100" name="bbcode" id="bbcode"></TEXTAREA>
    <INPUT type="button" value="previ" onclick="return htmlToBbcode(bbcode);">
    <INPUT type="submit" value="Envoyer">

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    N'utilise pas un submit pour ajax car ça recharge la page entière mais utilise button
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="Envoyer" onclick="ajax()">

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 33
    Points
    33
    Par défaut
    merci
    je pense effectivement que j'avais un bug ici
    par contre, le ajax ne fonctionne pas, je crois avoir trouvé un truc interessant mais je suis pas sûr, je test et je te redit ça

    EDIT bon cela ne fonctionne pas...

    si quelqu'un pouvait me donner un exemple, cela serai pas mal

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Modifie le nom de la formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" name='form1'>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var bbcode=document.getElementById('bbcode').innerHTML;
    var texte=document.getElementById('IdDeLobjet').value;
    var param="bbcode="+bbcode+"&html="+texte;
        xhr.open("POST", "bbcode.php", true);

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 33
    Points
    33
    Par défaut
    bon, j'essaye se que tu m'as dit
    si ça marche j'edit

    sinon, j'utilise ma "tricherie"
    a savoir que je fait un formulaire tous se qui a de plus simple
    et que je place le contenue de mes variable dans textarea caché

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById("rep").innerHTML='<TEXTAREA rows="20" cols="100" name="html" id="html">'+texte+'</TEXTAREA>';
    	document.getElementById("rep").style.visibility = 'hidden';

    enfin, ajax semble interessant et "moins moche" que cette solution


    EDIT: soit j'utilise mal tes bouts de code, soit cela ne fonctionne pas
    je te remercie de ton aide

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Quelle est l'utilité de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xhr.setRequestHeader("Content-length", param.length);
    xhr.setRequestHeader("Connection", "close");
    ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 33
    Points
    33
    Par défaut
    a vrai dire j'en sais rien, j'ai pas le temps d'apprendre ajax, pour l'instant
    j'ai donc copier une source qui fonctionné
    j'ai voulue l'adapter a une solution post, mais je n'ai pas reussi

Discussions similaires

  1. Réponses: 11
    Dernier message: 27/03/2009, 14h33
  2. Envoyer des variables de Flash vers PHP avec GET
    Par Gizmil dans le forum Dynamique
    Réponses: 1
    Dernier message: 19/11/2007, 00h52
  3. Envoyer et récupérer des variables sans php
    Par goueg dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2007, 10h08
  4. [AJAX] Envoyer des & dans des variables
    Par kivan666 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/05/2007, 20h10
  5. [AJAX] Envoyer une variable tableau à un script PHP
    Par AzertyH dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2007, 16h58

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