actualiser apres update

Karl
Invité n'ayant pas de compte PHPfrance

30 déc. 2008, 18:33

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

Eléphanteau du PHP | 30 Messages

30 déc. 2008, 18:39

Ma façon est peut être barbare mais si tu fais:
header("Location: ta_page.php");
exit();

Karl
Invité n'ayant pas de compte PHPfrance

30 déc. 2008, 18:52

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 ...

Eléphant du PHP | 174 Messages

30 déc. 2008, 19:22

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 !
"Il vaut mieux avoir du luxe dans ses sentiments que sur ses habits, je ne crains, moi, le mépris de personne" Honoré De Balzac.
"On s'étonne trop de ce que l'on voit rarement et trop peu de ce que l'on voit chaque jour" Mme de Genlis
"L'absence diminue les médiocres passions et augmente les grandes comme le vent éteint les bougies et allume le feu" La RocheFoucauld
"People have hope because they can't see Death standing behind them" (anonymous)
"Of all the things I've lost, I miss my brain the most" (from a fanfic)

Mammouth du PHP | 2937 Messages

30 déc. 2008, 19:27

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é. ;)

Eléphanteau du PHP | 30 Messages

30 déc. 2008, 19:28

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.

Mammouth du PHP | 2937 Messages

30 déc. 2008, 19:30

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.

ViPHP
ViPHP | 4674 Messages

31 déc. 2008, 00:40

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 …).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

x@v
Mammouth du PHP | 570 Messages

01 janv. 2009, 01:45

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.

ViPHP
AB
ViPHP | 5818 Messages

02 janv. 2009, 02:41

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"); 

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 janv. 2009, 12:07

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.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer