begin process at 2012 02 12 11:38:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Comment lancer un script PHP qui ne décharge pas la page courante ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment lancer un script PHP qui ne décharge pas la page courante ?

samedi 24 mai 2008 à 21:50:25 | Comment lancer un script PHP qui ne décharge pas la page courante ?

bluemandfr

Bonjour,
 
Je fais appel à la communauté pour savoir si, depuis une page HTML classique, nommée pour cette explication "A", il est possible de lancer un script PHP (qui en loccurence met à jour des données sur un serveur, mais qui n'affiche absolument rien, ne retourne vers le client absolument rien) SANS que la page courante "A" soit déchargée.
 
J'y arrive lorque je force un download, arrivant même à lancer du java derrière, mais hormis ce cas très special, je n'arrive pas à le faire dans le contexte indiqué ci-dessus.
 
Est-ce possible et comment ?
 
Par avance Merci !
 
BlueManCa.
dimanche 25 mai 2008 à 09:29:37 | Re : Comment lancer un script PHP qui ne décharge pas la page courante ?

nicomilville

Membre Club
Réponse acceptée !
Salut,

Regarde du côté d'AJAX !
XMLHTTPRequest

a++

Si la réponse vous convient, pensez : Réponse accepté !

dimanche 25 mai 2008 à 18:36:22 | Re : Comment lancer un script PHP qui ne décharge pas la page courante ?

bluemandfr

Réponse acceptée !
Merci nicomilville !

Voici à ce propose des bouts de codes que j'ai trouvé et qui aideront tous ceux qui, comme moi, ont besoin de pouvoir lancer des scripts (avec ou sans données en retour) SANS DÉCHARGER la PAGE COURANTE : TRÈS PRATIQUE !!!! :

Partie Javascript (dans cet exemple on envoie deux données : 2 chaines stockées dans 2 INPUT de type TEXTE)  :
--------------------------------------------------------------------------------------------------------------------

var xhr_object = null;
 
if(window.XMLHttpRequest) // Firefox
   xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
   return;
}
 
var method   = f.elements["method"][0].checked ? "GET" : "POST";
var filename = "strings2.php";
var s1       = f.elements["string1"].value;
var s2       = f.elements["string2"].value;
var data     = null;
 
if(s1 != "" && s2 != "")
   data = "s1="+s1+"&s2="+s2;
 
if(method == "GET" && data != null) {
   filename += "?"+data;
   data      = null;
}
 
xhr_object.open(method, filename, true);
 
xhr_object.onreadystatechange = function() {
   if(xhr_object.readyState == 4) {
      var tmp = xhr_object.responseText.split(":");
      if(typeof(tmp[1]) != "undefined") {
         f.elements["string1_r"].value = tmp[1];
         f.elements["string2_r"].value = tmp[2];
      }
      alert(tmp[0]);
   }
}
 
if(method == "POST")
   xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 
xhr_object.send(data);

Partie PHP (dans cet exemple cela renvoie les 2 chaines mais inversées)  :
--------------------------------------------------------------------------------------------------------------------

header('Content-type: text/html; charset=iso-8859-1');
 
if(count($_POST) > 0) {
   echo "Données reçues en POST:";
   foreach($_POST as $v)
      echo strrev(utf8_decode($v)).":";
}
elseif(count($_GET) > 0) {
   echo "Données reçues en GET:";
   foreach($_GET as $v)
      echo strrev($v).":";
}
 
if(count($_POST) == 0 && count($_GET) == 0)
 echo 'Aucune donnée n\'a été reçue par "'.basename($_SERVER["PHP_SELF"]).'"...';


Conclusion :
------------

Vous pourrez simplifier encore ce code en virant toute la partie GET : il faut mieux utiliser POST, c'est plus propre.

On peut lancer des traitements avec ou sans retour, sans décharger la page courante avec XMLHttpRequest.

Voili, voulou !

 BlueMan
dimanche 25 mai 2008 à 18:40:23 | Re : Comment lancer un script PHP qui ne décharge pas la page courante ?

nicomilville

Membre Club
Réponse acceptée !
De rien, j'avais un peu peur que tu fuis comme plein d'autre gens quand je dis ajax il s'enfuient !

a++

Si la réponse vous convient, pensez : Réponse accepté !



Cette discussion est classée dans : script, page, php, lancer, courante


Répondre à ce message

Sujets en rapport avec ce message

Pb avec java script + frame [ par mika20 ] Salut.j'ai un pb. je n'arrive pas a faire afficher une page php dans une frame lorsque je clic sur un clien en java scripte. Je m'explique plus claire PHP côté serveur [ par str ] Salut tout le monde,Je souhaite lancer un script qui doit durer environ 1/2 heure, ce qui n'est pas très pratique via un navigateur.J'ai vu qu'il étai cron php [ par str ] Salut,Je suis a la recherche d'une commande pour executer un script php uniquement sur le serveur à partir d'une page php executée par un navigateur c colle [ par conan76 ] Une petite colle,Je voudrais tester dans le but d'optimisations plusieurs choses :1) temps de traitement du script PHP2) poids de la page récupérerain Lancer un script php à partir de mon fichier index.html [ par vbbreizh ] VBBreizh (petits débuts en php)A partir de mon fichier index.htmlstructure :-Dans une fonction située dans le , j'utilise JavaScript pou Apache/Script [ par glipper ] Bonjour,j'ai monté un serveur Apache (v1.3), et j'heberge un ami provisoirement. Mais j'aimerais que lorsque l'on tape l'adresse de son site ("http:// Cherche Script PHP [ par ykc ] Bonjour,Je cherche 1 script php qui me permettrait par methode d'"include()" de n'avoir que la page index.php et les autres s'afficheraien dedans avec Lancer un php en arriere plan [ par DevelMan ] Bonjour,Je voudrais lancer l'execution d'un php en arriere plan que mon programme principal continue a se derouler pendant ce temps.J'ai essaye ce bou Upload/Download [ par rrnrios ] salut a tous!!Je voudrais savoir s'il existe un script pour télécharger ma page : news.php depuis un ordinateur distant, la modifier et la remettre en PHP FORMULAIRE [ par ousta ] bonjour a vous. Je viens malheureusement de découvrir le PHP et je deteste. j'ai un probleme qui m'enerve au plus haut point:Notice: Undefined index:


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales