We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

System newsów


deallas
11-05-2007, 22:00
Dobra wprowadziłem cię trochę w błąd z tym conifg.php. Ma być tak:

config.php
Kod:
komentarze.php
Kod:
'.$oddajto['tytul'].'';
echo ' ('.$oddajto['data'].')';
echo '
'.$oddajto['tresc'].'
'; echo '
'.$oddajto['autor'].'
'; } ?>

podpis

. ".stripslashes($zwrot['autor']).""; echo " (".$zwrot['data'].")
"; echo stripslashes($zwrot['tresc'])."

"; $u++; } echo '
powrot' ?>
news.php
Dodałem formularz na końcu ale nie możesz go wywalić był tylko po to żeby sprawdzić czy działa, a działa w 100%.
Kod:
NEWSY:

"; $zapytanie="select * from `news` order by id desc"; //wyswietla malejaco $zapytanie="select * from `news`"; $wyslij=mysql_query($zapytanie); while ($zwrot=mysql_fetch_array($wyslij)) { $policz="select count(*) from `komentarze` where `id_news`='".intval($zwrot['id'])."'"; $ile=mysql_result(mysql_query($policz),0); echo '
'.stripslashes($zwrot['tytul']).''; echo ' ('.$zwrot['data'].')'; echo '
'.stripslashes($zwrot['tresc']).'
'; echo 'komentarze: '.$ile.' ' ; echo '
'.stripslashes($zwrot['autor']).'
'; } ?>


podpis

news_add.php
Kod:
Trochę ulepszyłem skrypty przy dodawaniu komentarzy i newsów do bazy danych. Teraz sprawdza czy przesłane są wszystkie dane (temat, tresc, autor). Mam nadzieję że teraz będzie działać

Michal_Cz
11-05-2007, 18:09
Taki bład wyskakuje
Kod:
Parse error: syntax error, unexpected T_VARIABLE in /home/o/a/z/newsy/news_add.php on line 8

deallas
10-05-2007, 22:28
W phpmyadminie wklej tam gdzie jest zakładka SQL(najpierw klikasz po zakładce po lewej stronie na nazwe swojej bazy później dopiero na zakładke SQL). Żeby się dostać do phpmyadmina wpisz w adresie http://www.nazwa_swojej_domeny.ovh.org/phpmyadmin

Kod:
CREATE TABLE `komentarze` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`tresc` TEXT NOT NULL ,
`autor` VARCHAR( 50 ) NOT NULL ,
`data` DATETIME NOT NULL ,
`adres` VARCHAR( 100 ) NOT NULL ,
`id_news` INT NOT NULL
)

CREATE TABLE `news` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`tytul` VARCHAR( 50 ) NOT NULL ,
`tresc` TEXT NOT NULL ,
`autor` VARCHAR( 50 ) NOT NULL ,
`data` DATETIME NOT NULL
)

komentarze.php
Kod:
'.$oddajto['tytul'].''; echo ' ('.$oddajto['data'].')'; echo '
'.$oddajto['tresc'].'
'; echo '
'.$oddajto['autor'].'
'; } ?>

podpis

. ".stripslashes($zwrot['autor']).""; echo " (".$zwrot['data'].")
"; echo stripslashes($zwrot['tresc'])."

"; $u++; } echo '
powrot' ?>
news.php
Kod:
NEWSY:

"; $zapytanie="select * from `news` order by id desc"; //wyswietla malejaco //$zapytanie="select * from `news`"; $wyslij=mysql_query($zapytanie); while ($zwrot=mysql_fetch_array($wyslij)) { $policz="select count(*) from `komentarze` where `id_news`='".intval($zwrot['id'])."'"; $ile=mysql_result(mysql_query($policz),0); echo '
'.stripslashes($zwrot['tytul']).''; echo ' ('.$zwrot['data'].')'; echo '
'.stripslashes($zwrot['tresc']).'
'; echo 'komentarze: '.$ile.' ' ; echo '
'.stripslashes($zwrot['autor']).'
'; } ?>
news_add.php

Kod:

Michal_Cz
10-05-2007, 18:35
Jak trzeba utworzyć te odpowiednie tabelki w bazie danych ?

deallas
09-05-2007, 18:20
Dajesz w config.php
Kod:
Jakie atrybuty należy nadać plikom. Nie trzeba nic zmieniać. Ten system newsów działa na bazie danych MySQL (ktora jest w opcji 60free wiec to cos ci pojdzie). Poza tym te newsy nie są odporne na ataki SQL Injection i XSS. Należy przefiltrować wszystkie dane przychodzące te z GET i POST przy pomocy funkcji addslashes(można też użyć mysql_real_escape_string() która jest bezpieczniejsza ale zostańmy przy addslashes), htmlspecialchars() i intval(). Zmieniasz więc w pliku
komentarze.php
Kod:
'.$oddajto['tytul'].'';
          echo '  ('.$oddajto['data'].')';
          echo '
'.$oddajto['tresc'].'
'; echo '
'.$oddajto['autor'].'
'; } ?>

podpis

. ".stripslashes($zwrot['autor']).""; echo " (".$zwrot['data'].")
"; echo stripslashes($zwrot['tresc'])."

"; $u++; } echo '
powrot' ?>
news.php
Kod:
NEWSY:

