2012-12-29 19 views
5

मैं एक सोशल नेटवर्क प्रकार साइट बना रहा हूं, जहां उपयोगकर्ता अपने आइटम को रेट करने के लिए अपलोड कर सकते हैं। हालांकि, मैं साइट को निर्धारित करने के तरीके को बेहतर बनाने की कोशिश कर रहा हूं, इसलिए उपयोगकर्ता एक नया आइटम डालने के बाद स्वचालित रूप से पृष्ठों को उत्पन्न करना चाहता हूं।PHP स्वचालित रूप से नए पृष्ठ उत्पन्न करें

<form action="add.php" method="post" autocomplete="on" enctype="multipart/form-data" action="<?php echo     $_SERVER['PHP_SELF']; ?>" method="POST" id="pic"> 
    <p> <label for="jname" class="iconic user"> Name of Jam <span class="required">*</span></label> <input type="text" name="jname" id="jname" value="<?php if (isset($_POST['jname'])) echo $_POST['jname']; ?>" required="required" placeholder="Input your Name of Jam here" /> </p> 

    <p> <select name="jtype" id="jtype" value="<?php if (isset($_POST['jtype'])) echo $_POST['jtype']; ?>" required="required"> 
      <option value="jam">Jam</option> 
      <option value="jelly">Jelly</option> 
      <option value="marmalade">Marmalade</option> 
      <option value="preserve">Preserve</option> 
     </select> </p> 

    <p> <label for="producer" class="iconic user"> Jam Producer <span class="required">*</span></label>  <input type="text" name="producer" id="producer" value="<?php if (isset($_POST['producer'])) echo $_POST['producer']; ?>" required="required" placeholder="Input the producer of the Jam here" /> </p> 
    Upload a picture of your jam: </br> </br> <input name="userfile" type="file" /> </br> 
    <input type="submit" name="submit" value="Register" />  
    <input type="hidden" name="submitted" value="TRUE" /> 

</form> 

जब फ़ॉर्म सबमिट किया जाता है, मैं तो यह है कि नए उपयोगकर्ता बनाए गए आइटम के लिए एक नया पृष्ठ उत्पन्न करना चाहते हैं: add.php पेज निम्नलिखित रूप है। क्या ऐसा करने का एक आसान तरीका है?

चीयर्स

+1

आपने क्या प्रयास किया है? क्या आप एक नई फाइल बनाई चाहते हैं?या डेटाबेस प्रविष्टि के बारे में कैसे? –

उत्तर

7

आपको प्रत्येक आइटम के लिए वास्तव में 'नया' पृष्ठ बनाना नहीं है।

आप इस जानकारी को डेटाबेस में सहेज सकते हैं (उदाहरण के लिए mysql)।

तो फिर तुम एक और php फ़ाइल बनाने, 'item.php' कहते हैं और इतने तरह mysql डेटाबेस से अलग प्रविष्टियों पहुंच सकता है:

item.php आईडी = 1

+0

ठीक है, इसलिए मेरे डेटाबेस में प्रत्येक आइटम आईडी उत्पन्न करता है, और मैंने एक item.php पृष्ठ बनाया है। फिर मैं उस आईडी को उस पृष्ठ से जोड़ने के बारे में कैसे जा सकता हूं? आइटम 1 पृष्ठ में सूचीबद्ध हैं, और फिर मैं एक पर क्लिक करने में सक्षम होना चाहता हूं, और यह संबंधित आईडी वाले आइटम के साथ नया पृष्ठ लोड करता है। क्या कोई ट्यूटोरियल ऑनलाइन है, क्या आप देख सकते हैं? चीयर्स – Bic1245

+0

ऑनलाइन उपलब्ध बहुत सारे ट्यूटोरियल हैं, आप "शुरुआती लोगों के लिए php mysql" googling का प्रयास कर सकते हैं, लेकिन जैसा कि मिडपार्का ने सुझाव दिया है कि मैं गंभीरता से आपको कुछ पुस्तक में निवेश करने की सलाह देता हूं। इस तरह आप यहां प्रश्न पूछकर बहुत तेज़ी से सीखने में सक्षम होंगे :) –

