2009-01-08 17 views
18

मेरे पास एक डेटाबेस है जो प्रत्येक घर के निवासियों को एक निश्चित सड़क पर रखता है। मेरे पास 'होम व्यू' PHP वेब पेज है जो 'पोस्ट' का उपयोग करते हुए घर नंबर दिए जाने पर एक व्यक्तिगत घर और निवासियों को प्रदर्शित कर सकता है। मेरे पास 'स्ट्रीट व्यू' वेब पेज भी है जो घरों की एक सूची देता है। मैं क्या जानना चाहता हूं कि क्या आपके पास सड़क दृश्य पर लिंक हो सकते हैं जो घर के दृश्य से लिंक होगा और प्रत्येक के लिए एक फॉर्म स्थापित किए बिना घर नंबर पोस्ट करेगा?आप एक लिंक के साथ डेटा कैसे पोस्ट करते हैं

सादर

उत्तर

11

मुझे लगता है कि प्रत्येक घर अपनी मेज में संग्रहीत होता है और इसमें 'आईडी' फ़ील्ड होता है, जैसे घर आईडी। तो जब आप घरों के माध्यम से लूप और उन्हें प्रदर्शित करते हैं, आप कुछ इस तरह कर सकता है:

<a href="house.php?id=<?php echo $house_id;?>"> 
    <?php echo $house_name;?> 
</a> 

फिर house.php में, आप $_GET['id'] का उपयोग कर घर आईडी मिलेगा, is_numeric() का उपयोग कर उसे सत्यापित करने और फिर अपनी जानकारी प्रदर्शित करते हैं। में streeview.php ऐसा लिंक बनाने

isset($_POST['houseVar']) ? $house = $_POST['houseVar'] : $house = $_GET['houseVar']

और:

+10

सवाल विशेष रूप से पोस्ट – Menasheh

+2

कहते हैं कैसे विधि समाधान पाएं देते आ स्वीकार किया जाता है, जहां यह स्पष्ट रूप से पोस्ट विधि –

3

मैं सिर्फ क्वेरी स्ट्रिंग में मान का उपयोग अगले पृष्ठ पर आवश्यक जानकारी पारित करने के लिए होगा।

7

आप <a href="some_script.php">some_script</a>

द्वारा पोस्ट HTTP अनुरोध कर सकते हैं नहीं बस अपने house.php खोलते हैं, जहां $house = $_POST['houseVar'] है उस में खोजने के लिए और के लिए इसे बदल :

<a href="house.php?houseVar=$houseNum"></a>

या कुछ और। मैं सिर्फ आपकी फाइलों और इसके अंदर क्या नहीं जानता।

39

आप प्राप्त करने के बजाय पोस्ट का उपयोग कर डेटा पास करना चाहते हैं, तो आप यह PHP और जावास्क्रिप्ट के संयोजन का उपयोग, इस तरह कर सकते हैं:

function formSubmit(house_number) 
{ 
    document.forms[0].house_number.value = house_number; 
    document.forms[0].submit(); 
} 

फिर PHP में आप मकान जैसी नंबर के माध्यम से पाश, और जावास्क्रिप्ट समारोह के लिए लिंक बनाने के लिए, इस तरह:

<form action="house.php" method="POST"> 
<input type="hidden" name="house_number" value="-1"> 

<?php 
foreach ($houses as $id => name) 
{ 
    echo "<a href=\"javascript:formSubmit($id);\">$name</a>\n"; 
} 
?> 
</form> 

इस तरह आप केवल एक प्रकार जिसका छिपा चर राशि (ओं) को किस लिंक पर क्लिक करें अनुसार संशोधित मिलता है। फिर जावास्क्रिप्ट फॉर्म प्रस्तुत करता है।

8

यह एक पुराना धागा है, लेकिन अगर किसी के पास आता है तो मुझे लगता है कि सबसे प्रत्यक्ष समाधान सीएसएस का उपयोग पारंपरिक रूप से एंकर-लिंक की तरह दिखने के लिए करना है।

@ben सही है आप एक लिंक के साथ एक पोस्ट भेजने के लिए PHP और जावास्क्रिप्ट का उपयोग कर सकते हैं, लेकिन पूछें कि जेएस क्या करता है - अनिवार्य रूप से यह शैली = 'डिस्प्ले: कोई भी' इनपुट/टेक्स्ट लाइन के साथ एक फॉर्म बनाता है मूल्य = 'कुछ' के साथ और फिर इसे प्रस्तुत करता है।

हालांकि आप इसे एक फॉर्म बनाकर छोड़ सकते हैं। इनपुट शैली/टेक्स्ट लाइनों पर सेटिंग शैली = 'डिस्प्ले: कोई नहीं' (ऊपर के रूप में फॉर्म नहीं) और उसके बाद बटन को सामान्य लिंक की तरह दिखने के लिए सीएसएस का उपयोग करना।

पीएचपी कक्षा में

,

फिर = "view_form" सेट सीएसएस आईडी में:

यहाँ एक उदाहरण मैं का उपयोग है कि "display: inline;" और सीएसएस आईडी = "view_button" में कुछ इस तरह सेट किया गया है: "पृष्ठभूमि: कोई नहीं; सीमा: कोई नहीं; रंग: #fff; कर्सर: सूचक"

+0

अच्छा बिंदु, शायद उपयोग करने के लिए सबसे प्रभावी लेकिन निश्चित रूप से आसान तरीका नहीं है। –

0

हमें सबके लिए सब कुछ आसान बनाना चाहिए क्योंकि आप बस जेएस को जोड़ सकते हैं PHP PHP और जेएस का संयोजन बहुत आसान है।

$house_number = HOUSE_NUMBER; 
echo "<script type='text/javascript'>document.forms[0].house_number.value = $house_number; document.forms[0].submit();</script>"; 

या कुछ हद तक एक सुरक्षित तरीका

$house_number = HOUSE_NUMBER; 
echo "<script type='text/javascript'>document.forms[0].house_number.value = " . $house_number . "; document.forms[0].submit();</script>"; 
संबंधित मुद्दे

 संबंधित मुद्दे