"; $zapytanie="select * from `nazwa tabeli` order by id desc"; //wyswietla malejaco //$zapytanie="select * from `news_zac`"; $wyslij=mysql_query($zapytanie); while ($zwrot=mysql_fetch_array($wyslij)) { $policz="select count(*) from `nazwa_tabeli` where `id_news`='".intval($zwrot['id'])."'"; $ile=mysql_result(mysql_query($policz),0); echo '
'.stripslashes($zwrot['tytul']).''; echo ' ('.$zwrot['data'].')'; echo '
'.stripslashes($zwrot['tresc']).'
'; echo 'komentarze: '.$ile.' ' ; echo '
'.stripslashes($zwrot['autor']).'
'; } ?>
news_add.php
Kod:

pytanie po co filtruje do zmiennej a pozniej znowu używa zwyklego POSTa. Dlatego wywal tą linijkę bo jest niepotrzebna. C.D
Kod:
   mysql_pconnect($serwer,$user,$haslo) or die('Nie mozna polaczyc z serwerem!');
   mysql_select_db($baza) or die('Nie mozna wybrac bazy danych!');

   $zapytanie="insert into `nazwa_tabeli` values('',
                      '".addslashes(htmlspecialchars$_POST['tytul']))."',
                      '".addslashes(htmlspecialchars$_POST['tresc']))."',
                      '".addslashes(htmlspecialchars$_POST['autor']))."',
                      '".date('Y-m-d')."')" ;
   mysql_query($zapytanie);

   header('location: news.php');
?>
I to wszystko, no trzeba jeszcze utworzyć odpowiednie tabelki w bazie danych ale zakładam że je masz. Jak nie to je utwórz, jak nie wiesz jak to zrobić to pisz lub na PW

Michal_Cz
09-05-2007, 16:50
Witam mam pytanie odnośnie systemu newsów w php który dostalem od kumpla
Czy zadziała on na kontach darmowych ovh
I jak go skonfigurować mam
Prosze o pomoc
Poniżej kody źródłowe plików

config.php
Kod PHP:
   $serwer='?';
   
$user='?';
   
$haslo='?';
   
$baza='?';
?>
form.php
Kod PHP:
<html>

<
head>
  <
title>title>
head>

<
body>

<
form action="news_add.php" method="POST">
tytul<input type="text" name="tytul" size=60><br>
<
textarea name="tresc" cols=30 rows=10>textarea><br>
<
input type="text" name="autor" size=20><br>
<
input type="Submit" value="Wyslij">

body>

html
komentarze.php
Kod PHP:
    include('config.php');

       
mysql_pconnect($serwer,$user,$haslo) or die('Nie mozna polaczyc z serwerem!');
       
mysql_select_db($baza) or die('Nie mozna wybrac bazy danych!')


      
$news="select * from `nazwa_tabeli` where id='".$_GET['nid']."'";
      
$wyslij=mysql_query($news);

        while (
$oddajto=mysql_fetch_array($wyslij))

        {
          echo 
'
'.$oddajto['tytul'].'';
          echo 
'  ('.$oddajto['data'].')';
          echo 
'
'.$oddajto['tresc'].'
';
          echo 
'
'.$oddajto['autor'].'
'
;
        }
?>
 
 

 podpis  

 
 
    
   


 

    
if ($_POST['go'])
    {
          
$zapytanie="insert into `nazwa_tabeli` values('',
                      '"
.$_POST['tresc']."',
                      '"
.$_POST['autor']."',
                      '"
.date('Y-m-d')."',
                      '"
.$_SERVER['REMOTE_ADDR']."',
                      '"
.$_GET['nid']."')";

          
mysql_query($zapytanie);

    }
    
$u=1;
    
$komentarze="select * from `nazwa_tabeli` where `id_news`='".$_GET['nid']."' order by id desc";
     
$wyslij=mysql_query($komentarze);
      while (
$zwrot=mysql_fetch_array($wyslij))
      {
         echo 
$u.". ".$zwrot['autor'].""
;
         echo 
" (".$zwrot['data'].")
"
;
         echo 
$zwrot['tresc']."

"
;

         
$u++;
      }

   echo 
'
powrot'
?>
news.php
Kod PHP:
     include('config.php');
     
mysql_pconnect($serwer,$user,$haslo) or die('Nie mozna polaczyc z serwerem!');
     
mysql_select_db($baza) or die('Nie mozna wybrac bazy danych!');

     echo 
"

NEWSY:

"
;
      
$zapytanie="select * from `nazwa tabeli` order by id desc"//wyswietla malejaco
     //$zapytanie="select * from `news_zac`";
     
$wyslij=mysql_query($zapytanie);
     while (
$zwrot=mysql_fetch_array($wyslij))
       {
          
$policz="select count(*) from `nazwa_tabeli` where `id_news`='".$zwrot['id']."'";
          
$ile=mysql_result(mysql_query($policz),0);

          echo 
'
'.$zwrot['tytul'].'';
          echo 
'  ('.$zwrot['data'].')';
          echo 
'
'.$zwrot['tresc'].'
';
          echo 
'.$zwrot['id'].'>komentarze: '.$ile.' ' ;
          echo 
'
'.$zwrot['autor'].'
'
;

       }


?>
news_add.php
Kod PHP:
   include('config.php');
    
$tytul=htmlspecialchars(trim($_POST['tytul']));
   
mysql_pconnect($serwer,$user,$haslo) or die('Nie mozna polaczyc z serwerem!');
   
mysql_select_db($baza) or die('Nie mozna wybrac bazy danych!');

   
$zapytanie="insert into `nazwa_tabeli` values('',
                      '"
.$_POST['tytul']."',
                      '"
.$_POST['tresc']."',
                      '"
.$_POST['autor']."',
                      '"
.date('Y-m-d')."')" ;
   
mysql_query($zapytanie);

   
header('location: news.php');
?>
Jakie atrybuty nadać plikom?