Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] $_POST clear;
krystian1991x
post
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (10%)
X----


chce zrobić na swojej stronie system dodawania komentarzy ale napotkałem sie na problem gdyż moja strona oparta jest o smarty (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Ja p...... człowieku podaj kod przecież Ci wróżyć nie będziemy.
Go to the top of the page
+Quote Post
zordon
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
krystian1991x
post
Post #4





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (10%)
X----


.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 ?
Go to the top of the page
+Quote Post
mount
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 18.07.2009

Ostrzeżenie: (0%)
-----


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ś (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
krystian1991x
post
Post #6





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (10%)
X----


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 ... (IMG:style_emoticons/default/blinksmiley.gif)
Go to the top of the page
+Quote Post
O$iek
post
Post #7





Grupa: Nieautoryzowani
Postów: 45
Pomógł: 16
Dołączył: 28.02.2009

Ostrzeżenie: (0%)
-----


Po prostu przekieruj zaraz po wysłaniu komentarza... Jak ktoś to już Ci napisał:
http://php.net/manual/en/function.header.php
Go to the top of the page
+Quote Post
krystian1991x
post
Post #8





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (10%)
X----


ale to jest smarty (IMG:style_emoticons/default/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ą (IMG:style_emoticons/default/sciana.gif)

dla potomnych
  1. header("Location: index.php?id=comments&cm=$idcm");
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 16:09