Witam wszystkich użytkowników.
Napisałem sobie skrypcik komunikatu administratora. Ma on działać tak: Jeśli nie ma rekordu w bazie to go dodaje, a jeśli jest to go edytuje i to działa. Dodałem do tego checkboxa, że jeśli checkbox jest zaznaczony to do bazy do kolumny poziom daje 1, a jeśli go odznaczę to daje 0. I z tym mam problem. Gdy stworzyłem komunikat bez zaznaczania checkbox jest ok treść się pojawia w bazie i poziom 0, gdy teraz zaznaczę checkbox też jest ok, treść się edytuje i poziom wchodzi na 1, ale gdy ponownie odznaczę checkbox to poziom się zmienia na 0, ale dodaje mi nowy rekord, a nie powinien bo dałem WHERE `id`='1'. Nie wiem co się dzieje.
komunikat.php:
<?php
if(!$_SESSION['access'] || !$_SESSION['login'])
{
header('Location: index.php'); }
include('include/db.php');
if(isset($_POST['tresc'])) {
}
{
if($_GET['wpis']==1
&& (isset($_POST['nadaj']))) {
$zapytanie = "INSERT INTO `komunikat` (`tresc`, `poziom`) VALUES ('".$tresc."', '1')";
}
elseif(!isset($_POST['nadaj'])) {
$zapytanie = "INSERT INTO `komunikat` (`tresc`, `poziom`) VALUES ('".$tresc."', '0')";
}
}
{
if($_GET['wpis']==2
&& (isset($_POST['nadaj']))) {
$zapytanie = "UPDATE `komunikat` SET `tresc`= '".$tresc."', `poziom`= '1' WHERE `id`='1'";
}
elseif(!isset($_POST['nadaj'])) {
$zapytanie = "UPDATE `komunikat` SET `tresc`= '".$tresc."', `poziom`= '0' WHERE `id`='1'";
}
}
{
$pobierztresc = mysql_query("SELECT tresc FROM komunikat WHERE id='1'"); echo '<form action="index.php?page=komunikat&wpis=2" method="post"> <input type="hidden" name="send" value="2"><br />Treść<br />
<br /><textarea name="tresc" cols="50" rows="10" id="textarea">'.stripslashes($tresc['tresc']).'</textarea><br /><br /> Nadaj komunikat: <input type="checkbox" name="nadaj" value="nadane" /><br /><br />
<input name="Zapisz" type="submit" value="Zapisz" />
<input name="wyczysc" type="reset" value="Wyczyść" />
</form><br /><a style="text-decoration: none;" href="index.php?page=paneladmina">Wróć do Panelu Administratora</a><br /><br />';
}
else
{
echo '<form action="index.php?page=komunikat&wpis=1" method="post"> <input type="hidden" name="send" value="1"><br />Treść<br />
<br /><textarea name="tresc" cols="50" rows="10" value="Nowa tresc" id="textarea">Tutaj będzie znajdował się komunikat administratora.</textarea>
<br /><br />
Nadaj komunikat: <input type="checkbox" name="nadaj" value="nadane" /><br /><br />
<input name="Zapisz" type="submit" value="Zapisz" />
<input name="wyczysc" type="reset" value="Wyczyść" />
</form><br /><a style="text-decoration: none;" href="index.php?page=paneladmina">Wróć do Panelu Administratora</a><br /><br />';
}
if(isset($_POST['send'])) {
if($_POST['send'])
{
if($idzapytania)
{
echo '<font color="green"><strong>Komunikat został zapisany.</strong></font><br /><br />'; }
else
{
echo '<font color="red"><strong>Nie udało się zapisać komunikatu. Proszę spróbować za jakiś czas!</strong></font><br /><br />'; }
}
}
?>
Skrypt jednocześnie edytuje pierwszy rekord i dodaje nowy o tej samej treści

A gdy zmieniam na poziom na 1 to tylko edytuje pierwszy rekord.