Промяна на новини

cold_zero

Registered
Имам един PHP скрипт за новини използващ MySQL, но искам да направя новините да могат да се редактират, но незнам как, ако някой може да ми помогне ще съм му безкрайно благодарен.

Да ви напиша ли кода... ?
 

Admin

Registered
cold_zero каза:
Имам един PHP скрипт за новини използващ MySQL, но искам да направя новините да могат да се редактират, но незнам как, ако някой може да ми помогне ще съм му безкрайно благодарен.

Да ви напиша ли кода... ?

Дай да погледна.
От кой искаш да се редактират?
 

cold_zero

Registered
admin.php
Код:
<?

include_once ("check.php");	
require_once ('topnews/config.php');

?>


<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" href="/style/main.css" type="text/css">
<title></title> 
<style>

</style>
<script language="JavaScript">

</script> 
</head>
<body>
<form method="POST" action="admin.php" name="Add">
<font face="Tahoma" style="font-size: 9pt">Име:</font> <input class="textfield" type="text" value="<? echo $check['uname']; ?>" name="name" size="30">
<br><br>
<a href="javascript:insert('<i></i>');"><img border="0" src="images/italic.gif"></a>
<a href="javascript:insert('<b></b>');"><img border="0" src="images/bold.gif"></a>
<a href="javascript:insert('<u></u>');"><img border="0" src="images/underline.gif"></a>
<a href="javascript:insert('<strike></strike>');"><img border="0" src="images/strike.gif"></a>
<a href="javascript:insert('<img border="0" src="">');"><img border="0" src="images/img.gif"></a>
<a href="javascript:insert('<a href=""></a>');"><img border="0" src="images/url.gif"></a>
<a href="javascript:insert('<a href="mailto:"></a>');"><img border="0" src="images/email2.gif"></a>
<a href="javascript:insert('<left></left>');"><img border="0" src="images/left.gif"></a>
<a href="javascript:insert('<center></center>');"><img border="0" src="images/center.gif"></a>
<a href="javascript:insert('<p align="right"></p>');"><img border="0" src="images/right.gif"></a>
<a href="javascript:insert('<p align="justify"></p>');"><img border="0" src="images/full.gif"></a>
<br>
<a href="javascript:insert('<img border="0" src="smilies/eusasmiles.gif">');"><img border="0" src="smilies/eusasmiles.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/evil.gif">');"><img border="0" src="smilies/evil.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_arrow.gif">');"><img border="0" src="smilies/icon_arrow.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_biggrin.gif">');"><img border="0" src="smilies/icon_biggrin.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_confused.gif">');"><img border="0" src="smilies/icon_confused.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_cool.gif">');"><img border="0" src="smilies/icon_cool.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_cry.gif">');"><img border="0" src="smilies/icon_cry.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_eek.gif">');"><img border="0" src="smilies/icon_eek.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_evil.gif">');"><img border="0" src="smilies/icon_evil.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_exclaim2.gif">');"><img border="0" src="smilies/icon_exclaim2.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_idea.gif">');"><img border="0" src="smilies/icon_idea.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_lol.gif">');"><img border="0" src="smilies/icon_lol.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_mad.gif">');"><img border="0" src="smilies/icon_mad.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_mrgreen.gif">');"><img border="0" src="smilies/icon_mrgreen.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_question.gif">');"><img border="0" src="smilies/icon_question.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_question2.gif">');"><img border="0" src="smilies/icon_question2.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_razz.gif">');"><img border="0" src="smilies/icon_razz.gif"></a><br>
<a href="javascript:insert('<img border="0" src="smilies/icon_redface2.gif">');"><img border="0" src="smilies/icon_redface2.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_rolleyes.gif">');"><img border="0" src="smilies/icon_rolleyes.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_sad.gif">');"><img border="0" src="smilies/icon_sad.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_smile.gif">');"><img border="0" src="smilies/icon_smile.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_surprised.gif">');"><img border="0" src="smilies/icon_surprised.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_twisted.gif">');"><img border="0" src="smilies/icon_twisted.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/icon_wink.gif">');"><img border="0" src="smilies/icon_wink.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/realmad.gif">');"><img border="0" src="smilies/realmad.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/rules.gif">');"><img border="0" src="smilies/rules.gif"></a>
<a href="javascript:insert('<img border="0" src="smilies/taunt.gif">');"><img border="0" src="smilies/taunt.gif"></a>
<br>
<font face='Tahoma' style='font-size: 9pt'>Съдържание:</font> <br>
<textarea rows="12" name="text" cols="60" WRAP=VIRTUAL></textarea>
<br><input type="submit" value="Изпрати" name="send"></p>
</form>
<?
$date=date("d F Y");
$status = "ok";

