php - कोडइग्निटर-दृश्य में किसी अन्य पृष्ठ से लिंक करने का सही तरीका



codeigniter anchor (5)

मैं सोच रहा था कि कोई मुझे किसी अन्य पृष्ठ से किसी दृश्य में जोड़ने का सही तरीका बता सकता है।

क्या इसके लिए कोई फंक्शन है या यह सिर्फ सामान्य है

चीयर्स,


Answers

कोडइग्निटर जैसे एंकर टैग का उपयोग करना सबसे अच्छा और आसान तरीका है।

<?php 
    $this->load->helper('url'); 
    echo anchor('name_of_controller_file/function_name_if_any', 'Sign Out', array('class' => '', 'id' => '')); 
?>

विवरण के लिए https://www.codeigniter.com/user_guide/helpers/url_helper.html देखें

यह निश्चित रूप से काम करेगा।


<a href="<?php echo site_url('controller/function'); ?>Compose</a>

<a href="<?php echo site_url('controller/function'); ?>Inbox</a>

<a href="<?php echo site_url('controller/function'); ?>Outbox</a>

<a href="<?php echo site_url('controller/function'); ?>logout</a>

<a href="<?php echo site_url('controller/function'); ?>logout</a>

आप इसे कम करने के लिए PHP शॉर्ट टैग का भी उपयोग कर सकते हैं। यहाँ एक उदाहरण है

<a href="<?= site_url('controller/function'); ?>Contacts</a>

या सीआई के एंकर समारोह में निर्मित का उपयोग करें।


मुझे लगता है कि आप अपने आवेदन के भीतर "आंतरिक रूप से" अर्थ हैं।

आप अपना स्वयं का <a> टैग बना सकते हैं और इस तरह href में यूआरएल डाल सकते हैं

<a href="<?php echo site_url('controller/function/uri') ?>">Link</a>

या आप एक <a> टैग उत्पन्न करने के लिए इस तरह यूआरएल सहायक का उपयोग कर सकते हैं

anchor(uri segments, text, attributes)

तो ... इसका उपयोग करने के लिए ...

<?php echo anchor('controller/function/uri', 'Link', 'class="link-class"') ?>

और वह उत्पन्न होगा

<a href="http://domain.com/index.php/controller/function/uri" class="link-class">Link</a>

अतिरिक्त टिप्पणी के लिए सवाल

मैं अपने पहले उदाहरण का उपयोग करूंगा

इसलिए...

<a href="<?php echo site_url('controller/function') ?>"><img src="<?php echo base_url() ?>img/path/file.jpg" /></a>

छवियों (और अन्य संपत्तियों) के लिए मैं php के भीतर फ़ाइल पथ नहीं डालूंगा, मैं बस base_url () को प्रतिबिंबित करता हूं और फिर सामान्य रूप से पथ जोड़ता हूं।


चेतावनी: हेडर जानकारी संशोधित नहीं कर सकता - हेडर पहले ही भेजे गए हैं

ऐसा होता है जब आपकी स्क्रिप्ट क्लाइंट को HTTP शीर्षलेख भेजने की कोशिश करती है लेकिन पहले से ही आउटपुट पहले से ही था, जिसके परिणामस्वरूप हेडर क्लाइंट को पहले से ही भेजे जा सकते थे।

यह एक E_WARNING - E_WARNING और यह स्क्रिप्ट को नहीं रोक पाएगा।

एक सामान्य उदाहरण इस तरह एक टेम्पलेट फ़ाइल होगी:

<html>
    <?php session_start(); ?>
    <head><title>My Page</title>
</html>
...

session_start() फ़ंक्शन क्लाइंट को सत्र कुकी के साथ शीर्षलेख भेजने का प्रयास करेगा। लेकिन जब PHP ने आउटपुट स्ट्रीम में <html> तत्व लिखा था तो PHP ने पहले से ही हेडर भेजे थे। आपको session_start() को शीर्ष पर ले जाना होगा।

चेतावनी ट्रिगर करने वाले कोड से पहले लाइनों के माध्यम से जाकर इसे हल कर सकते हैं और यह जांच सकते हैं कि यह कहां आउटपुट करता है। उस कोड से पहले कोड भेजने वाले किसी हेडर को ले जाएं।

PHP के बंद होने के बाद अक्सर अनदेखा आउटपुट नई लाइनें होती है ?> । इसे छोड़ने के लिए एक मानक अभ्यास माना जाता है ?> जब यह फ़ाइल में आखिरी बात है। इसी प्रकार, इस चेतावनी के लिए एक और आम कारण यह है कि जब <?php पास एक खाली स्थान, रेखा या अदृश्य चरित्र होता है, जिससे वेबसर्वर हेडर और व्हाइटस्पेस / न्यूलाइन भेजता है, इस प्रकार PHP PHP पार्सिंग शुरू करने में सक्षम नहीं होगा कोई हेडर सबमिट करने के लिए।

यदि आपकी फ़ाइल में एक से अधिक <?php ... ?> कोड ब्लॉक है, तो आपके बीच कोई रिक्त स्थान नहीं होना चाहिए। (नोट: यदि आपके पास कोड था जो स्वचालित रूप से बनाया गया था तो आपके पास एकाधिक ब्लॉक हो सकते हैं)

यह भी सुनिश्चित करें कि आपके कोड में कोई बाइट ऑर्डर मार्क नहीं है, उदाहरण के लिए जब स्क्रिप्ट का एन्कोडिंग बीओएम के साथ यूटीएफ -8 है।

संबंधित सवाल:





php codeigniter anchor