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

JavaScript Discussion :

Récupérer variables de javascript en php (Ajax)


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Récupérer variables de javascript en php (Ajax)
    Bonjour à tous,

    Je suis en train de développer mon site internet, j'ai actuellement un petit problème.

    J'aimerais récupérer un variable javascript en php, j'ai lu sur des forums que c'était impossible puisque php s'exécute sur le serveur et le javascript côté client. Mais il paraît qu'il existe une méthode utilisant l'Ajax et une qui ne l'utiliserait pas.

    Voici mon code :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?php
            $random = '?'.rand();
     
            $pseudo = $_SESSION['pseudo'];
            setcookie('num_img', '1', (time() + 3600));
            $img='1';
     
            
            echo "<img src='images/$pseudo/Image 1.jpg$random' alt='' height=470 />";
            $x = 1;
            while( (file_exists("images/$pseudo/Image $x.jpg")) && $x<7 )
            {
                    $x++;
            }
            $_SESSION['x'] = $x-1;
            include("changer_image.php");
    ?>
     
    <form method="post" action ="" name="">
    <p>
    <table style="width:625px;border:1px solid Gray;border-radius: 40px 40px;-moz-border-radius: 50px;">
    	<tr>
    		<td style="text-align:left;width:7%;"><div id="tgau"><?php if ($img>1) echo '<input type="image" src="images/boutons/Bouton-precedent2.png" name="prec" onclick="changer_image(\'moins\')" />';?></div></td>
     
    		<td style="width:32%; text-align:center;" ><div id="gau"><?php if ($img>1) echo "<img src='images/$pseudo/Image ".($img-1).".jpg$random' alt='' height=120 />"; ?></div></td>
     
    		<td style="width:22%; text-align:center;"> <div id="midd"><?php echo "<img src='images/$pseudo/Image ".$img.".jpg$random' alt='' height=100 />"; ?></div></td>
     
    		<td style="width:32%; text-align:center;"><div id="dro"><?php if ($img<$x) echo "<img src='images/$pseudo/Image ".($img+1).".jpg$random' alt='' height=120 />"; ?></div> <input type="hidden" name="img" id="img" value="<?php echo $img; ?>" /></td>
     
    		<td style="text-align:right;width:7%;"><div id="tdro"><?php if ($img<$x) echo '<input type="image" src="images/boutons/Bouton-suivant2.png" name="next" onclick="changer_image(\'plus\')" />';?></div></td>
    	</tr>
    </table>
    </p>
    </form>
     
    <!-- Lien pour ouvrir la pop-up avec comme paramètre le numéro de la photo pour insérer
    le commentaire avec la bonne photo	-->
    <div style='text-align:center;'>
    	<p style='font-size:15px;'>
    		<a href="javascript:OuvrirFenetre('popup_commetaire.php?Id_num_Article=<?php echo $numero_photo; ?>&photo=1','popup','width=500,height=400')">
    		Ajouter un commentaire
    		</a>
    	</p>
    </div>

    Ensuite le code Javascript de : include("changer_image.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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <?php
            $random = '?'.rand();
    ?>
    <script LANGUAGE="JavaScript">
    // Variable qui stocke le nombre d'image de l'utilisateur
    varX="<?php echo $_SESSION['x'];?>";
    // Variable qui sert à ne pas conserver les mêmes images dû aux cookies.
    varRandom="<?php echo $random;?>";
    // Variable qui sert à savoir à quel image on en est
    varT=1;
     
    function getCookie(sName) {
            var cookContent = document.cookie, cookEnd, i, j;
            var sName = sName + "=";
     
            for(var i=0,c=cookContent.length;i<c;i++) {
                    j = i + sName.length;
                    if(cookContent.substring(i, j) == sName) {
                            cookEnd = cookContent.indexOf(";", j);
                            if(cookEnd == -1) {
                                    cookEnd = cookContent.length;
                            }
                            return decodeURIComponent(cookContent.substring(j, cookEnd));
                    }
            }       
            return null;
    }
     
    function changer_image(signe)
    {
    	comp=getCookie("num_img");
    	if (signe=='moins')
    	{
    		varT--;
    		// Condition qui cache la prévisualisation précédente si on est à la photo 1.
    		if (parseInt(comp-1)>1)
    			document.getElementById('tgau').innerHTML='<input type="image" src="images/boutons/Bouton-precedent2.png" name="prec" onclick="changer_image(\'moins\')" />';
    		else
    			document.getElementById('tgau').innerHTML='';
     
    		// Variable pour remédier aux apostrophes.
    		varP="<?php echo $_SESSION['pseudo'];?>";
    		document.getElementById('image').innerHTML="<img src='images/"+varP+"/Image "+(parseInt(comp)-1)+".jpg"+varRandom+"' alt='' height=470 />";	
    		document.getElementById('gau').innerHTML="<img src='images/"+varP+"/Image "+(parseInt(comp)-2)+".jpg"+varRandom+"' alt='' height=120 />";
    		document.getElementById('midd').innerHTML="<img src='images/"+varP+"/Image "+(parseInt(comp)-1)+".jpg"+varRandom+"' alt='' height=100 />";
    		document.getElementById('dro').innerHTML="<img src='images/"+varP+"/Image "+(parseInt(comp))+".jpg"+varRandom+"' alt='' height=120 />";
     
    		if (parseInt(comp-1)<varX)
    			document.getElementById('tdro').innerHTML='<input type="image" src="images/boutons/Bouton-suivant2.png" name="next" onclick="changer_image(\'plus\')" />';	
    		else 
    			document.getElementById('tdro').innerHTML='';
     
    		document.cookie = 'num_img' +"=" + (parseInt(comp)-1)+ ";" ;
    	}
    	else
    	{
    		varT++;
    		if (parseInt(comp+1)>1)
    			document.getElementById('tgau').innerHTML='<input type="image" src="images/boutons/Bouton-precedent2.png" name="prec" onclick="changer_image(\'moins\')" />';
    		else
    			document.getElementById('tgau').innerHTML='';
    		varP="<?php echo $_SESSION['pseudo'];?>";
    		document.getElementById('image').innerHTML="<img src='images/"+varP+"/Image "+(parseInt(comp)+1)+".jpg"+varRandom+"' alt='' height=470 />";
    		document.getElementById('gau').innerHTML="<img src='images/"+varP+"/Image "+(parseInt(comp))+".jpg"+varRandom+"' alt='' height=120 />";
    		document.getElementById('midd').innerHTML="<img src='images/"+varP+"/Image "+(parseInt(comp)+1)+".jpg"+varRandom+"' alt='' height=100 />";
    		document.getElementById('dro').innerHTML="<img src='images/"+varP+"/Image "+(parseInt(comp)+2)+".jpg"+varRandom+"' alt='' height=120 />";
     
    		if ((parseInt(comp)+1)<varX)
    			document.getElementById('tdro').innerHTML='<input type="image" src="images/boutons/Bouton-suivant2.png" name="next" onclick="changer_image(\'plus\')" />';	
    		else 
    			document.getElementById('tdro').innerHTML='';
     
    		document.cookie = 'num_img' +"=" + (parseInt(comp)+1)+ ";" ;
    	}
    	return varT;
    }
     
    function init()
    {
    	document.cookie = 'num_img' +"=1;" ;
    }
    </script>

    Pour mieux voir ce que fait mon code, sur ma page j'ai ça :


    Ainsi j'aimerais récupérer la variable "varT" dans la fonction changer_image dans le code javascript
    Pour m'en servir pour ouvrir la pop-up Ajouter Commentaire, pour poster le commentaire avec le numéro de la photo dans la base de données.

    Pour ensuite afficher les commentaires de chaque image (en Ajax je suppose).

    Je me suis dit qu'en Ajax ça serait possible, sauf que j'y connais pas grand chose.
    Si quelqu'un à une solution à me proposer en m'expliquant comme ça marche (ou non) ça serait parfait :-)

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    Salut,
    je ne peux que te dire d'aller jeter un oeil ici en lisant un peu tu devrais t'en sortir rapidement.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci Vil'Coyote pour le lien, mais j'ai pas tout compris.

    Je vais lire d'autre tutoriaux, mais ça m'a l'air bien compliqué l'Ajax...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    ajax n'est pas plus compliqué qu'un simple formulaire ...
    le send d'ajax envoir les données au serveur en GET ou en POST et tu les récupères exactement comme les données d'un form coté php ...
    la seule différence est que l'envoi des données se fait sans rechargement de page
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Tu veux pas m'expliquer comment ça marcherait SpaceFrog dans mon cas ?

    Parce que je patoge dans les sites de tutos d'Ajax en ce moment, ça m'a pas l'air si facile.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    quel intéret de faire un ajax dans ton cas de figure ?
    si c'est juste changer une image, passe un array des images au chargement de la page et modifies juste le src ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. passer une variable de javascript vers php
    Par marcel marie dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/07/2009, 11h01
  2. Est-ce que je peux utiliser les mêmes variables pour javascript et PHP?
    Par sparil dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/07/2007, 13h23
  3. [PHP-JS] nom de variable entre javascript et php
    Par roxxxy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/03/2007, 09h27
  4. Réponses: 2
    Dernier message: 22/02/2007, 14h00
  5. [PHP-JS] Passage variables de Javascript à Php
    Par ladybird dans le forum Langage
    Réponses: 4
    Dernier message: 18/07/2006, 13h13

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