Система за новини + достъп как предлагате да я направя

Я нанеси малко данни в DOSTAP и пробвай това:


mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT * from phpbb_users,DOSTAP,NEWS where phpbb_users.user_id=DOSTAP.user_id and DOSTAP.news_id=NEWS.id ";
$result=mysql_query($query);
$num=mysql_num_rows($result);

for($i=0;$i<$num;$i++)
{
$potrebitel =mysql_result($result,$i,"phpbb_users.username");
$novina=mysql_result($result,$i,"NEWS.title");

echo "$potrebitel има право да чете статията $novina<br/>";
}
 
така маи нестана изкарами вскичните новини и кои има достап за тях
http://212.56.3.67/news/art2.php?art=28

а можели в същата заявка да се обедини и това да извлиза ИД номера на потребителя ?
 
mute каза:
така маи нестана изкарами вскичните новини и кои има достап за тях
http://212.56.3.67/news/art2.php?art=28

а можели в същата заявка да се обедини и това да извлиза ИД номера на потребителя ?

Да.
Точно това трябваше да ти изкара.
Всичко от базата данни.
Потребител -> право на статия.

А иначе какво точно искаш???
НЕ разбрах.
Кое да обединя.
Кажи просто какво ти трябва.
 
МИ трябвами от сесията получавам името на потребителя и разбирам неговото ИД в таблицата с юсерите

if (isset($HTTP_SESSION_VARS['potrebitel']))
{
$potrebitel=$HTTP_SESSION_VARS['potrebitel'];

след което което трябва да се направи заявка която:
1 да провери дали статията е платена или не това е от таблицата news полето PLAT = da/ne ако е безплатна ми я показва ако не прави следваща проверка.
2Проверява дали потребителя си е платил това е в таблицата достъп ако е му я изкарва ако не му изкарва съобщение " нямате достъп"

горе долу това е
 
Това пробвай.

if (isset($HTTP_SESSION_VARS['potrebitel']))
{
$potrebitel=$HTTP_SESSION_VARS['potrebitel'];
}
$newnew=123; //на мястото на 123 пишеш ID-to на новината

mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT * from phpbb_users,DOSTAP,NEWS where phpbb_users.user_id=DOSTAP.user_id and DOSTAP.news_id=NEWS.id and phpbb_users.user_id like '$potrebitel' and (DOSTAP.news_id like '$newnew' OR news.plat like 'ne')";
$result=mysql_query($query);
$num=mysql_num_rows($result);

if ($num>0)
{
$potrebitel =mysql_result($result,0,"phpbb_users.username");
$novina=mysql_result($result,0,"NEWS.title");

echo "$potrebitel има право да чете статията $novina";


}
else
{
echo "Нямате достъп";
}
 
Вмомента ми изписва
"Нямате достъп"
дори статията да е безплатна
 
Да.
Имаше грешка.
Пак.


if (isset($HTTP_SESSION_VARS['potrebitel']))
{
$potrebitel=$HTTP_SESSION_VARS['potrebitel'];
}
$newnew=123; //на мястото на 123 пишеш ID-to на новината

mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT * from phpbb_users,DOSTAP,NEWS where phpbb_users.user_id=DOSTAP.user_id and DOSTAP.news_id=NEWS.id and phpbb_users.username like '$potrebitel' and (DOSTAP.news_id like '$newnew' OR news.plat like 'ne')";
$result=mysql_query($query);
$num=mysql_num_rows($result);

if ($num>0)
{
$potrebitel =mysql_result($result,0,"phpbb_users.username");
$novina=mysql_result($result,0,"NEWS.title");

echo "$potrebitel има право да чете статията $novina";


}
else
{
echo "Нямате достъп";
}
 
Да така стана ,но ако новианта е безплатна дава "Нямате достъп"
 
Вече не мога да мисля. :)
Много е късно.
Нали 'ne' е за безплатна новина.
Така ги отбелязваш: 'da'-> платена 'ne'->безплатна?
 
admin каза:
Вече не мога да мисля. :)
Много е късно.
Нали 'ne' е за безплатна новина.
Така ги отбелязваш: 'da'-> платена 'ne'->безплатна?
да точно така
ако ти се спи лягаи помогнами достатъчно ще се пробвам и сам нещо да измисля
 
Пробвай така дфа видя какво ще ти даде.




if (isset($HTTP_SESSION_VARS['potrebitel']))
{
$potrebitel=$HTTP_SESSION_VARS['potrebitel'];
}
$newnew=123; //на мястото на 123 пишеш ID-to на новината

mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT * from phpbb_users,DOSTAP,NEWS where phpbb_users.user_id=DOSTAP.user_id and DOSTAP.news_id=NEWS.id and phpbb_users.username like '$potrebitel' and DOSTAP.news_id like '$newnew' OR news.plat like 'ne' ";
$result=mysql_query($query);
$num=mysql_num_rows($result);

if ($num>0)
{
$potrebitel =mysql_result($result,0,"phpbb_users.username");
$novina=mysql_result($result,0,"NEWS.title");

echo "$potrebitel има право да чете статията $novina";


}
else
{
echo "Нямате достъп";
}
 
Давами
Anonymous има право да чете статията TITLE
тва Anonymous незнам къв е тоя потребител ето останалия код които съм преабвил
<?
session_start();
?>
<?
$newsid=$_GET['art'];
if ($newsid=='')
{exit;}


if (isset($HTTP_SESSION_VARS['potrebitel']))
{
$potrebitel=$HTTP_SESSION_VARS['potrebitel'];
}

