Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2010, 17h29   #1
Membre régulier
 
Inscription : janvier 2004
Messages : 440
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 440
Points : 89
Points : 89
Par défaut Comment récupérer une variable javascript en php?

Bonjour,

Je fais un test qui m'ajoute l'un ou l'autre fichier suivant la résolution de l'écran.

dans un premier fichier je récupère la résolution de l’écran:

Code :
1
2
3
4
5
6
<script language="JavaScript">
 
var w = screen.width;
var h = screen.height;
 
</script>
et dans un autre je fais mon test:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$width = "<script>document.write(w);</script>";
$height = "<script>document.write(h);</script>";
echo $width.",".$height;
 
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)
{
    if (($width==1024) && ($height==768)){
 
        $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/cars/cars3.ini.js', $type = 'text/javascript');
    }
else {
 
....}
}
Vu que le php s’exécute côté serveur, php ne récupère pas la valeur de mes variables, comment faire pour résoudre ce problème?

Merci d'avance
sheira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 18h06   #2
Membre du Club
 
Avatar de LeGnome12
 
Développeur Web
Inscription : mai 2008
Messages : 78
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2008
Messages : 78
Points : 61
Points : 61
Par défaut passage par hidden

Salut,

Je présume qu'il existe une navigation entre tes pages.
Si c'est le cas, l'idée que je peux te suggérer "je l'accorde n'est pas très académique" c'est de créer dans ton HTML un input type hidden.

Ensuite, tu appelles ton JavaScript qui met à jour le contenu du hidden. document.MyHiddenId.value=

C'est l'idée, après il faut adapter.
LeGnome12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 08h12   #3
Membre habitué
 
Avatar de ilalaina
 
Homme Ilalaina Rasoloarison
Inscription : mai 2007
Messages : 330
Détails du profil
Informations personnelles :
Nom : Homme Ilalaina Rasoloarison
Localisation : Madagascar

Informations forums :
Inscription : mai 2007
Messages : 330
Points : 129
Points : 129
Envoyer un message via Yahoo à ilalaina Envoyer un message via Skype™ à ilalaina
Bonjour,
Tu peux faire comme ceci :
Code :
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
 
<?php
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)
{
    $flagBrowser = 'NONIE';
}
else
{
    $flagBrowser = 'IE';
}
?>
<script type="text/javascript">
	// Contenu de ton fichier JS
    function maFonction(flagBrowser)
    {
        var w = screen.width;
        var h = screen.height;
        if(flagBrowser == 'IE' && w == 1024 && h == 768)
        {
            // ...
        }
    }
</script>
<?php
$this->view->headScript()->captureStart();
?>
// Appel de la fonction JS dans ton controleur ...
maFonction('<?php echo $flagBrowser; ?>');
<?php
$this->view->headScript()->captureEnd();
?>
__________________
" ... On naît, on vit, on meurt, mais exister est un honneur ... "
ilalaina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 10h07   #4
Membre régulier
 
Inscription : janvier 2004
Messages : 440
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 440
Points : 89
Points : 89
Voilà ce que je fais Ilalaina:

Code :
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
/**** Carrousel 3D ****/
$this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/cloud-carousel.1.0.4.js', $type = 'text/javascript');
 
 
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)
{
    $flagBrowser = 'NONIE';
}
elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6') !== false)
{
    $flagBrowser = 'IE6';
}
elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 7') !== false)
{
	$flagBrowser = 'IE7';
}
elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8') !== false)
{
	$flagBrowser = 'IE8';
}
?>
<script type="text/javascript">
	// Contenu de ton fichier JS
    function maFonction(flagBrowser)
    {
        var w = screen.width;
        var h = screen.height;
 
        if(flagBrowser == 'IE6' || flagBrowser == 'IE7' || flagBrowser == 'IE8' && w == 1024 && h == 768)
        {
           <?php $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/carousel3.ini.js', $type = 'text/javascript');?>
        }
 
                    if (flagBrowser == 'IE6' || flagBrowser == 'IE7' && w != 1024 && h != 768)
		{
			<?php $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/carousel2.ini.js', $type = 'text/javascript'); ?>
		}
 
                    if (flagBrowser == 'IE8' && w != 1024 && h != 768)
		{
			<?php $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/carousel.ini.js', $type = 'text/javascript'); ?>
		}
 
                    if (flagBrowser == 'NONIE')
		{
			<?php $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/carousel.ini.js', $type = 'text/javascript'); ?>
		}
    }
