بكسل - Powered by vBulletin


افاتار الكاتب
الصورة الرمزية mr graphics
mr graphics
مؤسس موقع بكسل (رحمه الله)
الدولة : -
الإهتمامات : -
الوظيفة : -
صورة الدرس الرمزية
معلومات الدرس
تقييم الدرس : 1 تقييمات , بـمعدل 5.00
درس اضافة خبر + صورة مرفقه مع تلك الخبر
اخواني الكرام

هذا درس عملته خصيصاً للأخوان المبتدئين في لغة الــ php

مضمون الدرس هو كالتالي :

راح نعمل فورم لإضافة :
1- عنوان الخبر title
2- الخبر text
3- صورة مرفقه مع الخبر وسوف يتم تخزين رابط كل صورة على حدا في مجلد راح نسميه upload يعني لازم تعمل مجلد وتسميه upload

اولاً ازرع هذا الجدول في قاعدة بياناتك
كود PHP:
CREATE TABLE `news` (
`
idINT11 NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`
titleVARCHAR99 NOT NULL ,
`
textVARCHAR255 NOT NULL ,
`
catimageVARCHAR99 NOT NULL ,
`
pathVARCHAR99 NOT NULL 
ENGINE MYISAM 
والآن راح نسرد الكود لوضع (العنوان + الخبر + الصورة المرفقه مع الخبر) وابيكم اي شيء فيه صعوبة عليكم لازم تسألون عنه

بسم الله نبدء (هذا الملف سمه news)
كود PHP:
<?php 

/** ######################## 
شرح بوصالح  
درس اضافة خبر وصورة 
منتديات تصميم التعليمية 
www.tsmim.com/vb 
// هنا الجدول كامل 
CREATE TABLE `news` ( 
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`title` VARCHAR( 99 ) NOT NULL , 
`text` VARCHAR( 255 ) NOT NULL , 
`catimage` VARCHAR( 99 ) NOT NULL , 
`path` VARCHAR( 99 ) NOT NULL  
) ENGINE = MYISAM ; 
######################## */ 

IF ($action=="add"){ 
if (
$_SERVER["REQUEST_METHOD"]=="POST"

     
/** هنا راح نستقبل البيانات المرسلة من الاستماره **/ 
$title      addslashes($_POST['title']); 
$title      trim($_POST['title']); 
$text       addslashes($_POST['message']); 
$text       trim($text); 

/** تحويل اسم الصورة الى متغير **/ 
$file_name $HTTP_POST_FILES['image']['name']; 

/** عمل راندم لأسم جديد يتكون من اربع حروف **/ 
$random_digit=rand(0000,9999); 

/** هنا سوف يتم عمل متغير جديد لأسم الصورة بعد اعادة تسميتها **/ 
$new_file_name=$random_digit.$file_name

//هنا سوف نتحقق من كتابة جميع الحقول 
if ($title =="" || $text =="" || $file_name =="") { 
echo 
"<BR><BR><BR><center><a href='javascript:history.back()'>أحد الحقول فارغ عد للخلف</a><BR><BR><BR>"


}else{     

/** خنا سوف نحدد مسار تخزين الملف **/ 
include("config.php"); 
$path"upload/".$new_file_name
if(
$image !=none

if(
copy($HTTP_POST_FILES['image']['tmp_name'], $path)) 


/** هنا سوف نعلم ادخال لأسم الصورة والمسار **/ 
$catimage  =  $new_file_name// اسم الصورة 


$query = @mysql_query ("INSERT INTO news (title,text,catimage,path) VALUES ('$title','$text','$catimage','$path')") or die ("error query"); 

if(
$query){ 
echo 
"<BR>";     
echo 
"<CENTER><B>تم اضافة الخبر بنجاح "
echo 
"<META HTTP-EQUIV='Refresh' CONTENT='1;URL=news.php'>"
echo 
"<BR>"
}else{ 
echo 
"<BR>للأسف لم يتم ادخال المعلومات الى الجدول"

EXIT; 





     
}else{ 
echo
'<br>     
<form method="POST" enctype="multipart/form-data" action="news.php?action=add" dir="rtl"> 
<div align="center"> 
<table border="1" cellspacing="1" width="450" dir="rtl" id="table1" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0"> 
        <tr> 
            <td class="bigfont" width="100" align="center"><span lang="ar-sa"> 
            عنوان الخبر</span></td> 
            <td> 
             
            <input type="text" name="title" id="title" size="20"> 
             
            </td> 
        </tr> 
        <tr> 
            <td class="bigfont" width="100" align="center"><span lang="ar-sa"> 
            الخبر</span></td> 
            <td> 
             
            <textarea rows="9" name="message" id="message" cols="29"></textarea></td> 
        </tr> 
        <tr> 
            <td class="bigfont" width="100" align="center">صورة مع الخبر</td> 
            <td> 
             
            <input type="file" name="image" id="image" size="20"> 
             
            </td> 
        </tr> 
    </table> 
</div> 
<p align="center"><BR> 
<input type="submit" value="اعتمد" name="B1"> 
<input type="reset" value="مسح" name="B2"></p> 
</form>'


}
والآن راح نتعلم كيف نعمل صفحة لعرض كل الاخبار المدخلة في جدولنا news وسم هذه الصفحة show_news
كود PHP:
<?php 

/** ######################## 
شرح بوصالح  
درس اضافة خبر وصورة 
منتديات تصميم التعليمية 
www.tsmim.com/vb 
// هنا الجدول كامل 
CREATE TABLE `news` ( 
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`title` VARCHAR( 99 ) NOT NULL , 
`text` VARCHAR( 255 ) NOT NULL , 
`catimage` VARCHAR( 99 ) NOT NULL , 
`path` VARCHAR( 99 ) NOT NULL  
) ENGINE = MYISAM ; 
######################## */ 

include("config.php"); 

$Sql mysql_query("SELECT * FROM news")or die ("Query failed"); 

/** هنا نعمل جرد لمحتوى جدول الاخبار **/ 
$news mysql_num_rows($Sql); 

if(
$news == 0){ 
echo 
"<div class='smallfont' align='center'>لا يوجد اي خبر في قاعدة البيانات.</div>"
}else{ 

while (
$Row = @mysql_fetch_array($Sql)){ 


echo 


<div align='center'> 
    <table border='0' cellpadding='0' cellspacing='0' width='98%' dir='rtl' id='table1'> 
        <tr> 
            <td> 
            <table border='0' cellpadding='0' cellspacing='0' width='100%' dir='rtl' id='table2'> 
                <tr> 
                    <td valign='top'> 
                    <table border='0' cellpadding='0' cellspacing='0' width='100%' dir='rtl' id='table3'> 
                        <tr> 
                            <td valign='top'> 
                            <p align='center'> 
                            <img border='0' src='$Row[path]' alt='$Row[title]'> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td valign='top' align='center'>$Row[title]</td> 
                        </tr> 
                        <tr> 
                            <td valign='top' align='center'>$Row[text]</td> 
                        </tr> 
                    </table> 
                    </td> 
                </tr> 
            </table> 
            </td> 
        </tr> 
    </table> 
</div> 




"

         
 } 

mysql_close(); 
?>
واي استفسار حول الدرس انا حاضر للجميع
وتقبلوا تحية اخوكم الصغنن بوصالح

http://www.montadaphp.net/showthread.php?t=2157
01:00 AM 04-21-2009 بواسطة بوصالح تعديل بسيط في الكود
اخواني الكرام

فيه تعديل صغير وهو دالة copy ربما تكون غير آمنه وغير مدعومة في السيرفرات
كود PHP:
if(copy($HTTP_POST_FILES['image']['tmp_name'], $path)) 
وهنا الكود بعد التعديل

كود PHP:
if(move_uploaded_file($HTTP_POST_FILES['image']['tmp_name'], $path))