if (strlen($name) <2 ) {
$status= "error";}

if (strlen($text) <2 ) {
$status= "error";}


if($status=="ok"){

		$connection = mysql_connect($dbhost, $dbusername, $dbpass);
		$SelectedDB = mysql_select_db($dbname);

$posted = time();
$query = mysql_query("INSERT komentari (name, text, date, posted) VALUES ('$name', '$text', '$date','$posted')"); 



}
?>
</body>
<font face='Tahoma' style='font-size: 9pt'>Моля не натискайте REFRESH!!!!!</font>
<br>
<font face='Tahoma' style='font-size: 9pt'><a href="/topnews/index.php">Вижте всички новини</a></font>
<br>
<font face='Tahoma' style='font-size: 9pt'><a href="index.php">Добави нова новина</a></font>
</html>

index.php
Код:
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" href="/style/main.css" type="text/css">
<title></title>
<style>

</style>
</head>
<?
    require_once ('../members/members/cpanel/topnews/config.php');
		
		$connection = mysql_connect($dbhost, $dbusername, $dbpass);
		$SelectedDB = mysql_select_db($dbname);

$result = mysql_query("SELECT name, date, text FROM komentari ORDER BY posted DESC limit 0,$last");
while($row = mysql_fetch_array($result)) { 

      $name=$row[0];
      $date=$row[1];
      $text=$row[2];
      $id=$row[3];
      $posted=$row[4];

echo "<font face='Trebuchet MS' style='font-size: 10pt'>$date - $text</font><br><br>
";
      
}

?> 
<p align='right'><font face="Tahoma" style="font-size: 9pt"><a target='I1' href='archive.php'>Виж всички новини...</a></font></p>
</html>

Малко е неграмотно ама карай това е кода.
Искам промените да се правят от отделен файл примерно edit.php за парола ще сложа .htaccess & .htpasswd
 

morkov4o

Registered
ти ли си я правил тая система за новини :twisted:
 

cold_zero

Registered
Не, взех кода от една опростена форма за коментари от този сайт и го редактирах до тази степен с помощта на някои хора от форума :wink:
 

morkov4o

Registered
имаш ли някъде демо ако имаш дай го моля ти се :)
 

morkov4o

Registered
дай ако обичаш че трябва да пиша система за писане на вицове ( то е същото като новините де :) ) и ми трябва нещо простичко да не почвам от нулата ... дай някои screenshot моля ти се да видя за какво става дума :)

Благодаря !
 

cold_zero

Registered
Дай си ако искаш skype-то, за да не флуудим темата, защото е на друга тема. Тамън ще ти дам скрипт за вицове... :p
 

Admin

Registered
cold_zero каза:
Имам един PHP скрипт за новини използващ MySQL, но искам да направя новините да могат да се редактират, но незнам как, ако някой може да ми помогне ще съм му безкрайно благодарен.

Да ви напиша ли кода... ?

От кого да се променят?
Ако е от потребителите ще трябва да има и логин скриптове.

Защо не погледнеш системата за уроци на our и да се пробваш?
Вместо за уроци ще е за новини.
 

cold_zero

Registered
admin, искам да се променя само от мен. За защитите не му мисли аз ще си сложа .htaccess ама незнам другото как да стане :(
 

Admin

Registered
cold_zero каза:
admin, искам да се променя само от мен. За защитите не му мисли аз ще си сложа .htaccess ама незнам другото как да стане :(

Ми добре.
Ако имаш време да почакаш до утре (довечера) или евентулано до други ден ще ти напиша 3те скрипта.
Дай ми обаче снимка на базата данни или ми опиши полетата в таблицата-
имената на полетата и какво съдържат.

Слагаш скриптовете в отделна папка и я защитааш с парола.
 

cold_zero

Registered
Няма проблем да почакам :)

Код:
CREATE TABLE `komentari` (
`id` INT(15) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`posted` TEXT NOT NULL,
`name` TEXT NOT NULL,
`text` TEXT NOT NULL,
`date` TEXT NOT NULL
);

ScreenShot003.gif
 

Admin

Registered
Оправи си колацията на базата данни или прегледай това:
http://www.web-tourist.net/forum/viewtopic.php?t=1830&start=0&postdays=0&postorder=asc&highlight=

Аз ще намеря време да напиша 2-3 скрипта.
 

cold_zero

Registered
В смисъл да я оправя промених началната страница там избрах cp1251_general_ci и в настройките на самата база данни на новините избрах cp1251_general_ci... Това значили, че съм я оправил :shock: ?

Благодаря, че ще ми помогнеш :)
 