+0

बहुत सी साइटें इस तकनीक का उपयोग कर रही हैं। तो आप आईडी var के अनुसार प्रदर्शित कर सकते हैं। इसलिए पृष्ठ वास्तविक रूप से समान हैं (उदा। समान लेआउट) लेकिन सामग्री अलग है। – user3522940

2

आमतौर पर ऐसी चीजों के लिए कोई नई पृष्ठ पीढ़ी नहीं होती है। आपको एक टेम्पलेट बनाना चाहिए और अन्य स्रोतों (जैसे एक एक्सएमएल फ़ाइल या डेटाबेस) से डायनामिक सूचनाएं लोड करना चाहिए ताकि यह एक बिल्कुल नया पृष्ठ दिखाई दे।

बस:

  1. देखें क्या प्रत्येक आइटम पेज आम
  2. में है जो
  3. एक डेटाबेस
  4. उपयोग से गतिशील जानकारियां (उदाहरण के लिए आइटम infos होती है) आम कोड शामिल एक टेम्पलेट को परिभाषित करें एचटीएमएल में एम्बेडेड एचटीएमएल

एक उदाहरण:

फेसबुक प्रत्येक उपयोगकर्ता पंजीकरण के लिए एक नया पृष्ठ नहीं बनाता है। एक HTML टेम्पलेट है जो प्रोफ़ाइल फ़ोटो की स्थिति, पदों की स्थिति और शैली, मित्र सूची की स्थिति और शैली और किसी भी प्रोफ़ाइल पृष्ठ पर सामान्य सामग्री को परिभाषित करता है, और उसके बाद आप इस तरह के एक पृष्ठ को कॉल करते समय अलग-अलग सूचनाएं लोड करते हैं मार्क, फ्रैंक, जेफ और इतने पर।

3

यह आमतौर पर ऐसी साइटें नहीं बनाई जाती हैं। (यानी: आप फ़ॉर्म सबमिशन के बिंदु पर भौतिक पृष्ठ स्वयं उत्पन्न नहीं करते हैं।) इसके बजाय, आप आम तौर पर डेटाबेस में फॉर्म डेटा संग्रहीत करेंगे और फिर यूआरएल के आधार पर इसे पुनर्प्राप्त/प्रदर्शित करेंगे - या तो यूआरएल को डीकोड करके एक "नियंत्रक" के माध्यम से या एक क्वेरी स्ट्रिंग चर का उपयोग करके ?producerid=x। इस डेटा का उपयोग टेम्पलेट को पॉप्युलेट करने के लिए किया जाएगा।

ईमानदार होने के लिए, मैं वास्तव में हाल ही में एक PHP पुस्तक (जहां तक ​​डेटाबेस पहुंच का संबंध है, आपको पीडीओ या माईएसक्लुली का उपयोग करना चाहिए) या कुछ ऑनलाइन ट्यूटोरियल्स का पालन करने की सलाह देना होगा - जबकि यह शुरू में ऐसा प्रतीत हो सकता है प्रगति का सार्थक रूप नहीं होगा, यह लंबे समय तक पर्याप्त लाभांश का भुगतान करने की संभावना है।

2

सबसे अच्छा और कुशल करने के लिए तरीका है? यह डेटाबेस को डेटा में संग्रहीत करना है और जब भी उपयोगकर्ता विशिष्ट आइटम पर क्लिक करता है तो उसे पुनर्प्राप्त करना होता है। एक बात यह है कि, यदि आपकी योजना का हिस्सा Google खोज इंजन द्वारा आपकी साइट को सुलभ बनाना है, तो आपको व्यक्तिगत वेब पेज जेनरेट करना होगा ... क्योंकि, google केवल एक वेब क्रॉलर है ... यह mysql या अन्य डेटाबेस में नहीं जा सकता ।

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