Page 1 sur 1

actualiser apres update

Posté : 30 déc. 2008, 18:33
par Karl
Salut a tous, avec un champ file un submit et un update je donne la possibilité aux utilisateurs de changer de photo, sous firefox le changement se fait sur place mais sous ie je suis obligé de réactualiser ma page (je pense que c'est une question de post et get) ...

j'ai beau chercher j'ai penser en fin de compte a trouver un moyen pour réactualiser cette page automatiquement apres l'update, j'ai pensé donc a (en gros):
if  ($_FILES['photo']['name']<>'') {
$updateSQL = "UPDATE ..... " 
     mysql_select_db($database_Connect, $Connect);
    $Res = mysql_query($updateSQL, $Connect) or die(mysql_error());
    $newphoto="oui";
}
et ensuite avant le head je met un truc comme :
 if($newphoto=="oui"){
$newphoto="non";
<script>
window.location.reload();
</script>
}

Le probleme c'est que le reload ne s'arrete pas, apparament $newphoto garde tourjous la valeur "oui" ... Merci d'avance

Posté : 30 déc. 2008, 18:39
par v4gab0nd
Ma façon est peut être barbare mais si tu fais:
header("Location: ta_page.php");
exit();

actualiser apres update

Posté : 30 déc. 2008, 18:52
par Karl
Merci pour ta réponse, j'ai déjà essayé header mais apparemment l'actualisation ne se fait pas en tout cas la photo reste la même ...

Posté : 30 déc. 2008, 19:22
par animithra
Bonsoir.

tu pourrais remplacer ton .reload par un .replace('url_absolue');

L'avantage c'est que tu peux passer le "oui" en argument dans l'url.

Bonne soirée et bonne progra !

Posté : 30 déc. 2008, 19:27
par Victor BRITO
tu pourrais remplacer ton .reload par un .replace('url_absolue');
Quelle que soit la méthode appelée, il ne faut jamais oublier que ce genre de redirection ne fonctionnera pas si JavaScript est désactivé. ;)

Posté : 30 déc. 2008, 19:28
par v4gab0nd
if  ($_FILES['photo']['name']<>'') {
$updateSQL = "UPDATE ..... " 
     mysql_select_db($database_Connect, $Connect);
    $Res = mysql_query($updateSQL, $Connect) or die(mysql_error());
    header("Location: ta_page.php");
    exit();
}
Normalement, il devrait recharger la page et donc le PHP.

Posté : 30 déc. 2008, 19:30
par Victor BRITO
if  ($_FILES['photo']['name']<>'') {
$updateSQL = "UPDATE ..... " 
     mysql_select_db($database_Connect, $Connect);
    $Res = mysql_query($updateSQL, $Connect) or die(mysql_error());
    header("Location: ta_page.php");
    exit();
}
Normalement, il devrait recharger la page et donc le PHP.
Reste à voir le problème du cache, si la photo ne se met à jour malgré ce code.

Posté : 31 déc. 2008, 00:40
par Hywan
Hey :),

Attention à gérer comme il faut les sorties si tu envoies une nouvelle en-tête. Car si une donnée est déjà sortie, tu auras une erreur (header was already sent bla bla …).

Posté : 01 janv. 2009, 01:45
par x@v
il faut peut être utiliser un fichier externe qui te renverrais
sur ta page.
Comme c'est un formulaire tu l'envoie sur la page1.php
dans la page tu test la variable du formulaire pour rediriger avec un header qui renvoie sur la page que tu veux.

Posté : 02 janv. 2009, 02:41
par AB
Si la méthode de V4GaB0nD ne fonctionne pas, essaies de mettre une variable qui change à chaque fois dans ton header. Il me semble me souvenir que cela force le navigateur à réactualiser la page.
$var = uniqid(rand()); 

header("Location: ta_page.php?var=$var"); 

Re: actualiser apres update

Posté : 02 janv. 2009, 12:07
par zeus
Je crois qu'on est tous passé à côté de quelque chose :
Le probleme c'est que le reload ne s'arrete pas, apparament $newphoto garde tourjous la valeur "oui" ... Merci d'avance
Donc, il faut que tu commences par faire un print_r($_FILES) pour voir s'il contient bien ce que tu attends.