Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] $_POST clear;
Forum PHP.pl > Forum > Przedszkole
krystian1991x
chce zrobić na swojej stronie system dodawania komentarzy ale napotkałem sie na problem gdyż moja strona oparta jest o smarty smile.gif konkretnie chodzi o to że gdy dodam komentarz nie wyświetla mi go po wysłaniu formularza dopiero gdy zrobię refresh strony co jest chyba błędem ;/ co ważniejsze gdy jeszcze raz zrobie refresh to wtedy dubluje mi ten komentarz i tak nawet w nieskończoność ile razy zrobie refa tyle doda mi takich samych komentarzy pomocy smile.gif
wookieb
Ja p...... człowieku podaj kod przecież Ci wróżyć nie będziemy.
zordon
renderujesz szablon smarty przed uaktualnieniem go o dodany komentarz. Zwróć uwagę na kolejność Twoich działań bo bez kodu nic nie poradzimy. Ewentualnie, po dodaniu komentarza spróbuj przekierować na tą samą stronę funkcją header() w php. Rozwiąże Ci to jednocześnie problem z "dublowaniem" komentarza po odświeżeniu strony
krystian1991x
.php
  1. if($_POST['comments'] == 1) {
  2.  
  3. $zapytanie = "INSERT INTO `comments` (`id`, `text`, `author`, `date`, `id_rubric`, `rubric`)
  4. VALUES ('', '$value', '$login2', '$date', '$idcm', 'news')" ;
  5. $idzapytania = mysql_query($zapytanie);
  6.  
  7. $zapytanie1 = "UPDATE `news` SET `commnets` = '$acm1' WHERE `id`='$idcm'";
  8. $idzapytania1 = mysql_query($zapytanie1);
  9.  
  10. }

.tpl
  1. <form method="post" action="index.php?id=comments&cm={$news.id}">
  2. <div style="margin-left: 100px;">
  3. <table><tr valign="top">
  4. <td><textarea name="text" style="border: 0px; font-size: 14px; outline-color: #6c6c6c;outline-style: solid; outline-width: 1px; background-color: #2b2a2a; color: #bababa; width: 320px; height: 130px;"> </textarea>
  5. </td>
  6. <td style="padding-left: 15px;">
  7. <img style="margin-bottom: 7px;" src="templates/images/naruto.jpg"><br><input type='hidden' name='comments' value='1' /><input type="image" src="templates/images/addcomments.jpg" value="1" /></td>
  8. </tr></table>
  9. </div>
  10. <div>
  11. </form>


brak pomysłów ?
mount
dubluje, bo przesyłasz ten formularz ponownie i ile razy odświeżysz tyle razy przesyłasz ponownie

tak to rozumiem, po tym co napisałeś smile.gif
krystian1991x
przecież to wiem, szukam rozwiązania żeby najpierw dodało do bazy komentarz potem odświeżyło strone i nie dublowało mi komentarza ... blinksmiley.gif
O$iek
Po prostu przekieruj zaraz po wysłaniu komentarza... Jak ktoś to już Ci napisał:
http://php.net/manual/en/function.header.php
krystian1991x
ale to jest smarty sciana.gif Możesz jakiś przykład w tym przypadku zaprezentować ? dodam że w pliku comments.php nie ma displays bo jest to jako podstrona ładowana do index.php zresztą nieistotne to chyba jest

jestem idiotą sciana.gif

dla potomnych
  1. header("Location: index.php?id=comments&cm=$idcm");
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.