Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Panel administracyjny system newsów. - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Oprogramowanie (https://www.webmastertalk.pl/forum-oprogramowanie)
+--- Wątek: Panel administracyjny system newsów. (/thread-panel-administracyjny-system-newsow)



Panel administracyjny system newsów. - dawidirzyk - 28-01-2012

Cześć znalazłem skrypt dodawanie newsów i mam problem bo nie wiem jak zrobić z tego panel administracyjny bez logowania tylko chodzi mi o funkcję usuń. Riposty wyświetlane są w tabeli <tr><td>i po lewo USUŃ. Zmieszczam skrypt

dodaj.php
Kod PHP:
<?
// lacze sie z baza danych
require('db_connect.php');
// spradzam czy wyslano formularz
if($_POST)
{
  
// sprawdzam czy wypelniono wymagane pola
  
if((trim($_POST['autor'])) && (trim($_POST['tekst'])))
  {
    
// dodaje newsa do bazy
    
if(mysql_query("INSERT INTO newsy VALUES('', NOW(),
                    '"
.trim(htmlspecialchars($_POST['autor']))."',
                    '"
.trim(htmlspecialchars($_POST['tekst']))."')"))
      echo 
'Dodałeś riposte o ID:'.mysql_insert_id();
    else echo 
'Nie dodałeś riposty';
  }
  else echo 
'Nie podałeś autora lub treści riposty';
}
?>
  <hr>
  <div class="buttons">
  <form class="form" name="news" method="post" action="dodaj.php">
    Treść riposty:<br>
    <textarea name="tekst" rows="5" cols="40"></textarea><br>
    Autor:<br>
    <input type="text" name="autor"><br>
    <br />
    <p class="submit"><input type="reset" value="Wyczyść"> <input type="submit" class="positive" value="Wyślij"></p>
    
  </div>
  </form> 

index.php - czyli wyświetlanie ripost od najnowszej
Kod PHP:
<?php
// lacze sie z baza
require('db_connect.php');
// jesli wybrano jakis konkretny news
if(intval($_GET['newsid']))
{
  
// powrot do wszystkich newsow (nazwa news.php jest oczywiscie dla przykladu)
  
echo '<p><a href="index.php">Najnowsze newsy</a></p>';

  
// pobieram newsa
  
$sql="SELECT DATE_FORMAT(dodano, '%e-%m-%Y %H:%i') AS utworzono, autor, tresc FROM newsy WHERE id='".intval($_GET['newsid'])."'";
  
$query=mysql_query($sql);
  if(
$result=mysql_fetch_assoc($query))
  {
    
// zawartosc newsa
    
echo '<p>'.nl2br($result['tresc']).'</p>';
    
// autor
    
echo '<p><i>'.$result['autor'].' ('.$result['utworzono'].')</i></p>';
    
// oddzielam od komentarzy
    
echo '<hr>Komentarze:<br>';

    
// dopisuje komentarz do bazy
    
if($_POST)
    {
      if((
trim($_POST['autor'])) && (trim($_POST['tekst'])))
      {
        if(
mysql_query("INSERT INTO komentarze VALUES('', '".intval($_GET['newsid'])."', 
                        NOW(), '"
.trim(htmlspecialchars($_POST['autor']))."', '".trim(htmlspecialchars($_POST['tekst']))."')"))
          echo 
'Dodałem komentarz';
        else echo 
'Nie mogłem dodać komentarza';
      }
      else echo 
'Nie dopisałem komentarza - podaj swoje imię i wpisz jakiś komentarz!';
      echo 
'<br>';
    }

    
// pobieram komentarze do newsa od najstarszego do najnowszego
    
$sql="SELECT DATE_FORMAT(dodano, '%e-%m-%Y %H:%i') AS utworzono, autor, tresc FROM komentarze WHERE id='".intval($_GET['newsid'])."'";
    
$query=mysql_query($sql);
    while(
$result=mysql_fetch_assoc($query))
    {
      print(
'<p>'.nl2br($result['tresc']).' ('.$result['autor'].'/'.$result['utworzono'].')</p>');
    }

    
// formularz do dodawania komentarza
    
?>
    <br />
    <div style="float:left;margin:10px 10px 10px 0;"><a name="fb_share" type="button_count" expr:share_url='data:post.url' href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div> 
    <hr>
    <form name="komentarz" method="post" action="news.php?newsid=<? echo intval($_GET['newsid']); ?>">
       Dodaj komentarz:<br>
       <textarea name="tekst" rows="5" cols="40"></textarea><br>
       Autor:<br>
       <input type="text" name="autor"><br>
       <input type="reset" value="Wyczyść"> <input type="submit" value="Wyślij">
    </form>
    
    <?
  
}
}
// wszystkie newsy
else
{
  
// pobieram newsy w kolejnosci od najnowszego do najstarszego
  // przy pomocy zlaczenia z drugiej tabeli wyciagam ilosc komentarzy dla każdego newsa
  
$sql="SELECT newsy.id, DATE_FORMAT(newsy.dodano, '%e-%m-%Y %H:%i') AS utworzono, 
        newsy.autor, newsy.tresc, COUNT(lp) AS il_kom 
        FROM newsy 
        LEFT JOIN komentarze ON (komentarze.id=newsy.id) 
        GROUP BY newsy.id ORDER BY newsy.dodano DESC"
;
  
$query=mysql_query($sql);
  while(
$result=mysql_fetch_assoc($query))
  {
    
// zawartosc newsa
    
echo '<p>'.nl2br($result['tresc']).'</p>';
    
// autor
    
echo '<p><i>'.$result['autor'].' ('.$result['utworzono'].')</i></p>';
    
// ilosc komentarzy i link do nich
    
echo '<p><a name="fb_share" type="button" share_url="news.php?newsid='.$result['id'].'">Share</a>   <a href="news.php?newsid='.$result['id'].'">Komentarze: ('.$result['il_kom'].')</a></p>';
    
// oddzielam od pozostalych
    
echo '<hr>';
  }
}
?>

Dzięki za pomoc!