Witam, jestem bardzo początkujący jeśli chodzi o PHP i napotkałem na taki problem, mianowicie stworzyłem sobie prosty system komentarzy/opinii. Niestety "coś" po dodaniu komentarza dodaje mi wcześniej puste rekordy. Wygląda to tak:
Co najlepsze, czasem dodają się te puste rekordy, a czasem nie.
Kod (head):
<?php
require_once "connect.php";
$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
if($polaczenie->connect_errno!=0)
{
echo "Error: ".$polaczenie->connect_errno;
$polaczenie->close();
}
else
{
if(!isset($autor) || !isset($tresc))
{
$autor = $_POST['autor'];
$tresc = $_POST['tresc'];
$autor = htmlentities($autor, ENT_QUOTES, "UTF-8");
$tresc = htmlentities($tresc, ENT_QUOTES, "UTF-8");
$dodaj=mysqli_query($polaczenie, "INSERT INTO opinie SET id_opinii=NULL, autor='$autor', tresc='$tresc'");
}
}
$wyjmij = mysqli_query($polaczenie, "SELECT * FROM opinie");
$polaczenie->close();
?>
oraz w części BODY:
<div class="opinie">
<?php
if(mysqli_num_rows($wyjmij) > 0)
{
while ($r = mysqli_fetch_assoc($wyjmij))
{
echo '<div class="opinia">';
echo '<p class="autor">'.$r['autor'].'</p>';
echo '<p>'.$r['tresc'].'</p>';
echo '</div>';
}
}
?>
</div>
Jeśli widzicie też jakiś inny karygodny błąd, chętnie wysłucham (widzę, że coś jest nie tak z kodowaniem znaków w bazie, lecz na stronie wyświetlają się poprawnie :P). Ale pierw proszę, pomóżcie z tymi pustymi rekordami :(
EDIT: jak to jest, że 3 minuty po dodaniu pytania sam się orientujesz co się dzieje? :P Odkryłem, że każde odświeżenie strony dodaje jeden pusty rekord. No dobrze, w takim razie zmieniam pytanie na:
Co i jak zmienić, żeby tego uniknąć?