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 :

[AJAX] Ajax, onclick et variable PHP


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [AJAX] Ajax, onclick et variable PHP
    Bonjour,

    Existe-il une façon en utilisant AJAX de faire changer la valeur d'une variable PHP qui est par exemple utilisée pour changer les couleurs d'un background directement dans le style ou encore une feuille CSS.

    Exemple :
    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
     
    <?php $page=$_GET['page']; ?>
    <html>
    <head>
    <title>test.php</title>
     
    <style type="text/css">
    <?php echo '@import url(css/themes/'.$theme.'.css);'; ?>
    </style>
     
    <script type="text/javascript">
    function submitTheme(theme) {}
    </script>
    </head>
     
    <body>
      <div style="background:#<?php echo $theme; ?>; padding:10px;">
        <?php if($page =="contact") {echo 'Coordonnées';} else {echo 'Accueil';} ?>
      </div>
      <div>	
        <a href="#" onClick="submitTheme('FFFFFF')">Blanc</a> - 
        <a href="#" onClick="submitTheme('999999')">Gris</a> <br>
        <a href="test.php?page=contact" onClick="submitTheme('<?php echo $theme; ?>')">Contact</a> - 
        <a href="test.php" onClick="submitTheme('<?php echo $theme; ?>')">Depart</a>
      </div>
    </body>
    </html>
    Je procède actuellement avec du PHP en utilisant GET ce qui provoque un duplicate content, je souhaite donc par le biais d'AJAX éviter aussi de reload la page entière et éviter ce DC. J'ai pas mal fouiner sur le web mais rien de bien transcendant, j'essaye de trouver un petit code qui pourrait convenir à cette logique.

    Merci pour votre aide,
    Fab

  2. #2
    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 : 54
    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
    Tu n'as pas besoin d'Ajax pour changer dynamiquement un style, tu peux utiliser javascript pour ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('ton_element').style.backgroundColor='une_couleur'
    Par contre, tu peux effectivement utiliser Ajax si tu veux sauvegarder via php un style donné (effectivement en affectant la variable $_GET ou $_POST à ce style)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Comme j'ai cette variable $theme qui se trimbale dans pas mal de pages de mon site, et pour m'éviter de répéter le même bout de code avec style.backgroundcolor ou autre chose, ce que je voyais intéressant de faire c'est justement prendre la var couleur du onclick et qu'elle puisse apparaître en la déclarant du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php $theme = '<script langage="javascript">var couleur de onClick</script> ?>'; ?>
    Est-ce faisable ?

    Encore merci

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Je suis enfin arrivé à une solution alternative avec POST et SESSION :

    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
    <?php
    session_start();
    if ($_POST['theme']) $_SESSION['theme']=$_POST['theme'];
    $theme=$_SESSION['theme'];
    $page=$_GET['page']; 
    ?>
    <html>
    <head>
    <title>test2.php</title>
    <script type="text/javascript">
    function submitTheme(theme) { 
        var hidden = document.forms['formulaire'].elements['theme'];
        hidden.value = theme;
        document.forms['formulaire'].submit();
    	}
    </script>
    </head>
    <body>
    	<div style="background:#<?php echo $theme; ?>; padding:10px;">
    		<?php if($page =="contact") {echo 'Coordonnées';}
                            else {echo 'Accueil';} ?>
    	</div>
    	<div>	
        	<form name="formulaire" method="post" action="test2.php"><input type="hidden" name="theme" value=""></form>
    		<a href="#" onClick="submitTheme('FFFFFF')">Blanc</a> - 
    		<a href="#" onClick="submitTheme('999999')">Gris</a> <br>
    		<a href="themetest2.php?page=contact" onClick="submitTheme('<?php echo $theme; ?>')">Contact</a> - 
    		<a href="themetest2.php" onClick="submitTheme('<?php echo $theme; ?>')">Depart</a>
    	</div>
    	<br><?php // echo '$theme = '.$theme.'<br>$_POST = '.$_POST['theme'].'<br>$HTTP_POST_VARS = '.$HTTP_POST_VARS['theme'];?>
    </body>
    </html>
    Mais si vous avez une solution Ajax du genre qui traine je suis preneur, je vais d'ailleurs me mettre rapidement à ce fameux Ajax... il serait temps

    Merci,
    Fab

  5. #5
    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 : 54
    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
    Dans ce cas, tu peux effectivement utiliser Ajax pour transmettre la valeur à ta page php puis affecter cette valeur à une variable de session.

Discussions similaires

  1. Héritage unique variables PHP (ajax)
    Par maxfive7 dans le forum Langage
    Réponses: 2
    Dernier message: 24/08/2007, 00h34
  2. [AJAX] Récupération de variable php
    Par akara dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/07/2007, 15h52
  3. [AJAX] Retour AJAX dans variable PHP
    Par mulot49 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/06/2007, 13h00
  4. [AJAX] Ajax et variables de session php
    Par sorlok dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/05/2007, 16h22
  5. [AJAX] ajax et requete sql en php
    Par digger dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/03/2007, 11h24

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