Bonjour !
J'aimerais savoir s'il est possible d'exécuter (si possible sans JS) un script php sans que le serveur renvoie quoique ce soit au client, et si oui comment ?
Merci d'avance.
Version imprimable
Bonjour !
J'aimerais savoir s'il est possible d'exécuter (si possible sans JS) un script php sans que le serveur renvoie quoique ce soit au client, et si oui comment ?
Merci d'avance.
c'est à dire ne rien renvoyer au client ?
si tu e fait aucun echo, print ou autre, tu ne renverra rien au client ...
Pardon, je précise : sans que le navigateur ouvre une page.
Mon but est d'envoyer des infos à une page exécutant une requête mysql sans que cette page s'ouvre dans mon navigateur, parce que ça ne m'est d'aucune utilité... :?
Salut
Je pense que tu cherches à faire un include()...
Euh non pas vraiment... je m'explique.
J'ai une page où se situe un formulaire. Ce formulaire je dois l'envoyer sur une page différente, c'est obligé, car je ne veux pas que la page où se trouve le formulaire se recharge.
Cette page différente-là assure donc le traitement du formulaire. Mon problème est que mon navigateur ouvre alors une nouvelle page pour cette page de traitement, et cette page est blanche !
Je peux la fermer avec Javascript mais je ne trouve pas ça satisfaisant... (j'essaye de m'en passer au maximum). C'est pourquoi j'aimerais que cette page n'apparaisse pas, et théoriquement ça doit être possible puisque le traitement s'effectue côté serveur !
Ce que j'ai essayé jusqu'à présent c'est bufferiser la page puis effacer le buffer, mais ça ouvrait quand même une page blanche...
Oui, tu cherches en effet à simuler un include().
Si tu utilises une redirection, tu ordonneras au navigateur de demander une page, ce qui résultera évidemment en une nouvelle page ouverte.
Si tu n'utilises pas de redirection client, alors tu dois utiliser include() ou require().
Je sais comment utiliser include() et require(), mais dans mon cas je ne vois pas ce que tu veux dire... tu voudrais que j'inclue la page de traitement dans la page contenant le formulaire ?
De mon côté, je ne parviens pas à situer où se trouve le problème... Oui, c'est bien ça, include() permet d'inclure un fichier dans un autre, or il se trouve que c'est exactement ce que tu cherches à faire. Il n'existe pas de "redirection serveur" : il s'agit d'inclusions.
Je sens une pointe d'agacement... ;)
Moi je veux bien inclure mon fichier de traitement dans la page du formulaire,
mais le fait de lui envoyer des valeurs ne va-t-il pas inévitablement conduire la page à se recharger ?... or comme dit plus haut, je veux justement éviter que la page du formulaire se recharge !
non, tu peux faire un include d'une page de traitement, sans rien renvoyer dans cette page inclue.
Ton traitement s'effectuera bien, sans que rien ne soit visible du point de vue client.
Le principe de l'inclusion est justement de ne pas faire recharger la page par le navigateur. Tout se passe du côté du serveur, le navigateur n'y voit que du feu.
J'ai essayé avec un fichier de traitement inclus dans la même page que le formulaire, comme vous me l'avez indiqué :
- si j'envoie le formulaire sur le fichier inclus (action=...), le formulaire est bien traité mais cela ouvre une page blanche qui écrase la page précédente
- si j'envoie le formulaire sur la page où le fichier est inclus (action=...), le formulaire est bien traité, il n'y a pas d'ouverture de page mais la page initiale est rechargée
J'ai dû mal m'y prendre, désolé... pouvez-vous m'aider s'il vous plait ?
Up ... :roll:
Que je comprenne bien : tu veux utiliser un formulaire mais sans charger de nouvelle page ?
Voilà ! Sans la charger dans le navigateur !
Ok...
Pourquoi les gens cherchent-ils toujours à faire quelque chose qui n'est pas prévu, qui n'est pas logique ?
Je pense que la seule solution réelle sera de te pencher sur l'objet XmlHttpRequest de JavaScript, qui te permettra d'envoyer tes infos grâce à l'évènement onsubmit du formulaire de manière asynchrone, sans charger de nouvelle page.
Peut-être parce que "les gens" n'ont pas la science infuse... désolé mais tu risques d'en trouver beaucoup sur ce forum... :roll:Citation:
Pourquoi les gens cherchent-ils toujours à faire quelque chose qui n'est pas prévu, qui n'est pas logique ?
Et c'est difficile de savoir ce qui est prévu ou pas si on ne l'apprend pas quelque part... Or, se demander si on peut envoyer des données à un script php sans que la page correspondant à ce script s'affiche dans le navigateur ne me semble pas illogique dans le cadre d'un apprentissage du php... cela nous éclaire sur le fonctionnement de ce langage, nous pauvres cancrelats qui n'y connaissons rien...
Mais j'ai donc la réponse, c'est là l'essentiel... : ça n'est pas possible en php seul ! :)
Merci donc à tous et en particulier à toi Yogui ! ;)
Quand tu envoies quelque chose quelque part, tu n'attends jamais de réponse, une sorte d'accusé de réception ?
C'est le même principe avec un formulaire : tu envoies des informations, il est normal que tu reçoives une réponse.
L'informatique n'a rien inventé ;)
Elle a désinventé alors ! Parce que par défaut quand t'envoie une lettre y'a pas d'AR ! ;)
Ou au moins tu peux dire dans la lettre "Surtout ne me répondez pas je m'en tape !"
Enfin bon... ;)