Witam, stworzyłem sobie możliwość dodawania aktualności do bazy z poziomu przeglądarki.
Chciałem również to rozszerzyć o możliwość dodawania zdjęcia do pojedynczej aktualności, jednak coś mi nie gra.
Mam tabelę news, a w niej:
id,zdjecie,tytul,data,tresc.
Dodawanie aktualności (bez zdjęcia) działa bez zarzutu, jednak gdy dorzuciłem zdjęcie, przechodzi wszystko przez formularz, wyświetla się komunikat o poprawnym dodaniu aktualności, jednak do bazy zawsze dodają się 2 rekordy po naciśnięciu przycisku. Dlaczego się tak robi, to wiem, ponieważ mam zrobione 2 zapytania, ale niestety nie mam pojęcia jak złączyć je w jedno.
Rekord "zdjecie" mam ustawiony na typ mediumblob.
Oto mój kod:
<?php
include("../polacz.php");
if(!empty($_SESSION["login"])) {
$zapytanie="SELECT * From news ORDER BY tytul";
?>
<div class="cms-header">
<h4>Dodawanie nowej aktualności PL</h4>
</div>
<div id="dodaj-aktualnosc">
<form action="" method="POST" enctype="multipart/form-data">
<ul>
<li><label>Zdjęcie:</label></li>
<li><input type="file" name="zdjecie" /></li>
<li><label>Tytuł:</label></li>
<li><textarea name="tytul"></textarea></li>
<li><label>Data:</label></li>
<li><textarea name="data"></textarea></li>
<li><label>Treść:</label></li>
<li><textarea id="edytor" name="tresc"></textarea></li>
<li><input class="submit" type="submit" value="Dodaj" name="dodaj"/></li>
</form>
<li><a class="back" href="admin.php"><< Powrót</a></li>
<?php
if(isset($_POST['dodaj'])) {
$tresc=$_POST['tresc'];
$tytul=$_POST['tytul'];
$data=$_POST['data'];
$fhandle = fopen($_FILES['zdjecie']['tmp_name'], "r");
$q=mysql_query("INSERT INTO news SET tytul='$tytul', data='$data', tresc='$tresc'"); $zdjecie = mysql_query("INSERT INTO news (zdjecie) VALUES (\"".$content."\")");
if($q) echo "<li class='true'>Aktualność została dodana poprawnie!</li>"; else echo "<li class='false'>Błąd! Nie udało się dodać nowej aktualności!</li>";
}
}
else
echo "<p class='false'>Aby uzyskać dostęp należy się zalogować!</p>"; ?>
</ul>
</div>
Za wszelką pomoc i wskazówki dziękuję.