Witam.
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
or
die('Nieudane połączenie'); or
die('Nieudane wybranie bazy');if(isset($_SESSION['zalogowany'])) { ?>
<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
if (isset($_POST['odswiez'])) { header ('Location:index.php?url=tutoriale') ; }
if (isset($_POST['nowy_watek'])) { header ('Location:index.php?url=nowywatek') ; }
?>
<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 = '';
for ($i=count($fref); $i>=1; $i--) { 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;
}
if(isSet($_GET['nr'])) $nr = $_GET['nr']; else $nr = '';
if ($nr>0) { // chcesz wyświetlić post
$wynik = mysql_query ("SELECT osoba, tytul, tresc, data ". "FROM forumdyskusyjne WHERE nr=$nr");
$tresc = $rekord[2]; $tytul = $rekord[1];
echo ("<h3>$rekord[1]</h3>"); echo ("<p>wysłany przez <b>$rekord[0]</b>, <b>$rekord[3]</b>:"); echo ("</p><p>$rekord[2]</p><hr />"); echo emotki
("<a href=\"http://www.alteringphotos.cba.pl/index.php?url=nowywatek&ref=$nr\">Wylij odpowiedź </a><hr />");
if (isset($_POST['usunwatek'])) {
$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
}
?>
<form method='POST' action='?url=tutoriale&nr=
<?php echo $nr; ?>'>
<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
$wynik = mysql_query ("SELECT nr, osoba, tytul, data, ref ". "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
or
die('Nieudane połączenie'); or
die('Nieudane wybranie bazy'); if (isset($_POST['powroot'])) { header ('Location:index.php?url=tutoriale') ; }
if (isSet($_POST['co']) && $_POST['co'] == 'wyslij') {
if ($ty && $os && $tr) { // dopisujesz!
$query = ("INSERT INTO forumdyskusyjne (osoba, tytul, tresc, ".
"data, ref) valueS ('$os', '$ty', '$tr', now(),
'".$_POST['ref']."')");
print 'Wpis został dokonany.'; } else {
$tresc = $_POST['tresc'];
$tytul = $_POST['tytul'];
$osoba = $_POST['osoba'];
}
} elseif (isSet($_GET['ref']) && $_GET['ref']>0
) {echo "aaaa";
$wynik = mysql_query ("SELECT osoba, tytul, tresc, data ". "FROM forumdyskusyjne WHERE nr=
".$_GET['ref']);
$tresc = $rekord['tresc']; $tytul = $rekord['tytul'];
": ".$tresc;
if (!(ereg ("^RE: ", $tytul))) { // dopisujesz RE, // o ile nie ma
$tytul = "Re: ".$tytul;
}
print "<h3>Odpowiedz na post: ".$rekord['tytul']. "</h3><p>Wysłany przez ";
print "<b>".$rekord['osoba']."</b>, <b>".$rekord['data']."</b></p>".$rekord['tresc']."<br /><hr />";
}
}
// Wyświetlenie formularza
if(!isSet($osoba)) $osoba = ''; if(!isSet($tytul)) $tytul = ''; if(!isSet($tresc)) $tresc = ''; if(isSet($_GET['ref'])) $ref = $_GET['ref']; else $ref = 0; print "<h3>Poślij post:</h3>"; print "<div id=\"maina\">"; print "<form method='post' action='http://www.alteringphotos.cba.pl/index.php?url=nowywatek'>"; print "<input type=\"image\" src=\"grafika/usmiech.gif\" onclick=\"tresc.value += ';)';\">" ; print "<input type=\"image\" src=\"grafika/beczy.gif\" onclick=\"tresc.value += '[beczy]';\">" ; print "<input type=\"image\" src=\"grafika/bezradny.gif\" onclick=\"tresc.value += '[bezradny]';\">" ; print "<input type=\"image\" src=\"grafika/eee.gif\" onclick=\"tresc.value += ';/';\">" ; print "<input type=\"image\" src=\"grafika/email.png\" onclick=\"tresc.value += '[email]';\">" ; print "<input type=\"image\" src=\"grafika/glupek.gif\" onclick=\"tresc.value += '[glupek]';\">" ; print "<input type=\"image\" src=\"grafika/hehe.gif\" onclick=\"tresc.value += ';d';\">" ; print "<input type=\"image\" src=\"grafika/yyy.gif\" onclick=\"tresc.value += ';|';\">" ; print "<input type=\"image\" src=\"grafika/hura.gif\" onclick=\"tresc.value += '[hura]';\">" ; print "<input type=\"image\" src=\"grafika/jezyk.gif\" onclick=\"tresc.value += ';p';\">" ; print "<input type=\"image\" src=\"grafika/mutny.gif\" onclick=\"tresc.value += ':(';\">" ; print "<input type=\"image\" src=\"grafika/smutny.gif\" onclick=\"tresc.value += '[smutny]';\">" ; print "<input type=\"image\" src=\"grafika/prosi.gif\" onclick=\"tresc.value += '[prosi]';\">" ; print "<input type=\"image\" src=\"grafika/zly.gif\" onclick=\"tresc.value += '[zly]';\">" ; print "<div id=\"maina\">"; print "<input class=\"wyslij\" type=\"hidden\" name=\"co\" value=\""; print "wyslij\" /><input class=\"wyslij\" type=\"hidden\" name=\"ref\" value=\".$ref.\" />";
print "<b>Użytkownik:</b>" ."<div id=\"uzytkowniki\">" . $_SESSION['login'] . "</div><br/>" ; print "<br /><b>Tytuł postu:</b><br/>"; print "<input class=\"wyslij\" type=\"text\" name=\"tytul\" value=\"$tytul\" "; print "size='50' /><br /><br/><b>Treść:</b><center><textarea name=\"tresc\" "; print "rows='10' id=\"text\"cols='130'>$tresc</textarea><br /><br/>\n"; print "<input class=\"wyslij\" type=\"submit\" value=\"Wyślij\" />"; ?>
<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.