Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Formularz, pozniej odswiezenie. LOL
Forum PHP.pl > Forum > Przedszkole
mThW
Witam! smile.gif
Przerobilem sobie skrypt php, ktory zapisuej dane z formularza do pliku .txt - skrypt na stronie
http://mthw.ovh.org/?go=articles&art=1

Opis:
Wypelniam formularz (ktory znajduej sie pod tabelka z komentami), wysylam (klikam dodaj) nastepnie w miejscu formularze skrypt wyswietla komunikat 'Komentarz zostal dodany, wroc i odswiez strone.'
a pod nim button '<-- Back'.

O co mi chodzi:
Chodzi o to, ze po dodaniu komentarza i w czasie przekierowania skrypt nie czyta ponownie pliku txt i mimo tego ze koment zostal dodany trzeba odswiezyc strone zeby zostal pokazany na stronie, tak samo jest po wcisnieciu buttona back...
Chce to zmienic, po prostu chodzi o to zeby po dodaniu komenta zostal wyswietlony komunikat o dodaniu komenta i zeby w tym samym czasie zostal ukazany koment.
http://mthw.ovh.org/?go=articles&art=1 <-- Zobaczcie o co chodzi.

PS
w php jestem zielony smile.gif
GG: 2903777 <- komu sie chce niech napisze biggrin.gif
lopez_222
Co do automatycznego odświeżania strony to znajdziesz sporo skryptów wpisując w google refresh page.
Ale może pomoże jeśli zrobisz przeniesienie na stronę za pomocą header(Location: nazwastrony.php).

http://www.hypergurl.com/refreshpage.html
Gość_gerard_*
zamień kolejność wykonywanych operacji.
1. zapis
2. odczyt.
3. formularz
mThW
http://mthw.ovh.org/?go=articles&art=1&stat=nie

Na tej stronie index.php includuje artykul (plik art1.php) w ktorym jest kod:

  1. <?php
  2.  include("cmt/index.php");
  3.  include("cmt/add.php");
  4. ?>


cmt/index.php ma w sobie kod html (ta tabelka gdzie pisze ':: Komentarze') i kod php

  1. <? 
  2.  include("add.txt");
  3. ?>


W pliku add.txt zapisywane sa dane z formularza.
To jest zasada dziala skryptu.

Plik add.php ma w sobie formularz i kod php, ktory odpowiada za zapis danych do pliku add.txt, wyglada to tak:

  1. <?php
  2.  
  3. //Pass Save by oPL^^
  4.  
  5.  
  6. if (empty($_GET['cmt']))
  7. {
  8. ?>
  9.  
  10. TU JEST KOD HTML formularza;]
  11.  
  12. <?php
  13. }
  14. //jesli uzytkownik wypelnil i wyslal formularz, to zapisujemy dane
  15. else
  16. {
  17. //formatujemy dane do zapisania
  18. $wpis=date('d.n.Y - H:i').' <br> &nbsp;&nbsp;Nick: <FONT COLOR="#6C6C6C">@</FONT>&nbsp;<a title="'.$_POST['mail'].'" target="_blank" HREF="mailto:'.$_POST['mail'].'">'.$_POST['nick'].'</A>&nbsp;&nbsp;GG: <a title="zagadaj ;]" HREF="gg:'.$_POST['gg'].'">'.$_POST['gg'].'</A>&nbsp;&nbsp;WWW: <a title="Strona WWW" target="_blank" HREF="http://'.$_POST['www'].'">'.$_POST['www'].'</A>&nbsp;&nbsp;Ocenil na '.$_POST['ocena'].'<br>&nbsp;&nbsp;Komentarz: '.$_POST['komentarz']."<br><br>rn";
  19. //otwieramy plik do odczytu
  20. $plik = fopen('articles/art1/cmt/add.txt','a');
  21. //zapisujemy wpis do pliku
  22. if(fputs($plik, $wpis)) echo '<center><br>Komentarz zostal dodany, wroc i odswiez strone.<br><br><INPUT TYPE="button" VALUE="<- Back" onClick="history.back()"></center>';
  23. //zamykamy dostęp do pliku
  24. fclose($plik);
  25. }
  26.  
  27. ?>



Teraz mowie znow o co mi chodzi:

Chodzi o to ze po wypelnieniu formualrza i kliknieci 'dodaj' wystwietlana jest informacja ze koment zostal dodany, lecz wyzej w tabelce z komentami go jeszcze nie ma. Chce osiagnac efekt, ze po kliknieciu 'dodaj' zostanie wyswietlona infomacja ze koment zostal dodany i wyzej bedzie juz ukazany, czyli chodzi o to zeby odwiedzajacy nie musial tracic czasu na odswiezaniu strony...

Jak dalej nie wiecie o co mi biega to pisze, wrzoce skrypt w osobnym folderze czysty i przejrzysty...
mThW
Nie pomyslalem zeby zapytac: czy przy podanym kodzie includowania mozna wkleic zeby includowal na bierzaco?

Np. gdy wciskamy wstecz i cofamy sie do dzialu wktorym kod includuje plik txt.
Zobaczymy zawartosc taka sama jak wczesniej nawet gdy w miedzy czasie zawartosc pliku txt sie zmieni...

No ale przy wcisnieciu 'wstecz' plik zostal wczytany na nowo to zmiaan juz by byla widoczna..
LOL co ja wogoel pisze? Pewnie mnie nie rozumiecie..

  1. <?php
  2.  include("add.txt");
  3.  da sie tutaj wkleic jakis referesh? zeby czytal mi plik ponownie, a nie z cookies.. ?
  4. ?>


he he
Gość_gerard_*
zamien miejscami te 2 linijki

include("cmt/index.php");
include("cmt/add.php");

i po zawodach.
najpierw musisz dodac, zeby zmiany zostaly uwzglednione w index.php

pzdr
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.