morkov4o

Registered
а на мен screenshot ? :)
 

cold_zero

Registered
ScreenShot002.gif


Това е само страницата да публикуване на новини. Има и още една страница ама тя зарежда само новините от базата данни няма нищо интересно :p
 

Admin

Registered
Новините нямат заглавие.
Не ми пречи на мен да ти напиша скриптовете ( в момента ги пиша) но все пак защо не сложиш и едно поле за заглавие?
 

Admin

Registered
Изтегли файловете от тук:

http://admin.web-tourist.net/download/editnews.rar

След като резархивираш ще намериш 4 файла.
КАчи направо цялата папка като си e.
Отваряш само config.php и вътре нанасяш user,pass и name на базата данни.


След като ги нанесеш коректно останалото трябва да проработи без грешка.
Стратираш първо listnews.php!

Не мога да ги тествам но съм ги писал по данните от таблицата която си дал и съм почти 99% сигурен, че всичко ще проработи .
Ако нещо не работи провери дали си попълнил config.php файла правилно или питай тук.

НЯма значение къде ще качиш папката.

Ето и файловете като код:
config.php
<?php

$user="";
$password="";
$database="";

?>



listnews.php

<?php
require ("config.php");
mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");





// определяме колко реда да ни показва. В случая 20 на страница.
$broinastranica = 20;

// от коя страница да почне да показва.Може да искаме да е от втора или от последна.
$pageNum = 1;

// ако има получени данни $_GET['page'] ще покаже страницата с номер $_GET['page']
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

//тука определяме кои редове ще се показват - примерно ако $_GET['page']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($pageNum - 1) * $broinastranica;
//заявката ще върне само посочените редове - примерно от 20 до 40 в зависимост от $_GET['page']
$query = " SELECT* FROM komentari " .
" LIMIT $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');

echo "<table border=1>";
// print-ваме посочените редове в таблица.
while($row = mysql_fetch_array($result))
{

echo '<tr><td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>'.substr($row['text'],0 , 35).'</td><td><a href=opennews.php?id='.$row['id'].'>edit</a></td></tr>';
}

echo"</table>";


// проверяваме таблицата колко редове има
$query = "SELECT COUNT(id) AS numrows FROM komentari";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}
}



// създаване на ликовете [предишна] [следваща]
// както и линковете [първа] и [последна]


if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?page=$page\"> [<<<<<] </a> ";

$parva = " <a href=\"$self?page=1\">[първа]</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}

if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\"> [>>>>>] </a> ";

$posledna = " <a href=\"$self?page=$maxPage\">[последна]</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}

// показваме всички страници
echo $parva . $predishna . $nomeranastranici . $sledvashta . $posledna;





?>








opennews.php



<?php
require ("config.php");
$id= $_GET['id'] ;


mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * from komentari where id like '$id' ";
$result=mysql_query($query);
mysql_close();

$text=mysql_result($result,0,"text");
?>


<html >
<head>
<title>Open news</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</head>
<body>
<form method="post" action="editnews.php">
<INPUT TYPE="hidden" SELECT NAME="id" VALUE="<?echo $id?>" >
TEXT<br/>
<TEXTAREA name="editnews" COLS=90 ROWS=40>
<? echo $text?>
</TEXTAREA>
<INPUT TYPE=SUBMIT VALUE="Edit!">
</FORM>
</body>


editnews.php


<?
require ("config.php");
$editnews=$_POST['editnews'];
$id=$_POST['id'];
mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query="UPDATE komentari SET text='$editnews' where id='$id' ";
mysql_query($query);
mysql_close();


?>
<html >
<head>
<title>Edit news</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</head>
<body>
Новината е редактирана.<br/>
<a href="listnews.php">Обратно</a>
</body>
 

Горе