2010-01-30 20 views
5

तो मैं इस पंजीकरण स्क्रिप्ट है:MySQL डेटाबेस तालिका में प्रपत्र डेटा सम्मिलित करने के लिए कैसे

HTML:

<form action="register.php" method="POST"> 
    <label>Username:</label> <input type="text" name="username" /><br /> 
    <label>Password:</label> <input type="text" name="password" /><br /> 

    <label>Gender:</label> 
    <select name="gender"> 
     <optgroup label="genderset"> 
     <option value="Male">Male</option> 
     <option value="Female">Female</option> 
     <option value="Hermaphrodite">Hermaphrodite</option> 
     <option value="Not Sure!!!">Not Sure!!!</option> 
     </optgroup> 
    </select><br /> 
<input type="submit" value="Register" /> 
</form> 

PHP/एसक्यूएल:

<?php 

$username = $_POST['username']; 
$password = $_POST['password']; 
$gender = $_POST['gender']; 

mysql_query("INSERT INTO registration_info (username, password, gender) VALUES ('$username', '$password', '$gender') 
") 

?> 

समस्या यह है, उपयोगकर्ता नाम और पासवर्ड बस "register_info" तालिका में डाला जाता है ठीक है। लेकिन चयन ड्रॉप डाउन मेनू से लिंग इनपुट नहीं करता है। क्या कोई मुझे बता सकता है कि इसे कैसे ठीक किया जाए, धन्यवाद।

+0

कभी भी कभी भी इस तरह की क्वेरी में फॉर्म पैरामीटर डालें। इसके बजाय बाइंड पैरामीटर (http://uk.php.net/manual/en/mysqli.prepare.php) आज़माएं –

+0

हाँ, मुझे पता है कि यह बिल्कुल सुरक्षित नहीं है, मैं केवल बुनियादी अभ्यास कर रहा हूं, यह स्क्रिप्ट कभी नहीं जाएगी लाइन पर :) – Richard

+2

आप print_r ($ _ POST) करना चाहते हैं और देख सकते हैं कि आपकी स्क्रिप्ट में डेटा कैसा आ रहा है, यह डीबग करने में आसान होगा। – Erik

उत्तर

0

आपने किसी भी विकल्प को कोई मान नहीं दिया है, इसलिए केवल एक खाली स्ट्रिंग डाली जाती है।

+0

क्षमा करें, मैं ऐसा करना भूल गया जब मैं यहां लिपि को फिर से लिखता हूं, मूल में मेरे पास प्रत्येक विकल्प के अंदर मूल्य होते हैं, और यह अभी भी काम नहीं करता है। – Richard

0

आपको HTML में सूची आइटम में मूल्य विशेषता सेट करने की आवश्यकता है।

उदा

<option value="Male">Male</option> 
+0

क्षमा करें, मैं ऐसा करना भूल गया जब मैं यहां लिपि को फिर से लिखता हूं, मूल में मेरे पास प्रत्येक विकल्प के अंदर मूल्य होते हैं, और यह अभी भी काम नहीं करता है। – Richard

0
  1. आप कोई password इनपुट यहां की है।
  2. आपका genderselect box के विकल्पों में कोई मूल्य नहीं है।
  3. उपयोग mysql_escape_string कम से कम

    $ उपयोगकर्ता नाम = mysql_escape_string ($ _ पोस्ट [ 'उपयोगकर्ता नाम']);

या यदि आप int मूल्य को छोड़कर int को पार्स।

$id = (int) $_POST['id']; 
0

< php गूंज var_dump ($ _ पोस्ट [ 'लिंग']); ? >

क्या यह आपको कुछ बताता है? हो सकता है कि आपका लिंग डेटाटाइप (आपकी तालिका में) जो आपने डाला है उसके अनुरूप नहीं है? शायद यह एक ईएनएम ('एम', 'एफ') उदाहरण के लिए है।

1

जांच डेटाबेस में डेटा-प्रकार, एक बेमेल

+0

मैन्युअल रूप से phpmyadmin के माध्यम से क्वेरी चलाने की कोशिश करें? –

-1

एक चर बनाएं कहते हैं, php फ़ाइल में $ Gend हो सकता है।

फिर,

$ Gend = $ _ पोस्ट [ 'लिंग'];

फिर, आगे बढ़ना के साथ:

mysql_query ("registration_info (उपयोगकर्ता नाम, पासवर्ड, लिंग) मूल्यों ('$ उपयोगकर्ता नाम', '$ पासवर्ड', '$ Gend') में डालने");

इसे आजमाएं।

+0

यह सवाल का जवाब नहीं देता है। यह उपलब्ध कोड में ओपी से पहले से अलग नहीं है। – Tristan

1

यह एक प्रयास करें यदि आप डेटाबेस में पूर्णांक के रूप में लिंग क्षेत्र ले लिया है

<select name="gender"> 
    <optgroup label="genderset"> 
    <option value="1">Male</option> 
    <option value="2">Female</option> 
    <option value="3">Hermaphrodite</option> 
    <option value="4">Not Sure!!!</option> 
    </optgroup> 
</select> 

फिर चयनित मूल्य डेटाबेस में डाला जाता है

-1

अपने प्रश्न के लिए दो विकल्प हैं: -

1) If you want to store the gender value in your database then change the datatype of gender field to varchar and then try again 

2) If your gender field is integer in database then you have to make changes in select option value like following 

<select name="gender"> 
    <optgroup label="genderset"> 
    <option value="1">Male</option> 
    <option value="2">Female</option> 
    <option value="3">Hermaphrodite</option> 
    <option value="4">Not Sure!!!</option> 
    </optgroup> 
</select> 

दूसरा विकल्प @ एसएनएए सुझाव के समान है।

यह आपकी मदद कर सकता है।

+0

क्यों वोट नीचे ?? –

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

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