</script>
<?php
 
 
$this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/jquery.mousewheel.js', $type = 'text/javascript');
/**** Carrousel 3D ****/
et dans mon contrôleur:

Code :
1
2
3
4
5
6
7
8
$this->view->headScript()->captureStart();
 
?>
<script type="text/javascript">
  maFonction('<?php echo $flagBrowser; ?>');
</script>
<?php
    $this->view->headScript()->captureEnd();
Malheureusement mon carrousel ne s'affiche pas du tout!

Je veux juste lui dire que quand la résolution est en 1024 x 768 il me charge un fichier...

une autre solution?
sheira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 10h15   #5
Membre habitué
 
Avatar de ilalaina
 
Homme Ilalaina Rasoloarison
Inscription : mai 2007
Messages : 330
Détails du profil
Informations personnelles :
Nom : Homme Ilalaina Rasoloarison
Localisation : Madagascar

Informations forums :
Inscription : mai 2007
Messages : 330
Points : 129
Points : 129
Envoyer un message via Yahoo à ilalaina Envoyer un message via Skype™ à ilalaina
C'est que javascript ne peut pas interpreter
Code :
$this->headScript()->appendFile
alors que tu le mets dans du javascript
__________________
" ... On naît, on vit, on meurt, mais exister est un honneur ... "
ilalaina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 10h22   #6
Membre régulier
 
Inscription : janvier 2004
Messages : 440
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 440
Points : 89
Points : 89
que faire alors?
sheira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 10h29   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
Citation:
Envoyé par sheira Voir le message
que faire alors?
faire un vrai style passe partout
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 10h34   #8
Membre régulier
 
Inscription : janvier 2004
Messages : 440
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 440
Points : 89
Points : 89
Ce serait l'idéal c'est sûr...mais il n'y a que le centrage du carrousel qui pose problème.
sheira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 10h46   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
Citation:
Envoyé par sheira Voir le message
Ce serait l'idéal c'est sûr...mais il n'y a que le centrage du carrousel qui pose problème.
Il y a un lien vers ta page où on pourrait voir le problème ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 10h49   #10
Membre régulier
 
Inscription : janvier 2004
Messages : 440
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 440
Points : 89
Points : 89
oui :
www.portailinterim.com en 1024X768
Le carrousel est en bas.


Je peux pas faire un include à la place de mon appendfile ?

Code :
include ( <?php echo PUBLIC_PATH; ?> + 'js/jquery/carrousel/carousel2.ini.js');
sheira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 11h02   #11
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
Citation:
Envoyé par sheira Voir le message
oui :
www.portailinterim.com en 1024X768
Le carrousel est en bas.


Je peux pas faire un include à la place de mon appendfile ?

Code :
include ( <?php echo PUBLIC_PATH; ?> + 'js/jquery/carrousel/carousel2.ini.js');
il suffit de fixer la taille minimum du bloque parent
et commençe par validé ton site
Citation:
368 Errors, 131 warning(s)
et
Citation:
30 erreurs CSS avec 559 avertissements
, et encore il n'y a pas tout les style que tu as mis dans le HTML direct...
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 11h15   #12
Membre régulier
 
Inscription : janvier 2004
Messages : 440
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 440
Points : 89
Points : 89
Vous avez vu toutes ces erreurs où?
sheira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 11h22   #13
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
Citation:
Envoyé par sheira Voir le message
Vous avez vu toutes ces erreurs où?
http://validator.w3.org/
http://jigsaw.w3.org/css-validator/



indispensable quand on fait du web, une fois les pages validés et sans fautes, la on peut regarder les choses qui ne vont pas.
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 12h00   #14
Membre régulier
 
Inscription : janvier 2004
Messages : 440
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 440
Points : 89
Points : 89
Je connaissais le validateur w3c mais celui du css non.
Merci!
sheira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h55.


 
 
 
 
Partenaires

Hébergement Web