Submit form values using controller and model in magento frontend moduleAjax form submit: Magento redirects to controller instead processing responseHow to create a frontend form using Ultimate Module CreatorMagento 2 simple form submitHow to create front-end custom form with one textbox and submit button in magentoRedirect Form Action to Controller (404 error on form submit)Magento 2: Admin Listing Submit Form with ValuesSubmit Files in Admin Form - Magento 1.7Submit custom form using Popup modal in Magento 2form submit action to a controllerInsert form values in Database. Magento 1.9
Golf the smallest circle!
can’t run a function against EXEC
Why does the numerical solution of an ODE move away from an unstable equilibrium?
The use of "I" and "we" used in the same sentence and other questions
When to apply Lorentz transformations and laws of time dilations and length contractions: explanations
Cross over of arrows in a complex diagram
Did Chinese school textbook maps (c. 1951) "depict China as stretching even into the central Asian republics"?
Bash echo $-1 prints hb1. Why?
Do sudoku answers always have a single minimal clue set?
Analog is Obtuse!
Reverse of diffraction
Do 3D printers really reach 50 micron (0.050mm) accuracy?
Why is Madam Hooch not a professor?
How to convert object fill in to fine lines?
Zombie diet, why humans?
Children's short story about material that accelerates away from gravity
Row to remove the dotted white border around focused button text
How can I create ribbons like these in Microsoft word 2010?
Averting Real Women Don’t Wear Dresses
Is there any set of 2-6 notes that doesn't have a chord name?
Can a US President have someone sent to prison?
Is it bad to describe a character long after their introduction?
Set vertical spacing between two particular items
“Transitive verb” + interrupter+ “object”?
Submit form values using controller and model in magento frontend module
Ajax form submit: Magento redirects to controller instead processing responseHow to create a frontend form using Ultimate Module CreatorMagento 2 simple form submitHow to create front-end custom form with one textbox and submit button in magentoRedirect Form Action to Controller (404 error on form submit)Magento 2: Admin Listing Submit Form with ValuesSubmit Files in Admin Form - Magento 1.7Submit custom form using Popup modal in Magento 2form submit action to a controllerInsert form values in Database. Magento 1.9
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I am building an module and need to process a form but am having troubles getting the variables to POST and am just redirected to the same page. The form looks like this :
<form id="orderapproval-item-form" class="orderapproval-hidden" action="<?php echo $this->getUrl('orderapproval/customercart/remarksdecline');?>" method="post">
<?php echo $this->getBlockHtml('formkey'); ?>
<input type="text" name="message" class="orderapproval-disabled" value="<?php echo $this->__('Enter decline reason'); ?>" />
<input type="submit" value="<?php echo $this->__('Decline'); ?>" />
</form>
i have controller
public function remarksdeclineAction()
$message = $this->getRequest()->getParam('message');
echo $message;
echo "hi";
exit();
now how to insert form value in table. anyone can help me
magento-1.9 database forms
add a comment |
I am building an module and need to process a form but am having troubles getting the variables to POST and am just redirected to the same page. The form looks like this :
<form id="orderapproval-item-form" class="orderapproval-hidden" action="<?php echo $this->getUrl('orderapproval/customercart/remarksdecline');?>" method="post">
<?php echo $this->getBlockHtml('formkey'); ?>
<input type="text" name="message" class="orderapproval-disabled" value="<?php echo $this->__('Enter decline reason'); ?>" />
<input type="submit" value="<?php echo $this->__('Decline'); ?>" />
</form>
i have controller
public function remarksdeclineAction()
$message = $this->getRequest()->getParam('message');
echo $message;
echo "hi";
exit();
now how to insert form value in table. anyone can help me
magento-1.9 database forms
@Qaisar Satti .. thanks for editing my question can you reply
– Sarvesh Tiwari
Dec 27 '16 at 11:23
add a comment |
I am building an module and need to process a form but am having troubles getting the variables to POST and am just redirected to the same page. The form looks like this :
<form id="orderapproval-item-form" class="orderapproval-hidden" action="<?php echo $this->getUrl('orderapproval/customercart/remarksdecline');?>" method="post">
<?php echo $this->getBlockHtml('formkey'); ?>
<input type="text" name="message" class="orderapproval-disabled" value="<?php echo $this->__('Enter decline reason'); ?>" />
<input type="submit" value="<?php echo $this->__('Decline'); ?>" />
</form>
i have controller
public function remarksdeclineAction()
$message = $this->getRequest()->getParam('message');
echo $message;
echo "hi";
exit();
now how to insert form value in table. anyone can help me
magento-1.9 database forms
I am building an module and need to process a form but am having troubles getting the variables to POST and am just redirected to the same page. The form looks like this :
<form id="orderapproval-item-form" class="orderapproval-hidden" action="<?php echo $this->getUrl('orderapproval/customercart/remarksdecline');?>" method="post">
<?php echo $this->getBlockHtml('formkey'); ?>
<input type="text" name="message" class="orderapproval-disabled" value="<?php echo $this->__('Enter decline reason'); ?>" />
<input type="submit" value="<?php echo $this->__('Decline'); ?>" />
</form>
i have controller
public function remarksdeclineAction()
$message = $this->getRequest()->getParam('message');
echo $message;
echo "hi";
exit();
now how to insert form value in table. anyone can help me
magento-1.9 database forms
magento-1.9 database forms
edited Dec 28 '16 at 5:28
Sarvesh Tiwari
asked Dec 27 '16 at 11:20
Sarvesh TiwariSarvesh Tiwari
4154 silver badges22 bronze badges
4154 silver badges22 bronze badges
@Qaisar Satti .. thanks for editing my question can you reply
– Sarvesh Tiwari
Dec 27 '16 at 11:23
add a comment |
@Qaisar Satti .. thanks for editing my question can you reply
– Sarvesh Tiwari
Dec 27 '16 at 11:23
@Qaisar Satti .. thanks for editing my question can you reply
– Sarvesh Tiwari
Dec 27 '16 at 11:23
@Qaisar Satti .. thanks for editing my question can you reply
– Sarvesh Tiwari
Dec 27 '16 at 11:23
add a comment |
2 Answers
2
active
oldest
votes
public function remarksdeclineAction()
$model = Mage::getModel('OrderApproval/process');
$message = $this->getRequest()->getParam('message');
$model->setMessage($message); //your table column name will be mmessage
$model->save();
echo $message;
echo "hi";
exit();
read this how models work
http://devdocs.magento.com/guides/m1x/magefordev/mage-for-dev-5.html
https://www.pierrefay.com/en/magento-training/model-database-tutorial.html
$model->setMessage($message); $message is my table column name
– Sarvesh Tiwari
Dec 27 '16 at 11:32
setMessage
inMessage
column name should bemessage
. ` $message` will be value
– Qaisar Satti
Dec 27 '16 at 11:34
sorry i did not get you setItemcomment($message) where itemcomment is column am i right
– Sarvesh Tiwari
Dec 27 '16 at 11:40
First letter will be capital of columm after set
– Qaisar Satti
Dec 27 '16 at 12:07
now i am using this function public function remarksdeclineAction() $model = Mage::getSingleton('OrderApproval/process'); $message = $this->getRequest()->getParam('message'); $model->setItemcomment( $this->getRequest()->getPost() ); $model->save(); echo $message; echo "hi"; exit();
– Sarvesh Tiwari
Dec 27 '16 at 12:12
|
show 4 more comments
<form id="orderapproval-item-form" class="orderapproval-hidden" action="<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?>" method="post">
<?php echo $this->getBlockHtml('formkey'); ?>
<input type="text" name="message" class="orderapproval-disabled" value="<?php echo $this->__('Enter decline reason'); ?>" />
<input type="submit" value="<?php echo $this->__('Decline'); ?>" />
</form>
Please check your redirection url in form action. add just need to set url in small char.
Thanks
now i put form url in small char but its still not working <?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline");?>
– Sarvesh Tiwari
Dec 27 '16 at 11:32
your controller call or not??
– Ajay Patel
Dec 27 '16 at 11:53
no controller is not calling
– Sarvesh Tiwari
Dec 27 '16 at 11:55
<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?> print this line
– Ajay Patel
Dec 27 '16 at 12:05
did not anything
– Sarvesh Tiwari
Dec 27 '16 at 12:09
|
show 12 more comments
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f152020%2fsubmit-form-values-using-controller-and-model-in-magento-frontend-module%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
public function remarksdeclineAction()
$model = Mage::getModel('OrderApproval/process');
$message = $this->getRequest()->getParam('message');
$model->setMessage($message); //your table column name will be mmessage
$model->save();
echo $message;
echo "hi";
exit();
read this how models work
http://devdocs.magento.com/guides/m1x/magefordev/mage-for-dev-5.html
https://www.pierrefay.com/en/magento-training/model-database-tutorial.html
$model->setMessage($message); $message is my table column name
– Sarvesh Tiwari
Dec 27 '16 at 11:32
setMessage
inMessage
column name should bemessage
. ` $message` will be value
– Qaisar Satti
Dec 27 '16 at 11:34
sorry i did not get you setItemcomment($message) where itemcomment is column am i right
– Sarvesh Tiwari
Dec 27 '16 at 11:40
First letter will be capital of columm after set
– Qaisar Satti
Dec 27 '16 at 12:07
now i am using this function public function remarksdeclineAction() $model = Mage::getSingleton('OrderApproval/process'); $message = $this->getRequest()->getParam('message'); $model->setItemcomment( $this->getRequest()->getPost() ); $model->save(); echo $message; echo "hi"; exit();
– Sarvesh Tiwari
Dec 27 '16 at 12:12
|
show 4 more comments
public function remarksdeclineAction()
$model = Mage::getModel('OrderApproval/process');
$message = $this->getRequest()->getParam('message');
$model->setMessage($message); //your table column name will be mmessage
$model->save();
echo $message;
echo "hi";
exit();
read this how models work
http://devdocs.magento.com/guides/m1x/magefordev/mage-for-dev-5.html
https://www.pierrefay.com/en/magento-training/model-database-tutorial.html
$model->setMessage($message); $message is my table column name
– Sarvesh Tiwari
Dec 27 '16 at 11:32
setMessage
inMessage
column name should bemessage
. ` $message` will be value
– Qaisar Satti
Dec 27 '16 at 11:34
sorry i did not get you setItemcomment($message) where itemcomment is column am i right
– Sarvesh Tiwari
Dec 27 '16 at 11:40
First letter will be capital of columm after set
– Qaisar Satti
Dec 27 '16 at 12:07
now i am using this function public function remarksdeclineAction() $model = Mage::getSingleton('OrderApproval/process'); $message = $this->getRequest()->getParam('message'); $model->setItemcomment( $this->getRequest()->getPost() ); $model->save(); echo $message; echo "hi"; exit();
– Sarvesh Tiwari
Dec 27 '16 at 12:12
|
show 4 more comments
public function remarksdeclineAction()
$model = Mage::getModel('OrderApproval/process');
$message = $this->getRequest()->getParam('message');
$model->setMessage($message); //your table column name will be mmessage
$model->save();
echo $message;
echo "hi";
exit();
read this how models work
http://devdocs.magento.com/guides/m1x/magefordev/mage-for-dev-5.html
https://www.pierrefay.com/en/magento-training/model-database-tutorial.html
public function remarksdeclineAction()
$model = Mage::getModel('OrderApproval/process');
$message = $this->getRequest()->getParam('message');
$model->setMessage($message); //your table column name will be mmessage
$model->save();
echo $message;
echo "hi";
exit();
read this how models work
http://devdocs.magento.com/guides/m1x/magefordev/mage-for-dev-5.html
https://www.pierrefay.com/en/magento-training/model-database-tutorial.html
answered Dec 27 '16 at 11:29
Qaisar SattiQaisar Satti
27.3k12 gold badges62 silver badges110 bronze badges
27.3k12 gold badges62 silver badges110 bronze badges
$model->setMessage($message); $message is my table column name
– Sarvesh Tiwari
Dec 27 '16 at 11:32
setMessage
inMessage
column name should bemessage
. ` $message` will be value
– Qaisar Satti
Dec 27 '16 at 11:34
sorry i did not get you setItemcomment($message) where itemcomment is column am i right
– Sarvesh Tiwari
Dec 27 '16 at 11:40
First letter will be capital of columm after set
– Qaisar Satti
Dec 27 '16 at 12:07
now i am using this function public function remarksdeclineAction() $model = Mage::getSingleton('OrderApproval/process'); $message = $this->getRequest()->getParam('message'); $model->setItemcomment( $this->getRequest()->getPost() ); $model->save(); echo $message; echo "hi"; exit();
– Sarvesh Tiwari
Dec 27 '16 at 12:12
|
show 4 more comments
$model->setMessage($message); $message is my table column name
– Sarvesh Tiwari
Dec 27 '16 at 11:32
setMessage
inMessage
column name should bemessage
. ` $message` will be value
– Qaisar Satti
Dec 27 '16 at 11:34
sorry i did not get you setItemcomment($message) where itemcomment is column am i right
– Sarvesh Tiwari
Dec 27 '16 at 11:40
First letter will be capital of columm after set
– Qaisar Satti
Dec 27 '16 at 12:07
now i am using this function public function remarksdeclineAction() $model = Mage::getSingleton('OrderApproval/process'); $message = $this->getRequest()->getParam('message'); $model->setItemcomment( $this->getRequest()->getPost() ); $model->save(); echo $message; echo "hi"; exit();
– Sarvesh Tiwari
Dec 27 '16 at 12:12
$model->setMessage($message); $message is my table column name
– Sarvesh Tiwari
Dec 27 '16 at 11:32
$model->setMessage($message); $message is my table column name
– Sarvesh Tiwari
Dec 27 '16 at 11:32
setMessage
in Message
column name should be message
. ` $message` will be value– Qaisar Satti
Dec 27 '16 at 11:34
setMessage
in Message
column name should be message
. ` $message` will be value– Qaisar Satti
Dec 27 '16 at 11:34
sorry i did not get you setItemcomment($message) where itemcomment is column am i right
– Sarvesh Tiwari
Dec 27 '16 at 11:40
sorry i did not get you setItemcomment($message) where itemcomment is column am i right
– Sarvesh Tiwari
Dec 27 '16 at 11:40
First letter will be capital of columm after set
– Qaisar Satti
Dec 27 '16 at 12:07
First letter will be capital of columm after set
– Qaisar Satti
Dec 27 '16 at 12:07
now i am using this function public function remarksdeclineAction() $model = Mage::getSingleton('OrderApproval/process'); $message = $this->getRequest()->getParam('message'); $model->setItemcomment( $this->getRequest()->getPost() ); $model->save(); echo $message; echo "hi"; exit();
– Sarvesh Tiwari
Dec 27 '16 at 12:12
now i am using this function public function remarksdeclineAction() $model = Mage::getSingleton('OrderApproval/process'); $message = $this->getRequest()->getParam('message'); $model->setItemcomment( $this->getRequest()->getPost() ); $model->save(); echo $message; echo "hi"; exit();
– Sarvesh Tiwari
Dec 27 '16 at 12:12
|
show 4 more comments
<form id="orderapproval-item-form" class="orderapproval-hidden" action="<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?>" method="post">
<?php echo $this->getBlockHtml('formkey'); ?>
<input type="text" name="message" class="orderapproval-disabled" value="<?php echo $this->__('Enter decline reason'); ?>" />
<input type="submit" value="<?php echo $this->__('Decline'); ?>" />
</form>
Please check your redirection url in form action. add just need to set url in small char.
Thanks
now i put form url in small char but its still not working <?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline");?>
– Sarvesh Tiwari
Dec 27 '16 at 11:32
your controller call or not??
– Ajay Patel
Dec 27 '16 at 11:53
no controller is not calling
– Sarvesh Tiwari
Dec 27 '16 at 11:55
<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?> print this line
– Ajay Patel
Dec 27 '16 at 12:05
did not anything
– Sarvesh Tiwari
Dec 27 '16 at 12:09
|
show 12 more comments
<form id="orderapproval-item-form" class="orderapproval-hidden" action="<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?>" method="post">
<?php echo $this->getBlockHtml('formkey'); ?>
<input type="text" name="message" class="orderapproval-disabled" value="<?php echo $this->__('Enter decline reason'); ?>" />
<input type="submit" value="<?php echo $this->__('Decline'); ?>" />
</form>
Please check your redirection url in form action. add just need to set url in small char.
Thanks
now i put form url in small char but its still not working <?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline");?>
– Sarvesh Tiwari
Dec 27 '16 at 11:32
your controller call or not??
– Ajay Patel
Dec 27 '16 at 11:53
no controller is not calling
– Sarvesh Tiwari
Dec 27 '16 at 11:55
<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?> print this line
– Ajay Patel
Dec 27 '16 at 12:05
did not anything
– Sarvesh Tiwari
Dec 27 '16 at 12:09
|
show 12 more comments
<form id="orderapproval-item-form" class="orderapproval-hidden" action="<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?>" method="post">
<?php echo $this->getBlockHtml('formkey'); ?>
<input type="text" name="message" class="orderapproval-disabled" value="<?php echo $this->__('Enter decline reason'); ?>" />
<input type="submit" value="<?php echo $this->__('Decline'); ?>" />
</form>
Please check your redirection url in form action. add just need to set url in small char.
Thanks
<form id="orderapproval-item-form" class="orderapproval-hidden" action="<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?>" method="post">
<?php echo $this->getBlockHtml('formkey'); ?>
<input type="text" name="message" class="orderapproval-disabled" value="<?php echo $this->__('Enter decline reason'); ?>" />
<input type="submit" value="<?php echo $this->__('Decline'); ?>" />
</form>
Please check your redirection url in form action. add just need to set url in small char.
Thanks
answered Dec 27 '16 at 11:29
Ajay PatelAjay Patel
1,0491 gold badge6 silver badges29 bronze badges
1,0491 gold badge6 silver badges29 bronze badges
now i put form url in small char but its still not working <?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline");?>
– Sarvesh Tiwari
Dec 27 '16 at 11:32
your controller call or not??
– Ajay Patel
Dec 27 '16 at 11:53
no controller is not calling
– Sarvesh Tiwari
Dec 27 '16 at 11:55
<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?> print this line
– Ajay Patel
Dec 27 '16 at 12:05
did not anything
– Sarvesh Tiwari
Dec 27 '16 at 12:09
|
show 12 more comments
now i put form url in small char but its still not working <?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline");?>
– Sarvesh Tiwari
Dec 27 '16 at 11:32
your controller call or not??
– Ajay Patel
Dec 27 '16 at 11:53
no controller is not calling
– Sarvesh Tiwari
Dec 27 '16 at 11:55
<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?> print this line
– Ajay Patel
Dec 27 '16 at 12:05
did not anything
– Sarvesh Tiwari
Dec 27 '16 at 12:09
now i put form url in small char but its still not working <?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline");?>
– Sarvesh Tiwari
Dec 27 '16 at 11:32
now i put form url in small char but its still not working <?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline");?>
– Sarvesh Tiwari
Dec 27 '16 at 11:32
your controller call or not??
– Ajay Patel
Dec 27 '16 at 11:53
your controller call or not??
– Ajay Patel
Dec 27 '16 at 11:53
no controller is not calling
– Sarvesh Tiwari
Dec 27 '16 at 11:55
no controller is not calling
– Sarvesh Tiwari
Dec 27 '16 at 11:55
<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?> print this line
– Ajay Patel
Dec 27 '16 at 12:05
<?php echo Mage::helper->getUrl("orderapproval/customercart/remarksdecline/");?> print this line
– Ajay Patel
Dec 27 '16 at 12:05
did not anything
– Sarvesh Tiwari
Dec 27 '16 at 12:09
did not anything
– Sarvesh Tiwari
Dec 27 '16 at 12:09
|
show 12 more comments
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f152020%2fsubmit-form-values-using-controller-and-model-in-magento-frontend-module%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
@Qaisar Satti .. thanks for editing my question can you reply
– Sarvesh Tiwari
Dec 27 '16 at 11:23