اذهب إلى المحتوى
  • 0

مشكلة عدم ظهور صفحة تفاصيل المنتج عند الضغط على زر تغيير اللغه

Our World عالمنا

السؤال

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

هذه هى الاكواد:

navbar

<div>
  <!-- AR | EN  -->
  <a href="?lang=ar">AR</a>
  <a href="?lang=en">EN</a>
</div>



Homepage

<h3 class='h3-item-index'>
  <a href='details.php?id=<?php echo $value['item_id']?>'>
  	<?php echo $value['NAME']?>
  </a>

</h3> <!--item name(heading)-->



details.php

if( (isset($_GET['id']) && is_numeric($_GET['id']) )    ) {
$ITEMID=intval($_GET['id']);


}else{
echo "There is no such";
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هل لديك صفحتين مختلفتين لتعديل اللغة و أخرى لعرض المنتجات؟

وعند تبديل اللغة، لأي صفحة يتم تحويلك؟

يمكن إعادة تحويل المستخدم لنفس الصفحة السابقة (تفاصيل المنتج) بكتابة التعليمة التالية في نهاية صفحة تبديل اللغة، لكي تتم بشكل أنيق يدون مغادرة الصفحة التي كان فيها المستخدم:

header("Location: " . "http://" . $_SERVER['HTTP_HOST'] . $location);
  • Host هو اسم الدومين
  • location هو الرابط الذي يحدد المورد (query parameters)

أو التالية:

header('Location: ' . $_SERVER['HTTP_REFERER']);

 

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

if(isset($_SERVER['HTTP_REFERER'])) {
    $previous = $_SERVER['HTTP_REFERER'];
}

ثم

header('Location: ' . $previous);

ولاتنسى عمل exit في النهاية

exit;

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 7 دقائق مضت قال Wael Aljamal:

هل لديك صفحتين مختلفتين لتعديل اللغة و أخرى لعرض المنتجات؟

وعند تبديل اللغة، لأي صفحة يتم تحويلك؟

يمكن إعادة تحويل المستخدم لنفس الصفحة السابقة (تفاصيل المنتج) بكتابة التعليمة التالية في نهاية صفحة تبديل اللغة، لكي تتم بشكل أنيق يدون مغادرة الصفحة التي كان فيها المستخدم:


header("Location: " . "http://" . $_SERVER['HTTP_HOST'] . $location);
  • Host هو اسم الدومين
  • location هو الرابط الذي يحدد المورد (query parameters)

هل تقصد بصفحة تبديل اللغه ..هذه الصفحة؟

<?php

if(isset($_GET['lang'])){
      $lang = $_GET['lang'];
    $_SESSION['lang'] = $lang;

}elseif(isset($_SESSION['lang'])){
    $lang = $_SESSION['lang'];

}else{
    $lang = 'ar';
}

switch ($lang) {
  case 'en':
  $lang_file = 'english.php';
  $style_file = 'en.css';
  break;
  
  case 'ar':
  $lang_file = 'arabic.php';
  $style_file = 'ar.css';
  break;

  default:
  $lang_file = 'arabic.php';
  $style_file = 'ar.css';

}


include 'include/languages/'.$lang_file;
?>

وهناك صفحة للتفاصيل وهى هذه

details.php 


if( (isset($_GET['id']) && is_numeric($_GET['id']) ) ) { 
$ITEMID=intval($_GET['id']); }

else{ echo "There is no such "; }

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 1 دقيقة مضت قال Our World عالمنا:

هل تقصد بصفحة تبديل اللغه ..هذه الصفحة؟

نعم في صفحة اللغات، بعد تضمين ملف اللغة المطلوبة، نقوم بعمل إعادة توجيه للصفحة السابقة وسوف تكون صفحة المنتج أو أي صفحة أخرى.. (أرجو تحديث الصفحة يوجد تعديل في الإجابة)

الانتباه للملاحظة:

قراءة المقالة:

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 22 دقائق مضت قال Wael Aljamal:

هل لديك صفحتين مختلفتين لتعديل اللغة و أخرى لعرض المنتجات؟

وعند تبديل اللغة، لأي صفحة يتم تحويلك؟

يمكن إعادة تحويل المستخدم لنفس الصفحة السابقة (تفاصيل المنتج) بكتابة التعليمة التالية في نهاية صفحة تبديل اللغة، لكي تتم بشكل أنيق يدون مغادرة الصفحة التي كان فيها المستخدم:


header("Location: " . "http://" . $_SERVER['HTTP_HOST'] . $location);
  • Host هو اسم الدومين
  • location هو الرابط الذي يحدد المورد (query parameters)

أو التالية:


header('Location: ' . $_SERVER['HTTP_REFERER']);

 

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


if(isset($_SERVER['HTTP_REFERER'])) {
    $previous = $_SERVER['HTTP_REFERER'];
}

ثم


header('Location: ' . $previous);

ولاتنسى عمل exit في النهاية


exit;

 

هل تقصد كتابة الكود السابق في هذه الصفحة

<?php if(isset($_GET['lang'])){       $lang = $_GET['lang'];     $_SESSION['lang'] = $lang; }elseif(isset($_SESSION['lang'])){     $lang = $_SESSION['lang']; }else{     $lang = 'ar'; } switch ($lang) {   case 'en':   $lang_file = 'english.php';   $style_file = 'en.css';   break;      case 'ar':   $lang_file = 'arabic.php';   $style_file = 'ar.css';   break;   default:   $lang_file = 'arabic.php';   $style_file = 'ar.css'; } include 'include/languages/'.$lang_file; 


?>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 دقائق مضت قال Our World عالمنا:

هل تقصد كتابة الكود السابق في هذه الصفحة

نعم

'include/languages/'.$lang_file; 

header('Location: ' . $_SERVER['HTTP_REFERER']);

exit;


?>

هكذا في آخر جزء

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 16 دقائق مضت قال Wael Aljamal:

نعم


'include/languages/'.$lang_file; 

header('Location: ' . $_SERVER['HTTP_REFERER']);

exit;


?>

هكذا في آخر جزء

لم ينجح هذا الحل


include 'include/languages/'.$lang_file;

if (isset($_SERVER['HTTP_REFERER'])) {
   header('Location: ' . $_SERVER['HTTP_REFERER']);
   exit();
}
لا يذهب المتصفح لصفحة التفاصيل نهائيا ويعطى رسالة خطأ

This page isn’t working

localhost redirected you too many times.

Try clearing your cookies.

ERR_TOO_MANY_REDIRECTS

وعند تغيير اللغه من الرئيسية لا تتغير بل يذهب لصفحة ظهور الخطأ السابق

تم التعديل في بواسطة Our World عالمنا
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 دقائق مضت قال Our World عالمنا:

لم ينجح هذا الحل


include 'include/languages/'.$lang_file;

if (isset($_SERVER['HTTP_REFERER'])) {
   header('Location: ' . $_SERVER['HTTP_REFERER']);
   exit();
}
لا يذهب المتصفح لصفحة التفاصيل نهائيا ويعطى رسالة خطأ

This page isn’t working

localhost redirected you too many times.

Try clearing your cookies.

ERR_TOO_MANY_REDIRECTS

هل ملف تضمين اللغة يحوي عمليات طباعة أو شيفرات HTML..

بذلك نقوم بتقديم تعليمة HEADER لتسبق include 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 دقائق مضت قال Wael Aljamal:

هل ملف تضمين اللغة يحوي عمليات طباعة أو شيفرات HTML..

بذلك نقوم بتقديم تعليمة HEADER لتسبق include 

فعلت هكذا والمشكلة كما هي


if (isset($_SERVER['HTTP_REFERER'])) {
   header('Location: ' . $_SERVER['HTTP_REFERER']);
   exit();
}
include 'include/languages/'.$lang_file;

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 دقائق مضت قال Our World عالمنا:

فعلت هكذا والمشكلة كما هي


if (isset($_SERVER['HTTP_REFERER'])) {
   header('Location: ' . $_SERVER['HTTP_REFERER']);
   exit();
}
include 'include/languages/'.$lang_file;

لا استطيع تجريب الاكواد والتحقق من محتوى الملمفات .. نفس المشملة مذكورة في سؤال أرفقته مع اجابة سابقة 

من الأفضل فصل عملية تبديل اللغة و عملها ب AJAX فهذا يحل المشكلة.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 دقائق مضت قال Wael Aljamal:

لا استطيع تجريب الاكواد والتحقق من محتوى الملمفات .. نفس المشملة مذكورة في سؤال أرفقته مع اجابة سابقة 

من الأفضل فصل عملية تبديل اللغة و عملها ب AJAX فهذا يحل المشكلة.

 

اعطني تلميح لكيفية عملها بالاجاكس؟

هل انقل قيم ازرار تبديل اللغه بالاجاكس الى نفس صفحة المعالجة  lang.php ؟

وهل سيتم ارجاع data فى حالة success

هكذا

success: function(data){                             
                    $('.div').html(data);
                     }

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 18 دقائق مضت قال Our World عالمنا:

اعطني تلميح لكيفية عملها بالاجاكس؟

هل انقل قيم ازرار تبديل اللغه بالاجاكس الى نفس صفحة المعالجة  lang.php ؟

وهل سيتم ارجاع data فى حالة success

هكذا

success: function(data){                             
                    $('.div').html(data);
                     }

مالذي تعيده صفحة اللغات؟

يفترض أن تعيد فقط مصفوفة بالكلمات و ترجمتها..

برأيي تعديل اللغة ضمن الجلسة session يبنى عليه كل شيء.

لا أعلم كيفية بناءك للمشروع، ولكن ما أنصح به هو تعلم إطار عمل مثل لارافل، للمشروع هيكلية واضحة و فصل اعتماديات جيد و قوة كييرة في إدارة المنكق و فصل المكونات و غيرها.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 34 دقائق مضت قال Wael Aljamal:

مالذي تعيده صفحة اللغات؟

يفترض أن تعيد فقط مصفوفة بالكلمات و ترجمتها..

برأيي تعديل اللغة ضمن الجلسة session يبنى عليه كل شيء.

لا أعلم كيفية بناءك للمشروع، ولكن ما أنصح به هو تعلم إطار عمل مثل لارافل، للمشروع هيكلية واضحة و فصل اعتماديات جيد و قوة كييرة في إدارة المنكق و فصل المكونات و غيرها.

 

تعلم اطار جديد يحتاج لشهر على الاقل.. اذا شئت ..أرسل لك مزيد من الاكواد للوقوف على سبب  المشكلة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 21 ساعات قال Our World عالمنا:

تعلم اطار جديد يحتاج لشهر على الاقل.. اذا شئت ..أرسل لك مزيد من الاكواد للوقوف على سبب  المشكلة

أحبذ ترك موضوع إعادة التوجيه لنفس الصفحة السابقة في ملف تغيير اللغة،

وملف تغيير اللغة فقط يعدل اللغة في الجلسة، و يتم تضمين ملف اللغة لكل صفحة أخرى.

ملف اللغة يجب ألا يحوي على HTML فقط مصفوفة ترابطية بالكلمات المترجمة.

  • تعلم إطار عمل أفضل للمستقبل
  •  
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...