Одобрение на новина

explozen

Registered
Здравейте :)
Искам да направя външни лица да могат да добавят новини и след като бъдат одобрени от администратор да се публикуват във сайта.
Трудна ми е задачата със одобряването.
Това е формата за добавяне на новина:
PHP:
<?php 
if(isset($_POST['izprati'])){ 
$ime = $_POST['ime']; 
$ime = htmlspecialchars($ime); 
$ime = strip_tags($ime); 
$ime = get($ime);  
$novina = $_POST['novina']; 
$keywords = $_POST['keywords'];
$snimka = $_POST['snimka']; 
$snimka = htmlspecialchars($snimka); 
$snimka = strip_tags($snimka); 
$snimka = get($snimka); 
$category = $_POST['category']; 
$category = htmlspecialchars($category); 
$category = strip_tags($category); 
$category = get($category);  
$iztochnik = $_POST['iztochnik']; 
$iztochnik = htmlspecialchars($iztochnik); 
$iztochnik = strip_tags($iztochnik); 
$iztochnik = get($iztochnik); 
$author = $_POST['author']; 
$author = htmlspecialchars($author); 
$author = strip_tags($author); 
$author = get($author); 
$date = date('d-m-y g:i'); 

if($ime== NULL){ 
echo "Попълнете име!"; 
exit; 
} 
elseif($novina==NULL){ 
echo "Попълнете описание!"; 
exit; 
} 
else { 
$zapis = mysql_query("INSERT INTO ТАБЛИЦА(ime, novina, snimka, date, category, keywords, iztochnik, author) VALUES('$ime','$novina','$snimka','$date','$category','$keywords','$iztochnik','$author')"); 
echo "Новината е добавена!"; 
} 
} 
?>
 
просто добавяш още едно поле "approved" int(1) not null default 0 , в таблицата .
при създаване полето е 0 . Като дадеш approve ти променяш полето от 0 на 1 и това е . Ако ще я триеш - delete from ..
при показване на новините в селекта добавяш - "and approved='1'"
 
Във таблицата добавяш още една колона approved
Заявка за добавяне на новина:
Код:
$zapis = mysql_query("INSERT INTO ТАБЛИЦА(ime, novina, snimka, date, category, keywords, iztochnik, author, approved) VALUES('$ime','$novina','$snimka','$date','$category','$keywords','$iztochnik','$author',  '0')");
Това е за извеждане на всички новини , ти си го преправи :)
Заявката за извеждане само на одобрените новини ще бъде ето така:
Код:
$mysql = mysql_query("SELECT * FROM таблица WHERE  approved='1'");
Заявка за одобряване на новина:
$approved - идва от формата за одобряване
Код:
$sql = "UPDATE таблица  SET approved='$approved 'WHERE ime='$ime'";
Правиш си една форма и добавяш в нея един select
Код:
<select name='approved' >
<option value='1'>Одобри</option>
 <option value='0'>Не одобряваи</option>
</select>

Заявка за изтриване:
Код:
mysql_query("DELETE FROM таблица WHERE ime='$ime'");

Надявам се да съм помогнал :P
 
PHP:
if (isset($_GET['grad'])){ $zapisi = "SELECT * FROM table WHERE grad='$grad' ORDER BY id DESC LIMIT $redove, $broinastranica"; } 
elseif (isset($_GET['category'])){ $zapisi = "SELECT * FROM table  WHERE category='$category' ORDER BY id DESC LIMIT $redove, $broinastranica"; } 
elseif (!isset($_GET['grad']) and !isset($_GET['category']) ){ $zapisi = "SELECT * FROM table  ORDER BY id DESC, id DESC LIMIT $redove, $broinastranica"; } 
$results = mysql_query($zapisi)or die (mysql_error()); 
while($row = mysql_fetch_array($results)){
Къде точно трябва да се добави approved че нещо не ми се получава?
 
във всеки един селект :

PHP:
$zapisi = "SELECT * FROM table WHERE grad='$grad' and approved='1' ORDER BY id DESC LIMIT $redove, $broinastranica";
 
Сега опитах и дава грешка:
Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and approved='1' ORDER BY id DESC, id DESC LIMIT 0, 5' at line 1
 

Back
Горе