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

مشكلة فى معرض الصور

مغلق
بدأه mr_ak في 29 يونيو 2007 · 10 رد · 950 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدى معرض للصور يعرض الصور مصغر ثم تضغط على كلمة تحت الصورة ليقوم بعرض الصورة بشكل كبير

المشكلة:

عند الضغط على كلمة تكبير الصورة لا تعمل.

المطلوب :

ايجاد حل لجعل هذه الخاصية تعمل وايضا اريد ان اضغط على الصورة تعمل نفس الخاصية وتعرض لى نفس الصورة مكبرة.

الكود

<?

// Folder Name
$dir = "./pic";

// Number of photos in each page
$pic = 100;


// Number of photos in each row
$Column = 4 ;

// size of photo
$templates= "100";


// Extensions of photos
$exten = array (".bmp",".jpg",".gif",".png",".ani",".BMP",".JPG",".GIF");


// ******** (:  ********//


//###########################################################################################
//###########################################################################################
//###########################################################################################


$files = array();

if (!is_dir($dir)){echo " <h1>Be sure from the folder name</h1>";}
$open = @opendir($dir) or die("<h1> $dir Open folder error </h1>");
for ($file=0;$file=readdir($open) ;$file++)
{
    if($file !="."&& $file !="..")
    {
         $exten1 = strrchr($file ,'.');
         if (in_array( strrchr($file ,'.') , $exten))
         {
         $files[] = $file;
         //echo"$file<br>";
         }
    }
}
closedir($open);


//###########################################################################################
// Number of photos in each page
//$pic = 100;
$data = $files;
rsort ($data);
$max = count($files);



      // Next table arranges
      ///////////////////////////////////////////////////////////
      // start of table and arranges
      echo "<div align='center'> <table border='1' cellpadding='1' cellspacing='1' width='95%' dir='rtl' id='table1' bordercolor='#D3D3D3'>
	   <tr><td colspan='$Column' style='color: D3D3D3' bgcolor='000000'> <div align='center'><h2>$title</h2></div> </td> <tr>";
      $ColumnCounter=1; // number of embty cels

//###########################################################################################

$action == 'shwo';
if ($action == 'shwo'){
echo "<div align='center'><b> <a href='java script:history.go(-1)'>Back</a><br><hr><br>$file_shwo<br><br>
<img src='$dir/$file_shwo' border='0'><br><br>

</b></div>";

exit;
}


//###########################################################################################      
///////////////////////////////////////////////////////////



$start = $page * $pic;
$end = $page * $pic + $pic;;
if ($end > $max){$end=$max;}
for ($u=$start; $u<$end; $u++)
{

                echo "<td width='25%' align='center' valign='top'><font size='1' face='MS Sans Serif'>
                      <img src='$dir/$data[$u]' width='$templates' height='$templates' border=0><br style='line-height: 150%'>
                      <a href='index.php?action=shwo&file_shwo=$data[$u]'> <b>[ Enlarg ]</b></a>

                      </font></td>";

///////////////////////////////////////////////////////////


      //   التالي امتدلد للجدول السابق  وهذا هو الجزء الذي يتكرر بشروط
      if($ColumnCounter=="$Column")// شرط لتكرار الحقول اذا وصل اربعة ينتقل الى صف جديد
      {echo "</tr>
      <tr>";
      $ColumnCounter=0;
      }
      $ColumnCounter++;// امر التكرار
}
       echo "

      </tr>
      <tr>
         <td colspan='$Column' style='color: D3D3D3' bgcolor='000000'>
         <div align='center'><h4>Show photos : ($start to  $end)  -  Total photos  $max </h4></div>
         </td>
      <tr> </table> </div><br>";// نهاية جدول عرض الاقسام






?>

وشكراً لمساعدتكم

#2

عااااااااااجل

#3

للرفع

#4

انسخ رساله الخطاء الي تطلع لك اذا ضغطت على زر التكبير وحطها هنا

#5

مفيش رسالة خطأ بتظهر انا لما بضغط على الصورة للتكبير الرابط بيتغير فى المتصفح لكن الصفحة زى ما هية مبتتغيرش

#6

للرفع

#7

أزل علامة @ من هذا السطر:

$open = @opendir($dir) or die("<h1> $dir Open folder error </h1>");

وضع هذه الدالة في أعلى الكود بهذا الشكل:

error_reporting(E_ALL);

نفذ الكود مرة أخرى وإذا ظهرت لك رسالة خطأ انسخها وضعها هنا

إذا لم تظهر لك أي رسالة خطأ فسأعيد قراءة الكود من جديد

بالتوفيق

sign3.jpg
#8

اخى الكريم هذه مجموع الاخطاء التىظهرت بعد ما عدلت الكود كما طلبت

Notice: Undefined variable: title in c:\camel\www\sss\index.php on line 61

Notice: Undefined variable: action in c:\camel\www\sss\index.php on line 66

Notice: Undefined variable: action in c:\camel\www\sss\index.php on line 67

Notice: Undefined variable: page in c:\camel\www\sss\index.php on line 82

Notice: Undefined variable: page in c:\camel\www\sss\index.php on line 83

تم تعديل هذه المشاركة بواسطة mr_ak في 3 يوليو 2007 في 05:20

#9

عرفت المشكلة عزيزي

الكود هذا تم عمله على اصدارة PHP قبل الاصدار رقم 4.2 والجديد في هذه الاصدارة أنه تم إغلاق ما يسمى بـ register_globals ومن ضمنها GET

مشكلتك الآن أن المتغير action يفترض أن يأخذ القيمة من $_GET وبما أنك تقريبا تستخدم على ما يبدوا اصدارة 4.2 أو أعلى فهو لن يقبل القيمة إلا إذا كتبتها بهذه الصيغة

$_GET['action'] == 'show';

وحتى تستفيد منها في الكود فضع الشرط بهذا الشكل:

if (isset($_GET['action']) && $_GET['action'] == 'shwo') {
 // بقية الأمر

بالتوفيق

sign3.jpg
#10

اخى الكريم بعد تعديل الكود كما اخبرتى الان يتم تغير الصفحة الى صفحة العرض ولكن الصورة لا تظهر ويظهر بدلاً منها الشكل الذى يظهر عدما يكون مسار الصورة خاطىء و بالفعل راجعت مسار الصورة ظهر لى اسم المجل فقط بدون اسم الصورة وامتدادها

تم تعديل هذه المشاركة بواسطة mr_ak في 3 يوليو 2007 في 10:38

#11

المشكلة تقريبا نفس طريقة المشكلة السابقة

ابحث عن متغير اسمه file_shwo موجود في هذا السطر:

.... -1)'>Back</a>
<hr>
$file_shwo

<img src='$dir/$file_shwo' border='0'><br .....

واستبدله هكذا:

.... -1)'>Back</a>
<hr>
$_GET[file_shwo]

<img src='$dir/$_GET[file_shwo]' border='0'><br .....

بالتوفيق

sign3.jpg

هذا الموضوع مغلق.

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