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

Langage PHP Discussion :

php dans fonction javascript


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2009
    Messages : 46
    Points : 33
    Points
    33
    Par défaut php dans fonction javascript
    bonjour,
    j'ai un problème au niveau d'un code php à exécuter à l'intérieur d'une fonction en javascript, elle même incluse dans un "echo".
    un bout de code sera plus clair:

    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
     
    <?php
    			//*****javascript sous php pour le passage des variables
    				echo 	"<script type='text/javascript'>
    							
    							<!-- s'execute à chaque chargement-->
    							ajax('$disconnect','$membre','$cookie','$visites');
    							
    							<!--bouton déconnecter-->
    							function disconnect()
    							{
    								ajax(true,'$membre','$cookie','$visites',true);
    							}
    							
    							function adoption()
    							{
    								'.$register->fenetre().';
    							}
    						</script>";
    		?>
    c'est au niveau de "$register->fenetre()" que se situe le problème.On m'indique:
    "Notice: Undefined property: Register_module::$fenetre in..."
    $register étant une occurence de Register_module et fenetre une fonction publique de ma classe Register_module. j'ai aussi essayé en static: aucune erreur mais rien ne se passe...
    Merci d'avance pour vos conseils

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu arrives à faire ton $register->fenetre() en dehors de ça ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2009
    Messages : 46
    Points : 33
    Points
    33
    Par défaut
    oui ,tout marche comme sur des roulettes.
    mais impossible de l'inclure dans ma fonction js.
    j'ai essayé la concaténation ".myVariable->fenetre().", mais cela s'exécute à tous les coups. Le problème est que fenetre() est reconnue comme une propriété et non comme une fonction. Faut-il vraiment que je me tape de l'ajax pour ci peu?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne comprends pas ton "ca s'execute a tous les coups".
    L'execution de PHP n'est pas dependante de ce qui se passe en Javascript.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    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
    ".$register->fenetre()."

    après faut voir ce que fait ta méthode, en principe elle doit générer du javascript sinon ça sent le sapin
    la vie n'est pas cirrhose des foies ...

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

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    J'ai le sentiment que tu veux qu'une fonction ou méthode php soit exécutée/déclenchée par un event javascript. C'est ça ?

    Si c'est le cas, comme Vil'Coyote je pense que ça sent le sapin (bizarre comme expression ?!).

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2009
    Messages : 46
    Points : 33
    Points
    33
    Par défaut
    non je n'execute pas de code php dans ma fonction fenetre ...La preuve:

    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
     
     
    public function fenetre()
    	{
    		echo "<script type='text/javascript'>
    		var myModale=new Modale(document.getElementById('back'),document.getElementById('Form'),document.getElementById('close'),document.getElementById('mod'));
    		myModale.create();
    		var email=new XmlRequest;
    		var pseudo=new XmlRequest;
    		var pwd=new XmlRequest;
    		function verif()
    		{
    			email.accord(document.getElementById('mail'));
    			pseudo.accord(document.getElementById('pseudo'));
    			pwd.accord(document.getElementById('pwd2'),document.getElementById('pwd1'));
    			if(document.getElementById('pwd2')!='' && document.getElementById('pwd1')!='')
    			{
    				if(document.getElementById('pseudo')!='' && getStyle('pseudo','borderColor')=='#00FF00')
    				{
    					if(document.getElementById('mail')!='' && getStyle('mail','borderColor')=='#00FF00')
    					{
    						if(document.getElementById('year')!='Y' && document.getElementById('month')!='M' && document.getElementById('day')!='J')
    						{
    							if(document.getElementById('nom')!='' && document.getElementById('prenom')!='')
    							{
     
    								document.getElementById('valider').style.disabled=false;
    							}
    						}
    					}
    				}
    			}
    			setTimeout(function(){verif()},200);
    		}
    		document.getElementById('alert').onclick=function()
    		{
    			alert(getStyle('pseudo','borderColor'));
    		}
    		verif();
    		function getStyle(el,styleProp)
    		{
    			var x = document.getElementById(el);
    			if (x.currentStyle!=null)
    			{
    				var y = x.currentStyle[styleProp];
    			}else if (window.getComputedStyle)
    			{
    				var y = document.defaultView.getComputedStyle(x,'').getPropertyValue(styleProp);
    			}
    			return y;
    		}
    		document.getElementById('close').onclick=function()
    		{
    			myModale.shut();
    		}
    		document.getElementById('mod').onclick=function()
    		{
    			myModale.fill();
    		}
    		</script>";
    	}

    auriez vous une explication?

  8. #8
    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
    ba si on lis bien le tout tu insert une balise script dans une autre balise script ça peut poser problème.
    la vie n'est pas cirrhose des foies ...

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

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2009
    Messages : 46
    Points : 33
    Points
    33
    Par défaut toujours le même problème mais en static
    bonsoir à tous,
    la réponse précédente a vraiment été fructueuse.
    Mais je me retrouve devant un blem similaire face une variable static située dans une classe "Login".
    voilà le message :

    Notice: Undefined variable: disp in C:\wamp\www\Rugbystics_V2-1\index.php on line 98

    voici ma variable $disp de la classe "Login":

    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
     
    public static $disp="	 
     
    		var Req=new XmlRequest();
     
    		document.getElementById('back').style.height=170+'px';
    		document.getElementById('back').style.width=350+'px';
    		Req.session('.Login::getDis().','.Login::getMem().','.Login::getVis().');
     
    		function soumettre()
    		{
     
    			document.getElementById('composants').style.display='none';
    			document.getElementById('connecté').style.display='none';
    			Req.Login(document.getElementById('log').value,document.getElementById('pass').value);
    		}
    		function MiseEnPage()
    		{
    			Req.ModuleLogin();
    		}
    		function forgotPwd()
    		{
    			'.Pwd_module::$fenetre;.';
    		}
    		<!--bouton déconnecter-->
    		function disconnect()
    		{
    			var destroy=new XmlRequest();
    			destroy.session(true,'','.Login::getVis().',true);
    		}
    		function adoption()
    		{
    			'.Register_module::$fenetre;.';
    		}
    		function modif()
    		{
    			'.Profile::$fenetre;.';
    		}
    		";
    et le code de ma page index:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
     
    			include("./modules/Login/Login_module.php");
     
    			echo "
    			<script type='text/javascript'>
    			
    				function template()
    				{
    					'.Login::$disp.';
    				}
                             </script>";
    pourtant ma variable statique appelée depuis du PHP se comporte normalement. merci de me venir en aide

  10. #10
    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
    tu pourrais m'expliquer pourquoi tu alternes les ' et les "? dans tes script j'ai peur que cela soit mal interpréter surtout si tu passe en javascript avec des . au lieu des +
    la vie n'est pas cirrhose des foies ...

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

Discussions similaires

  1. Passage d'un String PHP dans fonction javascript et quotes
    Par roukgreg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/05/2013, 14h48
  2. Insertion variable PHP dans fonction javascript
    Par hisin dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/06/2010, 16h58
  3. array php dans fonction javascript?
    Par vidzo dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 29/09/2009, 09h29
  4. Utiliser le résultat d'un fichier php dans fonction javascript
    Par theshark85 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/07/2009, 12h07
  5. Appel fonction php dans code javascript
    Par licorne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55

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