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 :

Code PHP dans du JavaScript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par d�faut Code PHP dans du JavaScript
    Bonjour � tous...

    Voil�, j'aimerais � la fermeture d'une fen�tre qu'un fichier soit supprim� du serveur.

    J'ai donc ce code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    <script langage="JavaScript" type="text/javascript">
      onunload ("<?php unlink ($_SESSION['file_name']); ?>");
    </script>
    En fait cela fonctionne mais trop bien c'est � dire qu'il supprime le fichier quand la page ce charge. J'aimerais vraiment que ce soit quand on ferme la fenetre car dans ces conditions c'est inutilisable.

    Merci pour vos r�ponses.

  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 : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Donc en r�sum�, ce que tu souhaites, c'est que le navigateur poss�de un interpr�teur PHP, qu'il ai acc�s au contexte du serveur et si possible j'imagine sans cr�er de faille de s�curit�

    Plus s�rieusement, il va falloir regarder du cot� d'Ajax pour faire cela
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par d�faut
    En gros

    Bon sinon y'a la solution plus simple d'un bouton pour effacer le fichier mais les collaborateurs ne 'cliquerons' jamais dessus...

    Sinon faire tourner un script UNIX en fond qui efface les fichiers de plus de un mois...

    Avant j'effac� le fichier � l'envoie du mail mais si la personne ce trompe de mail (ca peut arriver) il faut tout refaire... et l� ca craint...

    Merci pour ta r�ponse.

    EDIT : Si vous avez d'autres id�es...

    EDIT2 : Ca serais compliquer � mettre en oeuvre avec du AJAX ? (je dois m'y mettre mais l� je risque de manquer de temps)

  4. #4
    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 : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    La solution Ajax n'est pas forc�ment tr�s compliqu�e � mettre en place
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par d�faut
    Citation Envoy� par Bovino Voir le message
    La solution Ajax n'est pas forc�ment tr�s compliqu�e � mettre en place
    Sauf quand on y connait rien du tout

    Euh sinon par faille de s�curit� ? Est-ce que ce sont de 'grosse' faille ?
    Car ca serais pour de l'Intranet limit�, donc � la limite si il y'a d'autres solutions, ca peut peut-�tre �tre envisageable...

    Merci.

  6. #6
    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 : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Ce tuto : http://siddh.developpez.com/articles/ajax/
    contient tout ce dont tu as besoin pour faire ce que tu souhaites

    Concernant les failles de s�curit�, je parlait juste de celles qui existeraient si du code PHP pouvait �tre ex�cut� par le navigateur !
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  7. #7
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par d�faut
    Citation Envoy� par GoodWear Voir le message

    En fait cela fonctionne mais trop bien c'est � dire qu'il supprime le fichier quand la page ce charge. J'aimerais vraiment que ce soit quand on ferme la fenetre car dans ces conditions c'est inutilisable.

    ....
    Euh sinon par faille de s�curit� ? Est-ce que ce sont de 'grosse' faille ?

    .
    [TROLL]prochaine �tape : formater le disque dur via le client[/TROLL]

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par d�faut
    Ok, un truc comme ceci, est-ce que ca pourrais fonctionner ??? :


    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
     
    <html>
    	<head>
    		<title>Page 6</title>
    		<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
    			}
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			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
    					if(xhr.readyState == 4 && xhr.status == 200){
    						alert(xhr.responseText);
    					}
    				}
    				xhr.open("GET","ajax.php",true);
    				xhr.send(null);
    			}
    		</script>
    	</head>
    	<body>
    		<input type='button' value='Dis quelque chose !' onclick='go()' />
    	</body>
    </html>
    Et mon fichier AJAX :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
            session_name('toto');
            session_start();
            ob_start();
     
            unlink ($_SESSION['file_name']);
    ?>

  9. #9
    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 : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Oui, la base c'est bien �a.
    Mais tu peux aussi bien associer l'envoi de la requ�te � l'�v�nement onunload (ou mieux unbeforeunload).
    Dans ton cas, tu n'as pas sp�cialement besoin d'informations de retour donc le onreadystatechange peut �tre omis, � moins que tu pr�f�res retourner si l'effacement a fonctionn� ou non. En tout �tat de cause, la partie xhr.responseText n'a d'int�r�t que si tu renvoies une valeur (un echo dans ton script PHP)
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par d�faut
    Euh oui, quel idiot j'ai oubli� l'essentiel avec onunload. Donc si j'ai bien compris ton explication ca donnerais ca :

    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
    <html>
    	<head>
    		<title>Page 6</title>
    		<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()
    				xhr.open("GET","ajax.php",true);
    				xhr.send(null);
    			}
             unbeforeunload('go()'); // euh je ne suis pas sur du tout là... mais c'est ici qu'il faut appeler la fonction non ?
    		</script>
    	</head>
    	<body>
    <p> ma page </p>
    	</body>
    </html>

  11. #11
    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 : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Oui, tout � fait
    Et avec onbeforeunload :
    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
    <html>
    	<head>
    		<title>Page 6</title>
    		<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()
    				xhr.open("GET","ajax.php",true);
    				xhr.send(null);
    			}
    		</script>
    	</head>
    	<body onbeforeunload="go()">
    	</body>
    </html>
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Comment mettre du code php dans une condition javascript ?
    Par Alexandrebox dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 05/04/2010, 12h55
  2. Ex�cuter du code PHP dans un onchange javascript
    Par beegees dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 18/01/2009, 17h08
  3. [PHP-JS] Code PHP dans condition javascript
    Par amoiraud dans le forum Langage
    R�ponses: 5
    Dernier message: 19/03/2008, 17h47
  4. [PHP-JS] Code php dans un code javascript
    Par adrix26 dans le forum Langage
    R�ponses: 8
    Dernier message: 28/02/2007, 16h37
  5. R�ponses: 2
    Dernier message: 07/07/2006, 21h11

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