मैंने वास्तव में आपकी स्क्रिप्ट लीं, उन्हें अपने सर्वर पर लोड किया, डेटाबेस तालिका बनाई और स्क्रिप्ट का परीक्षण किया।
प्रति सबमिशन केवल एक पंक्ति डाली जा रही है।
आपकी स्क्रिप्ट ठीक से काम कर रही है।
हालाँकि, आपकी परीक्षण प्रक्रिया में एक दोष है।
मैंने फायरबग कंसोल की भी जांच की और AJAX कॉल अपेक्षानुसार काम कर रहा है।
जब तक आपके पास अन्य निदान न हों, मुझे नहीं लगता कि मैं आपकी और मदद कर सकूंगा।
बग अलर्ट
आपके कोड में एक बग है जो आने वाले वर्षों में आपके जीवन में अत्यधिक दुःख का कारण बनेगा...
if($stmt){
echo "thank you .we will be in touch soon";
}
else{
echo "there was an error. try again later.";
}
यह if
क्वेरी निष्पादित होने के बाद से कथन हमेशा सत्य का मूल्यांकन करेगा (जब तक कि निश्चित रूप से, MySQL नहीं चल रहा है)।
आपका इरादा यह देखना है कि क्या इंसर्ट सफल हुआ और उसके लिए आपको यह जांचना होगा:
if($stmt->affected_rows){...}
$stmt->affected_rows
विफलता पर -1 या सफलता पर +1 लौटाएगा।
डिबगिंग रणनीतियां
(1) टाइमस्टैम्प के साथ अपने में एक अतिरिक्त फ़ील्ड जोड़ें ताकि आप देख सकें कि रिकॉर्ड कब डाले जाते हैं। यह आपको इस बारे में अधिक जानकारी देगा कि अंदर क्या हो रहा है।
(2) अपनी तालिका खाली करें और अपना कोड फिर से आज़माएँ। आप सोच सकते हैं कि आपको कई इंसर्ट मिल रहे हैं लेकिन ऐसा भी हो सकता है कि आपने सबमिट बटन को 4 बार हिट किया हो।