Ocena wątku:
- 0 głosów - średnia: 0
- 1
- 2
- 3
- 4
- 5
Jak dodac kod php z formularzem newsów
|
Liczba postów: 56
Liczba wątków: 21
Dołączył: 07-04-2010
Reputacja:
0
Witam wszystkich,
mam problem. Znalazłem w sieci system newsów w php, ale nie wiem, jak dodac go do mojej strony, żeby ukazywał się w divie. Proszę o pomoc.
Oto link:
http://smook.webhelp.pl/newsy/
Na pierwszy rzut oka wszysko jest proste, ale jak próbuję coś dodać, to nic się na stronie nie wyświetla. Proszę o pomoc, to naprawdę ważne.
Liczba postów: 2,587
Liczba wątków: 2
Dołączył: 03-04-2010
Reputacja:
58
Z czym masz problem konkretnie? Pokaż kod.
Liczba postów: 56
Liczba wątków: 21
Dołączył: 07-04-2010
Reputacja:
0
04-05-2011, 15:36
(Ten post był ostatnio modyfikowany: 04-05-2011, 15:37 przez neneth.)
(04-05-2011, 15:22)Pedro84 napisał(a): Z czym masz problem konkretnie? Pokaż kod.
Tabela newsy
Kod: CREATE TABLE `newsy` (
`id` smallint(6) NOT NULL auto_increment,
`dodano` datetime NOT NULL default '0000-00-00 00:00:00',
`autor` varchar(255) NOT NULL default '',
`tresc` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Tabela z newsami' AUTO_INCREMENT=1 ;
Tabela komentarze
Kod: CREATE TABLE `komentarze` (
`lp` smallint(6) NOT NULL auto_increment,
`id` smallint(6) NOT NULL default '0',
`dodano` datetime NOT NULL default '0000-00-00 00:00:00',
`autor` varchar(255) NOT NULL default '',
`tresc` text NOT NULL,
PRIMARY KEY (`lp`)
) TYPE=MyISAM COMMENT='Komentarze' AUTO_INCREMENT=1 ;
db_connect.php
Kod: <?
$db=mysql_connect('serwer', 'uzytkownik', 'haslo');
mysql_select_db('nazwa_bazy', $db);
?>
dodaj.php
Kod: <html>
<head>
<title>Dodajemy newsa</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<?
// 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łem news o ID:'.mysql_insert_id();
else echo 'Nie mogłem dodać newsa';
}
else echo 'Nie podałeś autora lub treści newsa';
}
?>
<hr>
<form name="news" method="post" action="dodaj.php">
Treść newsa:<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="wyslij">
</form>
</body>
</html>
[/cpde]
i kod odpowiedzialny za wyświetlanie newsów i komentarzy (chyba powinien nazywać się news.php
[code]
// 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="news.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
?>
<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="wyslij">
</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 href="news.php?newsid='.$result['id'].'">Komentarze: ('.$result['il_kom'].')</a></p>';
// oddzielam od pozostalych
echo '<hr>';
}
}
Nie wiem, czemu nie chce mi się wyświetlić w divie. Jak go includować w pliku index.php , żeby się wyświetlił? Proszę o pomoc. Z góry dziękuję.
Liczba postów: 2,587
Liczba wątków: 2
Dołączył: 03-04-2010
Reputacja:
58
Dodaj w miejscu gdzie chcesz wyświetlać newsy include('news.php') albo po prostu ten kod (dołączając wcześniej plik db_connect.php).
Liczba postów: 56
Liczba wątków: 21
Dołączył: 07-04-2010
Reputacja:
0
(04-05-2011, 15:43)Pedro84 napisał(a): Dodaj w miejscu gdzie chcesz wyświetlać newsy include('news.php') albo po prostu ten kod (dołączając wcześniej plik db_connect.php).
Dziękuję bardzo za pomoc.
Liczba postów: 56
Liczba wątków: 21
Dołączył: 07-04-2010
Reputacja:
0
(04-05-2011, 16:17)neneth napisał(a): (04-05-2011, 15:43)Pedro84 napisał(a): Dodaj w miejscu gdzie chcesz wyświetlać newsy include('news.php') albo po prostu ten kod (dołączając wcześniej plik db_connect.php).
Dziękuję bardzo za pomoc.
Mam jeszcze pytanie w związku z tym formularzem, jaki kod należy dopisać i gdzie, aby zabezpieczyć formularz hasłem administracyjnym, żeby nikt nie dodawał aktualności oprócz admina. Będę wdzięczny za pomoc w tej kwestii.
Liczba postów: 817
Liczba wątków: 16
Dołączył: 27-04-2011
Reputacja:
45
możesz zrobić logowanie na sesji i wtedy przed startem skryptu sprawdzać czy sesja istnieje
Liczba postów: 12
Liczba wątków: 0
Dołączył: 03-05-2011
Reputacja:
0
(04-05-2011, 20:59)neneth napisał(a): (04-05-2011, 16:17)neneth napisał(a): (04-05-2011, 15:43)Pedro84 napisał(a): Dodaj w miejscu gdzie chcesz wyświetlać newsy include('news.php') albo po prostu ten kod (dołączając wcześniej plik db_connect.php).
Dziękuję bardzo za pomoc.
Mam jeszcze pytanie w związku z tym formularzem, jaki kod należy dopisać i gdzie, aby zabezpieczyć formularz hasłem administracyjnym, żeby nikt nie dodawał aktualności oprócz admina. Będę wdzięczny za pomoc w tej kwestii.
Możesz również spróbować zabezpieczyć plik/folder za pomocą htaccess.
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
Banalny problem z formularzem |
R_Rafalsky |
10 |
5,631 |
12-07-2012, 18:20
Ostatni post: Pedro84
|
|
[HTML + CSS] Prezentacja newsów |
muph19 |
2 |
2,610 |
22-05-2012, 22:49
Ostatni post: muph19
|
|
[PHP] Pytanie: System newsów |
Sebjekt |
6 |
4,404 |
17-05-2012, 01:29
Ostatni post: Sebjekt
|
|
Możliwość dodawania newsów |
Adios |
15 |
8,356 |
01-05-2012, 21:43
Ostatni post: kornell
|
|
problem z formularzem |
tenorek |
8 |
4,602 |
09-02-2012, 18:46
Ostatni post: kornell
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|