Passage de variable php dans ajax

Résolu/Fermé
smawn - 10 oct. 2007 à 21:56
 Alain42 - 18 oct. 2007 à 18:47
Salut,
Je fais un site perso avec de l'ajax ( http://smawn.free.fr ) et je voudrais faire passer une variable php à un autre div (charger par ajax .php) sur le click d'un <a href> appellant ma fonction ajax et page php... voila je pense que c conci mais clair ??

pour ceux qui vont voir la démo du site au lieu que les vodéos s'affiche ds le tableau ou il y les decription, le nom et l'image je que sur un href j'envoi l'id de la video ou la video elle même ds le div ou je recharge ma page de lecteur video.

n'hésitez pas à répondre si vous n'avez pas bien compris mon prob
A+ Smawn
A voir également:

7 réponses

Bonjour,

Ci joint un exemple de requette et traitement de la reponse en Ajax:

// Requette AJAX
function makeRequest(url,id_ecrire,arg1,arg2,arg3){
	var http_request = false;
		//créer une instance (un objet) de la classe désirée fonctionnant sur plusieurs navigateurs
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');//un appel de fonction supplémentaire pour écraser l'en-tête envoyé par le serveur, juste au cas où il ne s'agit pas de text/xml, pour certaines versions de navigateurs Mozilla
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Abandon :( Impossible de créer une instance XMLHTTP');
            return false;
        }
        http_request.onreadystatechange = function() { traitementReponse(http_request,id_ecrire); } //affectation fonction appelée qd on recevra la reponse
		// lancement de la requete
		http_request.open('POST', url, true);
		//changer le type MIME de la requête pour envoyer des données avec la méthode POST ,  !!!! cette ligne doit etre absolument apres http_request.open('POST'....
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		///// ici tu peux rajouter les autres valeurs que tu as passees en arguments lors de l'appel de la fonction
		data="val_1="+arg1+"&val_2="+arg2+"&val_3="+arg3;
        http_request.send(data);
}

function traitementReponse(http_request,id_ecrire) {
	var affich="";
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
					// cas avec reponse de PHP en mode texte:
			//chargement des elements reçus dans la liste
			var affich_list=http_request.responseText;
				obj = document.getElementById(id_ecrire); 
                obj.innerHTML = affich_list;
		} 
		else {
                alert('Un problème est survenu avec la requête.');
        }
    }
}




appel de la fonction par:
makeRequest('ton_fichier_php.php','id_du_div_a_ecrire','valeur_arg1','valeur_arg2','valeur_arg3')


et le div qui doit "recevoir"

<div id="id_du_div_a_ecrire">

</div>

dans ton fichier php appele par Ajax tu recuperes les arguments par

$_POST['val_1']
$_POST['val_2']
$_POST['val_3']


tu les traites comme tu veux et la réponse sera renvoyee et affichée dans le div.
10
Bonjour,
petit problème de sécurité sur ton site!!!
0
Certes !! ce n'était pas ma question
Si c'est toi qui t'es amusé à bidouiller ma base de données, je trouve ça débile !
Si ce n'est pas toi c'est gentil de prévenir, en tout cas je savais que ma page d'admin était accesible par un initié, mais de là à faire du hacking sur un site purement démonstratif, et béta donc forcément avec des failles, je trouve ça d'une stupidité sans nom !!!
0
Bonjour,

Tu peux passer plusieurs arguments a ta fonction Ajax lorsque tu l'appelles par le href= , donc une valuer de variable

Tu peux par le requette ajax les transmettre a ton script ajax php (data.send), qui peux te les retourner apres traitement et leur valeur sera chargee dans le div par le inner.HTML lors de la reponse.

Je ne sais pas si j'ai repondu assez clairement a ta question ?

@lain
0
Bonjour,
dsl c'est pas moi
pas de chance
++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
smawn Messages postés 3 Date d'inscription samedi 16 juin 2007 Statut Membre Dernière intervention 5 avril 2008
17 oct. 2007 à 19:28
Merci Alain42
mais c'est quoi ça : "data.send" , c'est du js ou du php, et je le met où ? en argument ds le href, ds ma fonction ajax ou ailleurs ?

Smawn
++
0
smawn Messages postés 3 Date d'inscription samedi 16 juin 2007 Statut Membre Dernière intervention 5 avril 2008
18 oct. 2007 à 17:39
Merci Alain42,
c'est vrai que cette fonction est un peu différente de celle que j'utilise pour l'instant, car entre temps g cherché ce fameux "data".send et j'ai trouvé une piste mais qq chose merdé ds ma fonction qui justement n'était pas adaptée à utilisé ce .send ou alors je me suis planté...bref
je n'ai pas encore testé ta fonction (ça ne serait tarder), je devrais moins galérer car ("bravo") elle est bien commenté donc je pourrais l'adapter et surtout la comprendre. ;-)

A+
Smawn
0
Salut,

j'étais loin de mes bases, j'avais donné cette fonction de mémoire, en fait c'est:

http_request.send(data);
0