$user="root";
$password="";
$database="phpbb";

mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT * from phpbb_users,DOSTAP,NEWS where phpbb_users.user_id=DOSTAP.user_id and DOSTAP.news_id=NEWS.id and phpbb_users.username like '$potrebitel' and DOSTAP.news_id like '$newsid' OR news.plat like 'ne' ";
$result=mysql_query($query);
$num=mysql_num_rows($result);

if ($num>0)
{
$potrebitel =mysql_result($result,0,"phpbb_users.username");
$novina=mysql_result($result,0,"NEWS.title");

echo "$potrebitel има право да чете статията $novina";


}
else
{
echo "Нямате достъп";
}
?>
 
//off
от phpbb_users ,
Anonymous е Гост-а т.е. като не си логнат във форума.
Той е с user_id -1 (минус 1)
с един if примерно може да провериш.
//end off
 
Аз нещо съм се бъгнал.
Не трябваше да махам скобите.

Трябва да работи със скобите но незнам защо не работи:
Я пробвай така и провери дали със сигурност има записано ne в полето
plat . Надявам се да не си записал nE с българско е.

По принцип не трябва да е ne /da . Трябва да е 1/2 .



<?
session_start();
?>
<?
$newsid=$_GET['art'];
if ($newsid=='')
{exit;}


if (isset($HTTP_SESSION_VARS['potrebitel']))
{
$potrebitel=$HTTP_SESSION_VARS['potrebitel'];
}

$user="root";
$password="";
$database="phpbb";

mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT * from phpbb_users,DOSTAP,NEWS where phpbb_users.user_id=DOSTAP.user_id and DOSTAP.news_id=NEWS.id and phpbb_users.username like '$potrebitel' and (DOSTAP.news_id like '$newsid' OR NEWS.plat like '%ne%' )";
$result=mysql_query($query);
$num=mysql_num_rows($result);

if ($num>0)
{
$potrebitel =mysql_result($result,0,"phpbb_users.username");
$novina=mysql_result($result,0,"NEWS.title");

echo "$potrebitel има право да чете статията $novina";


}
else
{
echo "Нямате достъп";
}
?>

 
вмомента ако новината е безлплатна дава че няма достап
промених го вече записва 1 или 2
безплатна 1
платена2
 
Сигурен съм, че може и с една заявка ама не мога да тествам.



<?
session_start();
?>
<?
$newsid=$_GET['art'];
if ($newsid=='')
{exit;}


if (isset($HTTP_SESSION_VARS['potrebitel']))
{
$potrebitel=$HTTP_SESSION_VARS['potrebitel'];
}

$user="root";
$password="";
$database="phpbb";

mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT * from phpbb_users,DOSTAP,NEWS where phpbb_users.user_id=DOSTAP.user_id and DOSTAP.news_id=NEWS.id and phpbb_users.username like '$potrebitel' and DOSTAP.news_id like '$newsid' ";
$result=mysql_query($query);
$num=mysql_num_rows($result);

if ($num>0)
{
$potrebitel =mysql_result($result,0,"phpbb_users.username");
$novina=mysql_result($result,0,"NEWS.title");

echo "$potrebitel има право да чете статията $novina";


}
else
{
$query = "SELECT * from phpbb_users,DOSTAP,NEWS where phpbb_users.user_id=DOSTAP.user_id and DOSTAP.news_id=NEWS.id and phpbb_users.username like '$potrebitel' and NEWS.id like '$newsid' and NEWS.plat like '1' '' ;
$result=mysql_query($query);
$num=mysql_num_rows($result);
if ($num>0)
{

$potrebitel =mysql_result($result,0,"phpbb_users.username");
$novina=mysql_result($result,0,"NEWS.title");
echo "$potrebitel има право да чете статията $novina";
}
else
{

echo "Нямате достъп";
}

}
?>
 
пак дава "няма достап" ако новината е безплатна
ето ако искаш разгледаи
http://212.56.3.67/phpmyadmin/ точно както го дадох на снимките е
 
Еи това е засега работи
пробваи ако имаш време
ама първо се логни от http://212.56.3.67/news/
потребител с достап mute , pass: manutd
потребител без достап test ,pass: test

Статия която е платена
http://212.56.3.67/news/art.php?art=84

Безплатна статия
http://212.56.3.67/news/art.php?art=83

<?
session_start();
?>
<?
$newsid=$_GET['art'];
if ($newsid=='')
{exit;}


if (isset($HTTP_SESSION_VARS['potrebitel']))
{
$potrebitel=$HTTP_SESSION_VARS['potrebitel'];
}

$user="root";
$password="";
$database="phpbb";

mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT id, title, content, avtor, data, plat FROM news where id like '$newsid'";
$result=mysql_query($query);
$row=mysql_fetch_row($result);
$dostap=$row[5];
$title=$row[1];

if ($dostap==1) {
echo "$potrebitel тази статия е безплатна и можеш да я прочетеш $title";
}

else
if ($dostap==2) {
$query = "SELECT * from phpbb_users,DOSTAP,NEWS where phpbb_users.user_id=DOSTAP.user_id and DOSTAP.news_id=NEWS.id and phpbb_users.username like '$potrebitel' and NEWS.id like '$newsid' " ;
$result=mysql_query($query);
$num=mysql_num_rows($result);
if ($num>0)
echo("$potrebitel си е платил за статията $title");

else

echo ("За да прочетете тази статия трябва да си платите"); }




?>
 

Back
Горе