Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/10/2007, 03h24   #1
Membre confirmé
 
Chef de projet NTIC
Inscription : avril 2007
Messages : 225
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : avril 2007
Messages : 225
Points : 205
Points : 205
Par défaut [PHP-JS] Probleme avec ma barre de progression sous IE

Bonjour
J'ai fait une barre de progression qui permet de savoir où l'upload en est lorsqu'on upload un fichier.
Elle marche très bien avec firefox mais pas avec IE.
IE ne me renvoie aucune erreur et fait régulièrement les rafrachissement, sauf que la barre ne bouge pas.

Voici le code du formulaire (index.php):

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
<head>
<script src = "scriptaculous"></script>
<script src = "prototype.js"></script>
<script src = "script.js"></script>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
 <form enctype="multipart/form-data" id="upload_form" action="" method="POST">
  <input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" value="<?php echo uniqid()?>"/>
  <input type="file" id="test_file" name="test_file"/><br/>
  <input type="submit" onclick="alert($('progress_key').value);progress($(progress_key).value);" value="Upload!"/>
   <!--<input type="button" onclick="test($(progress_key).value);" value="affiche"/> -->
 </form>
<div class = "barre" id = "barre">
        <div class = "progressBar" id = "progressBar"></div>
</div>
</body>
</html>
Le code javascript:

Code :
1
2
3
4
5
6
7
8
function progress(id) {
        elementHTML = document.getElementById('progressBar');
        var url = "toto.php?id="+id;
        //alert(url);
        o_o = new Object();
        o_o = {method:'get',frequency:1,asynchronous:true};
        var laRequete = new Ajax.PeriodicalUpdater(elementHTML,url,o_o);
}
Le code de test.php (appelez par la fonction progress de javascript):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// print_r(apc_fetch("upload_$_GET[id]"));
$tab = apc_fetch("upload_$_GET[id]");
if(isset($tab['total'])) {
 
        if($tab['total'] == 0){
                //$tab['total'] = 1;
                $pourcentage = 1;
 
        }
        else {
 
                $pourcentage = round(($tab['current'] / $tab['total']) * 100);
        }
 
}
else {
        die('fatal error!');
}
echo "<img src=\"test.php?pourcentage=".$pourcentage."\"/>";
 
 
?>
Voici le code test.php (permet de générer l'image rectangle de ma barre de progression):

Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
$pourcent = $_GET['pourcentage'];
header("Content-type: image/png");
$x = $pourcent*2; //largeur de mon image en PIXELS uniquement !
$y = 15; //hauteur de mon image en PIXELS uniquement !
$image = imagecreatetruecolor($x,$y);
$couleur = imagecolorallocate ($image, 36, 93, 219);
imageFilledRectangle($image, 0, 0, $x, $y, $couleur);
imagepng($image); //renvoie une image sous format png
imagedestroy($image); //detruit l'image, liberant ainsi de la memoire
?>
Voila
Merci
gannher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2007, 10h32   #2
Membre confirmé
 
Chef de projet NTIC
Inscription : avril 2007
Messages : 225
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : avril 2007
Messages : 225
Points : 205
Points : 205
Bonjour

Apparement l'erreur vient de test.php.
Quand j'utilise internet explorer, le tableau $tab n'existe pas. Mais j'ai aucune probleme avec firefox... Je comprend vraiment rien.
gannher est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h40.


 
 
 
 
Partenaires

Hébergement Web