Modifier une variable php sans passer par un fomulaire [Résolu]

Signaler
Messages postés
261
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
10 mars 2014
-
mailliam
Messages postés
261
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
10 mars 2014
-
Tcho à tous!

Je veux afficher une grille faite avec 100 images (10x10).
J'aimerais que quand je clique sur la 1ère image ça envoie une variable php avec "1", la 2ème "2" ...
J'avais d'abord fait des
 ce qui marche sous FireFox mais pas sous IE (on ne peut pas mettre de value à un bouton input)


On m'a suggéré de me mettre à l'apprentissage d'Ajax et java, mais j'avoue ne pas tout comprendre..
voici donc ma page.php, quand je clique sur
 ca execute la fonction go().

Ce que je veux c'est que ma page soit rechargée, et que ma variable php $num qui serait égal à 0 avant le click de l'image, passe à 1 ou à 2 suivant le numéro de l'image cliquée..

<script type='text/JavaScript'>
function getXhr(){
var xhr = null; 
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest(); 
else if(window.ActiveXObject){ // Internet Explorer 
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
} else { // XMLHttpRequest non supporté par le navigateur 
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
xhr = false; 
} 
return xhr
}

function go(){
var xhr = getXhr()
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok (statut=4)
if(xhr.readyState 4 && xhr.status 200){
var essai = xhr.responseText; //assigne la reponse à la variable essai
document.write("La valeur de la variable est ",essai); //affichage de la variable (qui est javascript et non php..)
}
}
xhr.open("GET","ajax.php",true);
xhr.send(null);
}
</script>
</head>

<?php
$num=0;
?>





et ce script appel ajax.php qui contient:
<?php
//comment récupérer l'id de l'image cliquée et recharger la page initale??
echo $num;
?>


J'ai honte car je sais qu'il y a plein de mélanges, mais je comprend pas comment faire pour que la page ajax.php puisse récupérer les variables en cours..

Je sais pas pourquoi mais je sens que je vais faire un site exclusivement pour FireFox moi...

5 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
Bonjour,

Ce que tu veux, ce n'est pas de l'ajax


<form id="myform" action=... complete ce code>




ce bout de code devrait setter la valeur dans le formulaire, puis la valider tout seul

Cordialement,

Maxime
Messages postés
261
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
10 mars 2014
2
Excellent ca marche! et c'est tout con!!
J't'adore tu m'sauve!!

Merci bcp! A++
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
Mais de rien :)
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
1
Bonjour,

Plutôt que de passer par un formulaire, pourquoi ne pas tout simplement utiliser des liens avec la balise [mapage.php?i=2 ]


Ensuite, si tes images respectes une certaine logique dans leur nomination, il te suffira alors de faire un boucle pour générer le code.
Soit :

<?php for ($i=0; $i<100; $i++) { ?>
[mapage.php?i=<?php echo $i; ?> .jpg" />]
<?php } ?>


Pour tu travailles avec CSS pour la mise en forme visuelle (alignement de tes images pour former une grille de 10x10).

Osteres
[www.osteres.com www.osteres.com]
Messages postés
261
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
10 mars 2014
2
Tcho!

Merci pour ta réponse, en fait c'est que j'ai plusieurs variables à envoyer quand on clique sur une img, grace au formulaire je le fais avec hidden..

mais ton idée était bonne aussi

A++