পুরো _P _POST পাওয়ার উপযুক্ত উপায় কী?


26

জুমলায়! 2.5.x আমি কেবল চালাতে পারি JRequest::get('post');কিন্তু জুমলাতে অবনমিত হিসাবে দেখছি JRequest! 3.x আমার ব্যবহার করা উচিত JInput

তাদের মুহূর্তে এই কোডটি আমি পুরোটি পেতে ব্যবহার করছি $_POST:

$app = JFactory::getApplication();
$postData = $app->input->getArray(array_flip(array_keys($_POST)));

তবে এটি বরং জটিল বলে মনে হচ্ছে এবং আমি যদি $app->input->set();মনে করি যে এর চেয়ে আরও ভাল উপায় থাকবে তবে আমি ইস্যুগুলিতে চলে যাই?

এর আগে অনুসন্ধান করার আগে আমি লোকদের বলছিলাম যে আপনি চালাতে পারবেন

$app = JFactory::getApplication();
$postData = $app->input->post;

কিন্তু যখন আমি এটি চেষ্টা করেছিলাম তখন কেবলমাত্র JInputবস্তুর একটি উদাহরণ পেলাম ।


উত্তর:


31
$app = JFactory::getApplication();
$postData = $app->input->post;

যাওয়ার উপায় কী, আপনি একটি জিনপুট অবজেক্ট পাবেন এবং এটি জেআরকেস্টের মতো ব্যবহার করতে পারেন

$var = $postData->get('varname', 'defaultvalue', 'filter');

ফিল্টারটি 'ইনট', 'সেন্টিমিডি' বা আরও অনেকগুলি হতে পারে - সম্পূর্ণ তালিকাটি এই ফাংশনটিতে পাওয়া যাবে: https://github.com/joomla/joomla-cms/blob/a3df15f1ddad6d9051d53f939b6afd2f5fca60b7/libraries/joomla/filter/input .php # L138

আপনি যদি কেবল অ্যারে পছন্দ করেন তবে আপনি এটি করতে পারেন

$array = $app->input->post->getArray();

তবে আপনার ফিল্টারিং ছাড়াই ব্যবহারকারীর ডেটা অ্যাক্সেস করার এই স্টাইলটি এড়ানো উচিত ।


1
প্রায়শই আমাকে $_POSTযে ওয়ারগুলির দরকার তা নামগুলি না জেনে আমার পুরোটা পাওয়া দরকার, সেই কারণেই এই জাতীয় জিনিসটি ব্যবহার JInputকরা অনেক ক্ষেত্রে কার্যকর হয় না। এখনও একটি ভাল উত্তর যদিও।
স্পুঙ্কি

2
একটি এফওয়াইআই হিসাবে $app->input->post->getArray();এটি কেবল জুমলা ৩.২.০ এবং তার পরে বৈধ। এবং পূর্ববর্তী কোনও সংস্করণে (2.5 সহ) আপনাকে ব্যবহার করতে হবে$app->input->getArray($_POST)
জর্জ উইলসন

3

এটি সম্পাদন করার অন্য একটি উপায় বলে মনে হচ্ছে খালি অ্যারেটি কেবল পাস করা:

$app = JFactory::getApplication();
$postData = $app->input->getArray(array());

এটি JInputডেটা ভারে সমস্ত কিছু পুনরুদ্ধার করবে যেন আপনি সুপারটি অ্যাক্সেস করছেন $_REQUEST

এটি জুমলার কাজ করে না! JInputযদিও 2.5.x সংস্করণ ।


-3

আশা করি এটি কার্যকর হবে,

JRequest :: পেতে ( 'পোস্টে);

এটি আপনাকে পিএইচপি-তে সমতুল্য $ _POST থেকে ডেটা আনতে সহায়তা করবে।


2
প্রশ্নটি পরিষ্কারভাবে বলেছে যে এই পদ্ধতিটি অবচিত করা হয়েছে, সুতরাং ওপেন জিনপুট ব্যবহার করে আপডেট পদ্ধতিটি সন্ধান করছে।
ডেভিড ফ্রেটস

@ হ্যারাল্ড আপনি কি এই বিশেষ উত্তরটি আপনার বিশেষ সুযোগসুবিধা দিয়ে মুছে ফেলতে চান? এই ব্যবহারকারীর মনে হয় "অনেক আগে" চলে গেছে।
মিকম্যাকুসা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.