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

درس php

اليوم سنتعلم فكرة برمجية سهلة لتغير ارقام المواضيع الى حروف
مثال 1 = n و 2 = r

ليكون الرابط عند الاستعلام

show.php?id=n
او
show.php?id=nr

او
show.php?id=xcz

حسب اختيارك للحروف
مع حماية الاستعلام بحيث لا يستعلم إلا عن ارقام فقط

شرح الفكرة سنقوم ببرمجة دالة تقوم بتحويل n إلى 1

ثم نقوم بالاستعلام عن رقم 1

نبد بسم الله

اولا سنقوم ببرمجة دالة لتحويل الارقام المستخرجة إلى حروف

قناة روش
رمز PHP:

function str_ir($val){
$val = intval($val);
$val = str_ireplace(0,'t',$val);
$val = str_ireplace(1,'n',$val);
$val = str_ireplace(2,'r',$val);
$val = str_ireplace(3,'s',$val);
$val = str_ireplace(4,'x',$val);
$val = str_ireplace(5,'z',$val);
$val = str_ireplace(6,'c',$val);
$val = str_ireplace(7,'b',$val);
$val = str_ireplace(8,'o',$val);
$val = str_ireplace(9,'e',$val);
return
$val;
}



ونقوم بستخراج جميع المواضيع او الاخبار

رمز PHP:

$q = $db->query("select * from news");
while (
$r = $q->fetch_array(MYSQLI_ASSOC)){



ثم نقوم بجلب الايدي ونقوم بطتبيق الدالة علية

رمز PHP:

$id = str_ir($r['id']);



الان اي موضوع يتم جلب الايدي الخاص به رقم بعد تطبيق الدالة علية سيتم تحويل الارقام إلى حروف

نكمل نجلب عنوان الخبر
رمز PHP:

$tit = $r['title'];



الان نطبع عنوان الخبر في رابط يتوجه إلى صفحة show.php

رمز PHP:

echo "title - $tit
"
;



نغلق الوايل
رمز PHP:

}



-------------- انتهينا من ملف index

الان نتوجة لملف show.php
لنقوم بالاستعلام عن الرابط وجلب محتوى الخبر

نقوم اول شيء ببرمجة دالة تعكس القيم في الدالة السابقة

رمز PHP:

function str_ir2($val){

$val = str_ireplace('t',0,$val);
$val = str_ireplace('n',1,$val);
$val = str_ireplace('r',2,$val);
$val = str_ireplace('s',3,$val);



$val = str_ireplace('x',4,$val);
$val = str_ireplace('z',5,$val);
$val = str_ireplace('c',6,$val);
$val = str_ireplace('b',7,$val);
$val = str_ireplace('o',8,$val);
$val = str_ireplace('e',9,$val);
$val = intval($val);
return
$val;
}



لحظ اني قمت بستبدال الحروف إلى ارقام
عكس الدالة الاولى إللي فيها قمت بستبدال الارقام بحروف
ايضا قمت بوضع دالة intval اسفل الكودفي الدالة هذا معناه بعد ماتستبدل الحروب الموجودة طبق لي دالة الحماية لكي لا يقبل إلا رقم

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

بعد ماقمنا بعمل الدالة الان نجلب الايدي عن طريق دالة get مع تشغيل الفانكشن

رمز PHP:

$g = str_ir2($_GET['id']);



ثم نقوم بالاستعلام عن الخبر
رمز PHP:

$q = $db->query("select * from news where id='$g'");



نتاكد ان القيمة صحيحة وانه يوجد خبر لنفس الايدي المجلوب اذا كان موجود فعلا نكمل
رمز PHP:

if($q->num_rows != 0){



رمز PHP:

$r = $q->fetch_array(MYSQLI_ASSOC);

echo
$tit = $r['newss'];



اذا كان الخبر غير موجود نطبع

رمز PHP:

}else{
echo
"error url not found";
}



بكذا يكون الدرس انتهى
الملفات مرفقة + قاعدة البيانات ترميزها utf8_general_ci
اي استفسار لا تتردد
تحياتي ودمتم بحفظ الرحمن

الملفات المرفقة
geturl.zip (2.2 كيلوبايت)