Bonjour,
après des jours de test et de recherche internet, je dois avouer que j'ai été mis en échec. Je pense que ce que j'essaie de faire est impossible sans AJAX, mais autant avoir l'avis d'autre personne pour en être sûr. Voici mon problème :
Ce que je veux faire :
Je veux une zone accessible par mot de passe, dans lequelle se trouve une textarea. La valeur de cette textarea est récupérée dans un fichier (ceci, c'est facile). Puis, je modifie à mon aise cette textarea et soumets modifie le fichier en conséquence (jusque là, ça va). Une fois le fichier soumis, je veux que ma page ait été rechargé tout en ayant comme nouvelle valeur, les données du fichier qui a été modifié (Et là, c'est le drame).
Ce qui se passe :
Je vois ma textarea avec la bonne valeur après m'être logué. Je modifie le texte dans cette zone, et soumets. Le fichier est modifié, la page rechargée. Mais le texte de la textarea est resté l'ancien, et je dois actualiser de nouveau manuellement pour voir le nouveau texte dans la textarea en accord avec le fichier.
Ce que j'ai déjà essayé :
- Retirer la mise en cache
- tenter un onclick="reloader la page web" dans mon input submit
- poser de manière très crade un <META HTTP-EQUIV="refresh" CONTENT="0;URL=http://my_url/index.php?atout=content&newvar=true"> après avoir valider en utilisant notamment une nouvelle variable, et donc rafraichir la page sous conditions. Mais sans succès
Ou peut être le problème :
A mon avis (et c'est là qu'AJAX est peut-être la solution), c'est du a la non interaction entre php (serveur) et html (client).
Si quiconque à un avis à me donner, même celui d'abandonner mon idée parce qu'il peut me prouver que ça ne peut pas marcher, je suis preneur.
Merci bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <?php $atout = (isset($_GET['atout'])) ? $_GET['atout'] : ''; if($atout=='password_reached'){ $filename = "whatever.txt"; $fp = fopen($filename,'r'); while (!feof($fp)){$donnees=$donnees.fgets($fp);} fclose ($fp); echo '<form method="post" action="?atout=password_reached"> <textarea rows="10" name="text" cols="60" WRAP="virtual">'.$donnees.'</textarea> <INPUT type="submit" name="bouton" value="Do"/> </form> '; $text = $_POST['text']; $fp = fopen ($filename, "w"); if ($fp) { fwrite ($fp, $text); fclose ($fp); echo 'file wrote'; }else{ echo 'File was not written'; } }else{ echo " <form method=\"post\"> LOGIN: <INPUT name=\"login\" type='text' size=8> PASSWORD: <INPUT type=\"password\" name=\"password\" size=8> <INPUT type='submit' name=\"bouton\" value='OK'> </form> "; $login = $_POST['login']; $password = $_POST['password']; if ($login=='login1' and $password=='password1'){ echo "another page protected by password"; }elseif($login=='' and $password==''){ echo 'Enter your login and password to reach this specific section'; }elseif($login=='login2' and $password=='password2'){ echo '<META HTTP-EQUIV="refresh" CONTENT="0;URL=http://my_url/index.php?atout=content">'; }else{ echo 'Wrong password or login!'; } } ?>
Désolé pour les fautes et coquilles.
Partager