PHP + Javascript

Fermé
DAG - 18 juil. 2008 à 19:29
 DAG - 19 juil. 2008 à 12:52
Bonjour,

J'aimerai mettre un gif simulant le chargement d'une page PHP. En effet j'ai des traitements
assez longs... J'ai écris un petit bout de code pour simuler tous ça :
<html>
<head>
</head>

<body onLoad="init()">
<div id="loading" style="position:absolute; width:100%; text-align:center; top:300px;">
<img src="loader.gif" border=0></img></div>
<script>
var ld=(document.all);

var ns4=document.layers;
var ns6=document.getElementById&&!document.all;
var ie4=document.all;

if (ns4)
	ld=document.loading;
else if (ns6)
	ld=document.getElementById("loading").style;
else if (ie4)
	ld=document.all.loading.style;

function init()
{
if(ns4){ld.visibility="hidden";}
else if (ns6||ie4) ld.display="none";
}
</script>

<center><img src="shell.jpg"></center>

<?php
$c = '';
for($i=0;$i<10000000;$i++)
{
	$c .= chr(mt_rand(97,122));
}
$c = str_replace('a','b',$c);
$c = str_replace('b','c',$c);
$c = str_replace('c','d',$c);
$c = str_replace('d','e',$c);
$c = str_replace('e','f',$c);
$c = str_replace('f','g',$c);
$c = str_replace('g','h',$c);
$c = str_replace('h','i',$c);
$c = str_replace('i','j',$c);

echo "Hello !";
?>

<center><img src="shell.jpg"></center>

</body>
</html>



Le problème est que je ne vois pas mon gif 'loader.gif" lorsque le PHP est exécuté. Par contre
je le vois lors du chargement des image.
En fait je le vois vite fait lorsque je charge la deuxieme image. Mais pas lors de la premiere ni durant
l'execution du PHP...

Quelqu'un aurait-il une idée pour solutionner mon problème ?

Merci d'avance.
A voir également:

6 réponses

Benno Messages postés 151 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 13 avril 2009 112
18 juil. 2008 à 19:42
Salut,

Tu ne vois pas le gif lors de l'exécution du code PHP car celle-ci a lieu avant que la page (html) soit retournée au client et lue par le navigateur : impossible donc de simuler le chargement pendant que le code PHP s'exécute, à moins d'utiliser une méthode asynchrone (AJAX).
0
ah ok...
ça a l'air assez complexe non ?

As-tu quelque pistes ou exemples pour que je puisse réssuir a faire ce que je veux ?

Merci
0
Benno Messages postés 151 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 13 avril 2009 112
18 juil. 2008 à 20:00
Concrètement tu dois utiliser JavaScript pour faire appel à un fichier PHP (de traitement) après que la page principale soit chargée. En attendant l'exécution du code PHP, tu peux afficher tes gif de chargement puis une fois les résultats obtenus et récupérés via JavaScript, il te suffit de les intégrer dans une div (sous forme de texte).

À lire pour t'aider :
https://openclassrooms.com/fr/courses
0
Ok merci pour tout, je vais aller faire un tour sur le site ce WE ;-)

Mais juste une dernière question : si je mettais tout dans le PHP (PHP + HTML + JavaScript). Est-ce ça ne pourrait pas marcher ? Pourquoi ? (j'ai essayer et ça n'a pas l'air de marcher ! lol)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
legulysse Messages postés 121 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 16 janvier 2010 15
19 juil. 2008 à 04:22
il y a un point que tu dois absolument retenir :

php est éxecuté coté serveur, et la page affiché est le resultat retourné au client, tandis que html, css et javascript sont manipulés par le client uniquement, et n'ont aucune interaction avec le serveur, et donc les scripts php.

beaucoup de gens melangent ce qui est realisé par le serveur et ce qui est traité par le client.
0
ok, merci beaucoup
0