سؤال

ولدي الآن هو اقامة بحيث عندما يذهب الناس إلى صفحة "شكرا" بعد ملء استمارة، ويذهبون إلى صفحة التي تقول:

   thanks for coming <a href="<?php echo $_SERVER['HTTP_REFERER'] ?>here's a link back to where you came from</a>

ما أريده هو أن نقول:

   thanks for coming <a href="<?php echo $_SERVER['HTTP_REFERER'] ?>here's a link back to <?php echo TITLE OF REFERRING PAGE ?></a>

هل هناك طريقة بسيطة للقيام بذلك؟

هل كانت مفيدة؟

المحلول

وأبسط طريقة هي لتمرير عنوان الصفحة كمتغير الدورة:

<?php

  $_Session["referrerTitle"] = $pageTitle;

 ?>

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

وبعد ذلك في الرابط:

<p>   thanks for coming <a href="<?= $_SERVER['HTTP_REFERER']"?>here's a link back to <?= $_Session["referrerTitle"] ?></a></p>

نصائح أخرى

ووضع نوع المدخلات مخفي في النموذج الخاص بك، مع عنوان الصفحة كقيمة. ثم استخدم القيمة مخبأة المقدمة.

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

وبعد ذلك في الصفحة شكرا لك، هل يمكن قراءة ملفات تعريف الارتباط التي تقدمها طلب HTTP، وإدراج ذلك في HTML.

وبالمثل، هل يمكن أن تتبع معلومات جلسة العمل، وبالتالي فإن الكوكي لا يحمل فعلا لقب، ولكن بدلا من ذلك عقد معرف فريد لكل زائر. يمكن أن قاعدة البيانات الخاصة بك ثم تعقد عنوان الصفحة الأخيرة لكل معرف. هذا هو جزء من مبالغة، على ما طلبتم، ولكن إذا كنت بحاجة إلى تتبع بيانات الجلسة على أي حال، قد يكون أكثر نظافة.

وكلا حلول تعتمد على متصفح المستخدم تدعم الكوكيز.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top