Mam strasznie głupi błąd dotyczący małego forum które piszę.
Otóż moje forum wyświetla wszystkie posty z bazy danych MySQL.
Można dodać też nowy post.
Czyli dodawanie i włączanie postów działa ALE:
kiedy skasuję obojętnie jaki post.... wtedy kiedy dodaje nowy.. noto w liście postów są tylko 2 przecinki
tutoriale.php
<center>FORUM - TUTORIALE</center> <?php ?> <div id="naglowek1"> <br/> <b>OPCJE:</b> <br/><br/> </div> <hr/> <form method='POST' action='index.php?url=tutoriale'> <input type="submit" name="odswiez" class="wyslij" value="Odśwież/Powrót" /> <input type="submit" name="nowy_watek" class="wyslij" value="Nowy wątek" /> </form> <hr/> <br/> <center> <div id="naglowek1"> <br/> <b>WSZYSTKIE POSTY:</b> </div> </center> <?php } } ?> <hr/> <div style="width: 1000px; height: 700px; overflow: scroll;"> <?php // Wyświetlanie forum dyskusyjnego. Jeżeli jest podany numer postu, // wyświetla się on i jego odpowiedzi. Jeżeli nie - całe forum. function wypiszforum ($nr) { // Funkcja rekurencyjnie wyświetla wszystkie rekordy, będące poniżej // w hierarchii postów (czyli odpowiedzi, odpowiedzi na odpowiedzi, // itd... $str = ''; if ($fref[$i] == $nr) { $str .= "<li><a href=\"http://www.alteringphotos.cba.pl/index.php?url=tutoriale&nr=$i\">$ftytul[$i]</a>, ". "<i>$fosoba[$i], $fdata[$i]</i>\n"; $str .= wypiszforum ($i); $str .= "</li>"; } } if($str != '') return "<ul>$str</ul>"; else return $str; } else $nr = ''; if ($nr>0) { // chcesz wyświetlić post "FROM forumdyskusyjne WHERE nr=$nr"); $tresc = $rekord[2]; $tytul = $rekord[1]; echo emotki("<a href=\"http://www.alteringphotos.cba.pl/index.php?url=nowywatek&ref=$nr\">Wylij odpowiedź </a><hr />"); $zapytanie = "DELETE FROM forumdyskusyjne WHERE nr = '$nr' "; ?> <script type="text/javascript"> alert ("Usunąłeś swojego posta!") ; window.location ="http://www.alteringphotos.cba.pl/index.php?url=tutoriale"; </script> <?php } ?> <input type="submit" name="usunwatek" class="wyslij" value="Usuń post" onclick="if (!confirm('Czy na pewno chcesz usunąć swojego posta?')) return false"/> </form> <?php } else { $nr = 0; } } else { $nr = 0; } // odczyt danych, które będą wykorzystane w funkcji rekurencyjnej "FROM forumdyskusyjne"); $fref[$rekord[0]] = $rekord[4]; $fdata[$rekord[0]] = $rekord[3]; $ftytul[$rekord[0]] = $rekord[2]; $fosoba[$rekord[0]] = $rekord[1]; } // wypisanie postów potomnych - rekurencja ?> </div> <?php }else{ ?> <br/><br/><br/> <center> Musisz być zalogowany aby oglądać tę stronę!! </center> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> <?php } ?> <br/>
nowywatek.php
<div id="naglowek1"> <br/> <b>OPCJE:</b> <br/><br/> </div> <hr/> <form method='POST' action='http://www.alteringphotos.cba.pl/index.php?url=nowywatek'> <input type="submit" name="powroot" class="wyslij" value="Powrót" /> </form> <hr/> <?php } if ($ty && $os && $tr) { // dopisujesz! $query = ("INSERT INTO forumdyskusyjne (osoba, tytul, tresc, ". "data, ref) valueS ('$os', '$ty', '$tr', now(), '".$_POST['ref']."')"); exit; } else { $tresc = $_POST['tresc']; $tytul = $_POST['tytul']; $osoba = $_POST['osoba']; } "FROM forumdyskusyjne WHERE nr= ".$_GET['ref']); $tresc = $rekord['tresc']; $tytul = $rekord['tytul']; ": ".$tresc; // o ile nie ma $tytul = "Re: ".$tytul; } "</h3><p>Wysłany przez "; <b>".$rekord['data']."</b></p>".$rekord['tresc']."<br /><hr />"; } } // Wyświetlenie formularza print "<input type=\"image\" src=\"grafika/bezradny.gif\" onclick=\"tresc.value += '[bezradny]';\">" ; print "wyslij\" /><input class=\"wyslij\" type=\"hidden\" name=\"ref\" value=\".$ref.\" />"; ?> <br/> <br/><br/>
Mam jeszcze jeden błąd.
KIedy dodaję nowego posta noto jak wpisze temat, potem piszę treści chcę wkleić sobie emotikonkę, klikam na któryś obrazek, imotikonka sie dodaje ale jednocześnie wysyła się formularz.
PYTANIA:
1.Jak zrobić żeby po dodaniu emotikonki formularz sie nie wysyłał?
2.CO zrobić żeby po skasowaniu jakiegoś postu można było dodać nowy?
Z emotikonkami sobie poradziłem.
Na końcu wpisałem return false;
Ale nadal zostaje jeden błąd,dotyczący tych przecinków kiedy skasuje sie post i chce sie dodać nowy.