PHP форма за добавяне на текст

tanchev

Registered
Здравейте, извинявайте ако съм объркал раздела. Искам да помоля ако има по-разбиращи сред потребители четящи тази тема, ако могат да ми напишат една PHP форма, с която да се добавя някакъв написан във формата текст на друга страница избрана от мен. Благодаря предварително на човека, който ще се опита да ми помогне.
 
Имаш ли създадена БД? Хтмл-ска форма? Какви полета искаш да има за тези новини?
 
Това няма как да стане без база данни или файл, в който да се записват новините.
Препоръчвам ти DB.
Чрез формата ще добавяш в DB с INSERT INTO , а после ще вадиш на страницата с SELECT.
Кажи как точно искаш да изглежда тя и какви полета имаш в базата данни.

Ето ти един пример "топъл-топъл" от преди малко.
Така вкарваме в db-то:
PHP:
if($_POST['send']) 
{
$title = nl2br(addslashes(htmlspecialchars($_POST['title'])));
$text = nl2br(addslashes(htmlspecialchars($_POST['text'])));
$author = $_SESSION['username'];

if($title == null || $text == null || $author == null)
    {
$error = "Попълнете всички полета!";
    }
else
    {
 $query = "INSERT INTO `news` SET `title`='$title', `text`='$text', author='$author'";
 mysql_query($query) or die(mysql_error());
    $check = "Новината е добавена, може да я прегледате.";
    }
}
?>

Изкарваме така:
PHP:
<?php
$query = mysql_query("SELECT * FROM `news` ORDER BY `id` DESC") or die(mysql_error()); 
while($row = mysql_fetch_assoc($query))
{	
    print htmlspecialchars_decode(stripcslashes($row['title']));
    print htmlspecialchars_decode(stripcslashes($row['text'])); 
    print " Автор:" .$row['author']"; 
}
?>
 
Ами не искам нищо особено, а пък и не разбирам, за да го направя кой знае какво. Имам в сайт страница "Текуща информация" и искам просто от друг файл да добавям автоматизирано текст в страницата "Текуща Информация" с едно просто поле textarea. Някой ще ми каже ли как да го направя? Нямам никакви създадени дб та и таблици до момента.
 
Правиш си една таблица news и в нея слагаш полета: text, title, author. Другото съм ти го дал. :)
Естествено трябва да имаш config файл, с който да се свързваш към базата данни.
 
tedo96 каза:
Правиш си една таблица news и в нея слагаш полета: text, title, author. Другото съм ти го дал. :)
Естествено трябва да имаш config файл, с който да се свързваш към базата данни.
Извинявай, знам че ставам нахален, но искам да попитам. Полетата на таблицата VARCHAR ли трябва да бъдат? И искам да попитам, има ли значение какво е името на базата данни?
 
Да, само text може да е на text. Забравих да кажа, че е добре да се направи и ред id, на който му е зададено AUTO_INCREMENT.
 
tedo96 каза:
Да, само text може да е на text. Забравих да кажа, че е добре да се направи и ред id, на който му е зададено AUTO_INCREMENT.
А това само в phpmyadmin-a да го направя id-то или ще трябва да променям и кода на файла?
 
Само в PMA. В момента никъде не го ползваш, но е добре винаги да има... :D
 
Illusion каза:
tedo96, само не разбирам защо си сложил nl2br в заглавието?
Казах, че този код съм си го ползвал аз. Щом съм го сложил значи ми е трябвало! ;) Танчев може и да го махне ако реши. Ако имаш други въроси относно начина ми написане може да се свържеш с мен на ЛС. Не искам да разваляме темата на момчето.
 
tedo96 каза:
Illusion каза:
tedo96, само не разбирам защо си сложил nl2br в заглавието?
Казах, че този код съм си го ползвал аз. Щом съм го сложил значи ми е трябвало! ;) Танчев може и да го махне ако реши. Ако имаш други въроси относно начина ми написане може да се свържеш с мен на ЛС. Не искам да разваляме темата на момчето.

А в този config файл какво да пиша?
 
config.php
PHP:
$host = 'localhost'; // това ти е сървъра
$user = 'root'; // ако ползваш локален хост 99% е сигурно, че е този ако не това ти е потребителят на mySQL
$pass = 'parola' // парола разбира се ако си задал в мysql
$db = 'news' // това ти е базата данни която ще изберем след малко
$conn = mysql_connect($host, $user, $pass); // функцията с която се свързваш към mysql
$db_select = mysql_select_db($db); // избираш базата данни от mysql

inlcude 'config.php'; се слага във файл в който искаш да имаш достъп до базата данни над заявките ти
не е задължително стойностите ти да са в променливи може да се константи или директно да ги въвеждаш
 
tedo96 каза:
config.php
PHP:
$host = 'localhost'; // това ти е сървъра
$user = 'root'; // ако ползваш локален хост 99% е сигурно, че е този ако не това ти е потребителят на mySQL
$pass = 'parola' // парола разбира се ако си задал в мysql
$db = 'news' // това ти е базата данни която ще изберем след малко
$conn = mysql_connect($host, $user, $pass); // функцията с която се свързваш към mysql
$db_select = mysql_select_db($db); // избираш базата данни от mysql

inlcude 'config.php'; се слага във файл в който искаш да имаш достъп до базата данни над заявките ти
не е задължително стойностите ти да са в променливи може да се константи или директно да ги въвеждаш
И реално в кой файл трябва да include-на config-a, в този който изпраща заявките към базата данни или в този, в който искам да се показват?
 
tedo96 каза:
Това няма как да стане без база данни или файл, в който да се записват новините.
Препоръчвам ти DB.
Чрез формата ще добавяш в DB с INSERT INTO , а после ще вадиш на страницата с SELECT.
Кажи как точно искаш да изглежда тя и какви полета имаш в базата данни.

Ето ти един пример "топъл-топъл" от преди малко.
Така вкарваме в db-то:
PHP:
if($_POST['send']) 
{
$title = nl2br(addslashes(htmlspecialchars($_POST['title'])));
$text = nl2br(addslashes(htmlspecialchars($_POST['text'])));
$author = $_SESSION['username'];

if($title == null || $text == null || $author == null)
    {
$error = "Попълнете всички полета!";
    }
else
    {
 $query = "INSERT INTO `news` SET `title`='$title', `text`='$text', author='$author'";
 mysql_query($query) or die(mysql_error());
    $check = "Новината е добавена, може да я прегледате.";
    }
}
?>

Изкарваме така:
PHP:
<?php
$query = mysql_query("SELECT * FROM `news` ORDER BY `id` DESC") or die(mysql_error()); 
while($row = mysql_fetch_assoc($query))
{	
    print htmlspecialchars_decode(stripcslashes($row['title']));
    print htmlspecialchars_decode(stripcslashes($row['text'])); 
    print " Автор:" .$row['author']"; 
}
?>

имам една забележка nl2br(addslashes(htmlspecialchars трябва ти само htmlspecialchars или addslashes не е правилно да исползваш и двете ще стане фатал ;)
 

Back
Горе