Missing $_POST data

Hi all,

Im hoping someone may be able to assist as Im a little perplexed as to why the following does work.

I cannot understand why $_POST is always empty in the controller. Using FirePHP I can see that the browser is sending the POST data

Parametersapplication/x-www-form-urlencoded

Tour[0][date] klj

Tour[0][postCode] lkj

Tour[0][soldOut] 0

Tour[0][streetName] lkj

Tour[0][streetNumber] lkj

Tour[0][suburb] lkj

Tour[0][ticketTable_ticke… 1

Tour[0][time] lkj

Tour[0][tourName] lj

btnSubmit Save

Source

Content-Type: application/x-www-form-urlencoded Content-Length: 286 Tour%5B0%5D%5Bdate%5D=klj&Tour%5B0%5D%5Btime%5D=lkj&Tour%5B0%5D%5BstreetNumber%5D=lkj&Tour%5B0%5D%5BstreetName%5D=lkj&Tour%5B0%5D%5Bsuburb%5D=lkj&Tour%5B0%5D%5BpostCode%5D=lkj&Tour%5B0%5D%5BtourName%5D=lj&Tour%5B0%5D%5BsoldOut%5D=0&Tour%5B0%5D%5BticketTable_ticketId%5D=1&btnSubmit=Save

I have a form and controller as per below

TourController.php

<?php

class TourController extends Controller {

private &#036;alias = array();


public &#036;tempTours = array();





public function getAlias() {


    return &#036;this-&gt;alias;


}





public function actionCreate() {





    &#036;firephp = FirePHP::getInstance(true);





    if (&#33;&#036;_GET['id'])


        throw new CHttpException('Missing Data', 'No id parameter has been specified');





    &#036;band = Band::model()-&gt;find('id=:id', array(':id' =&gt; &#036;_GET['id']));





    if (&#33;&#036;band)


        throw new CHttpException('Invalid Band', 'No such band or invalid band Id');








    if (&#33;isset(&#036;_POST['Tour']))


    {


        &#036;tickets = Ticket::model()-&gt;findAll('bandTable_id=:bandTable_id', array(':bandTable_id' =&gt; &#036;_GET['id']));


        &#036;ticketList = CHtml::listData(&#036;tickets, 'ticketId', 'ticketingURL');


    }





    &#036;firephp-&gt;log(var_dump(&#036;_POST));





    if (isset(&#036;_POST['Tour'])) {





        &#036;firephp-&gt;log('In tour list');








        &#036;tours = &#036;_POST['Tour'];





        foreach (&#036;tours as &#036;tour) {


            &#036;newTour = new Tour;


            &#036;newTour-&gt;bandTable_id = &#036;band-&gt;id;


            &#036;newTour-&gt;date = &#036;tour['date'];


            &#036;newTour-&gt;time = &#036;tour['time'];


            &#036;newTour-&gt;streetNumber = &#036;tour['streetNumber'];


            &#036;newTour-&gt;streetName = &#036;tour['streetName'];


            &#036;newTour-&gt;streetNumber = &#036;tour['streetNumber'];


            &#036;newTour-&gt;suburb = &#036;tour['suburb'];


            &#036;newTour-&gt;postCode = &#036;tour['postCode'];


            &#036;newTour-&gt;soldOut = &#036;tour['souldOut'];


            &#036;newTour-&gt;tourName = &#036;tour['tourName'];


            &#036;newTour-&gt;ticketTable_ticketId = &#036;tour['souticketTable_ticketIdldOut'];





            try {


                &#036;newTour-&gt;save();


            } catch (CDbException &#036;e) {


                throw new CHttpException('Cannot create tour for ' . &#036;band-&gt;name);


            }


        }


        &#036;this-&gt;redirect(array('tour/create&amp;id=' . &#036;band-&gt;id));


    }











    &#036;this-&gt;alias['header'] = 'Create Tour Information';


    &#036;this-&gt;render('create', array('band' =&gt; &#036;band, 'list' =&gt; &#036;ticketList));


}

}

create.php

<?php

$baseUrl = Yii::app()->baseUrl;

$cs = Yii::app()->getClientScript();

$cs->registerScriptFile($baseUrl . ‘/js/jquery-1.6.1.min.js’);

$cs->registerScriptFile($baseUrl . ‘/js/jquery-ui-1.8.14.custom.min.js’);

$cs->registerScriptFile($baseUrl . ‘/js/jquery.format.js’);

$cs->registerScriptFile($baseUrl . ‘/js/template.js’);

$cs->registerScriptFile($baseUrl . ‘/js/jquery.calculation.min.js’);

?>

<style>

textarea.template


{


    display: none;


}

</style>

<div class="grid_16 widget first">

&lt;div class=&quot;widget_title clearfix&quot;&gt;


    &lt;h2&gt; Create Touring Dates For Band &lt;?php echo &#036;band-&gt;name; ?&gt; &lt;/h2&gt;


&lt;/div&gt;





&lt;div class=&quot;widget_body&quot;&gt;


    &lt;div class=&quot;widget_content&quot;&gt;





        &lt;div class=&quot;widget_options clearfix&quot;&gt;





            &lt;p&gt;Please enter ticketing information below. Select new to create a new row&lt;/p&gt;





            &lt;?php


            &#036;form = &#036;this-&gt;beginWidget('CActiveForm', array(


                'id' =&gt; 'tour-form',


                'enableAjaxValidation' =&gt; false,


                    ));


            ?&gt;


            


            


    


            





            &lt;div class=&quot;panel&quot;&gt;


                


                &lt;table class=&quot;templateFrame grid&quot; cellspacing=&quot;0&quot;&gt;


                    &lt;thead class=&quot;templateHead&quot;&gt;


                        &lt;tr&gt;


                            &#60;&#33;-- These are the headings --&#62;


                            &lt;td&gt;


                                &lt;?php echo &#036;form-&gt;labelEx(Tour::model(), 'date'); ?&gt;


                            &lt;/td&gt;


                            &lt;td&gt;


                                &lt;?php echo &#036;form-&gt;labelEx(Tour::model(), 'time'); ?&gt;


                            &lt;/td&gt;


                            &lt;td&gt;


                                &lt;?php echo &#036;form-&gt;labelEx(Tour::model(), 'streetNumber'); ?&gt;


                            &lt;/td&gt;


                            &lt;td&gt;


                                &lt;?php echo &#036;form-&gt;labelEx(Tour::model(), 'streetName'); ?&gt;


                            &lt;/td&gt;


                            &lt;td&gt;


                                &lt;?php echo &#036;form-&gt;labelEx(Tour::model(), 'suburb'); ?&gt;


                            &lt;/td&gt;


                            &lt;td&gt;


                                &lt;?php echo &#036;form-&gt;labelEx(Tour::model(), 'postCode'); ?&gt;


                            &lt;/td&gt;


                            &lt;td&gt;


                                &lt;?php echo &#036;form-&gt;labelEx(Tour::model(), 'tourName'); ?&gt;


                            &lt;/td&gt;


                            &lt;td&gt;


                                &lt;?php echo &#036;form-&gt;labelEx(Tour::model(), 'soldOut'); ?&gt;


                            &lt;/td&gt;


                            &lt;td&gt;


                                &lt;?php echo 'Ticket URL'; ?&gt;


                            &lt;/td&gt;








                        &lt;/tr&gt;


                    &lt;/thead&gt;


                    &lt;tfoot&gt;


                        &lt;tr&gt;


                            &lt;td colspan=&quot;11&quot;&gt;





                                &lt;div class=&quot;add&quot;&gt;








                                    &lt;?php


                                    &#036;this-&gt;widget('zii.widgets.jui.CJuiButton', array(


                                        'buttonType' =&gt; 'link',


                                        'name' =&gt; 'btnNew',


                                        'value' =&gt; 'New',


                                        'caption' =&gt; 'New',


                                        'htmlOptions' =&gt; array('class' =&gt; 'btn medium'),


                                    ));


                                    ?&gt;


                                    &lt;br&gt;&lt;br&gt;


                                &lt;/div&gt;





                                &lt;textarea class=&quot;template&quot; rows=&quot;0&quot; cols=&quot;0&quot;&gt;


                                    &lt;tr class=&quot;templateContent&quot;&gt;


                                        &lt;td&gt; 


                                            &lt;?php echo CHtml::textField('Tour[{0}][date]', '', array('style' =&gt; 'width:70px')); ?&gt;


                                        &lt;/td&gt;


                                        &lt;td&gt; 


                                            &lt;?php echo CHtml::textField('Tour[{0}][time]', '', array('style' =&gt; 'width:50px')); ?&gt;


                                        &lt;/td&gt;


                                        &lt;td&gt; 


                                            &lt;?php echo CHtml::textField('Tour[{0}][streetNumber]', '', array('style' =&gt; 'width:55px')); ?&gt;


                                        &lt;/td&gt;


                                        &lt;td&gt; 


                                            &lt;?php echo CHtml::textField('Tour[{0}][streetName]', '', array('style' =&gt; 'width:80px')); ?&gt;


                                        &lt;/td&gt;


                                        &lt;td&gt; 


                                            &lt;?php echo CHtml::textField('Tour[{0}][suburb]', '', array('style' =&gt; 'width:80px')); ?&gt;


                                        &lt;/td&gt;


                                        &lt;td&gt; 


                                            &lt;?php echo CHtml::textField('Tour[{0}][postCode]', '', array('style' =&gt; 'width:50px')); ?&gt;


                                        &lt;/td&gt;


                                        &lt;td&gt; 


                                            &lt;?php echo CHtml::textField('Tour[{0}][tourName]', '', array('style' =&gt; 'width:80px')); ?&gt;


                                        &lt;/td&gt;


                                         &lt;td&gt;


                                            &lt;?php echo CHtml::dropDownList('Tour[{0}][soldOut]', &#036;select, array('0' =&gt; 'No', '1' =&gt; 'yes')); ?&gt;   


                                        &lt;/td&gt;


                                        &lt;td&gt;


                                            &lt;?php echo CHtml::dropDownList('Tour[{0}][ticketTable_ticketId]', 'Tour', &#036;list, array('empty' =&gt; 'Select')); ?&gt;   


                                        &lt;/td&gt;


          


                                        &lt;td&gt;


                                             &lt;input type=&quot;hidden&quot; class=&quot;rowIndex&quot; value=&quot;{0}&quot; /&gt;


                                             &lt;div class=&quot;remove&quot;&gt;


                                                &lt;?php


                                                &#036;this-&gt;widget('zii.widgets.jui.CJuiButton', array(


                                                    'buttonType' =&gt; 'link',


                                                    'name' =&gt; 'btnRemove',


                                                    'value' =&gt; 'Remove',


                                                    'caption' =&gt; 'Remove',


                                                    'htmlOptions' =&gt; array('class' =&gt; 'btn medium'),


                                                ));


                                                ?&gt;


                                             &lt;/td&gt;


                                    &lt;/tr&gt;


                                &lt;/textarea&gt;


                            &lt;/td&gt;


                        &lt;/tr&gt;


                    &lt;/tfoot&gt;


                    &lt;tbody class=&quot;templateTarget&quot;&gt;


                        &lt;?php foreach (&#036;this-&gt;tempTours as &#036;i =&gt; &#036;tour): ?&gt;


                            &lt;tr class=&quot;templateContent&quot;&gt;


                                &lt;td&gt;


                                    &lt;?php echo &#036;form-&gt;textField(&#036;tour, &quot;[&#036;i]date&quot;, array('style' =&gt; 'width:100%')); ?&gt;                                 


                                &lt;/td&gt;


                                &lt;td&gt;


                                    &lt;?php echo &#036;form-&gt;textField(&#036;tour, &quot;[&#036;i]time&quot;, array('style' =&gt; 'width:100%')); ?&gt;                                 


                                &lt;/td&gt;


                                &lt;td&gt;


                                    &lt;?php echo &#036;form-&gt;textField(&#036;tour, &quot;[&#036;i]streetNumber&quot;, array('style' =&gt; 'width:100%')); ?&gt;                                 


                                &lt;/td&gt;


                                &lt;td&gt;


                                    &lt;?php echo &#036;form-&gt;textField(&#036;tour, &quot;[&#036;i]streetName&quot;, array('style' =&gt; 'width:100%')); ?&gt;                                 


                                &lt;/td&gt;


                                &lt;td&gt;


                                    &lt;?php echo &#036;form-&gt;textField(&#036;tour, &quot;[&#036;i]suburb&quot;, array('style' =&gt; 'width:100%')); ?&gt;                                 


                                &lt;/td&gt;


                                &lt;td&gt;


                                    &lt;?php echo &#036;form-&gt;textField(&#036;tour, &quot;[&#036;i]postCode&quot;, array('style' =&gt; 'width:100%')); ?&gt;                                 


                                &lt;/td&gt;


                                &lt;td&gt;


                                    &lt;?php echo &#036;form-&gt;textField(&#036;tour, &quot;[&#036;i]tourName&quot;, array('style' =&gt; 'width:100%')); ?&gt;                                 


                                &lt;/td&gt;


                                &lt;td&gt;


                                    &#60;&#33;-- this needs to be yes or no --&#62;


                                    &lt;?php echo &#036;form-&gt;textField(&#036;tour, &quot;[&#036;i]soldOut&quot;, array('style' =&gt; 'width:100%')); ?&gt;                                 


                                &lt;/td&gt;


                                &lt;td&gt;


                                    &lt;?php echo CHtml::dropDownList(&quot;[&#036;i]ticketTable_ticketId&quot;, &#036;tour, &#036;list); ?&gt;


                                &lt;/td&gt;





                                &lt;td&gt;


                                    &lt;input type=&quot;hidden&quot; class=&quot;rowIndex&quot; value=&quot;&lt;?php echo &#036;i; ?&gt;&quot; /&gt;


                                    &lt;div class=&quot;remove&quot;&gt;


                                        &lt;?php


                                        &#036;this-&gt;widget('zii.widgets.jui.CJuiButton', array(


                                            'buttonType' =&gt; 'link',


                                            'name' =&gt; 'btnRemove',


                                            'value' =&gt; 'Remove',


                                            'caption' =&gt; 'Remove',


                                            'htmlOptions' =&gt; array('class' =&gt; 'btn medium'),


                                        ));


                                        ?&gt;


                                &lt;/td&gt;


                            &lt;/tr&gt;


                        &lt;?php endforeach; ?&gt;


                    &lt;/tbody&gt;


                &lt;/table&gt;


                 &lt;div class=&quot;row buttons&quot;&gt;


                    &lt;?php


                    &#036;this-&gt;widget('zii.widgets.jui.CJuiButton', array(


                        'buttonType' =&gt; 'submit',


                        'name' =&gt; 'btnSubmit',


                        'value' =&gt; 'Submit',


                        'caption' =&gt; 'Save',


                        'htmlOptions' =&gt; array('class' =&gt; 'btn medium'),


                    ));








                    &#036;this-&gt;widget('zii.widgets.jui.CJuiButton', array(


                        'buttonType' =&gt; 'link',


                        'name' =&gt; 'btnCancel',


                        'value' =&gt; 'Cancel',


                        'caption' =&gt; 'Cancel',


                        'htmlOptions' =&gt; array('class' =&gt; 'btn medium'),


                        'url' =&gt; 'index.php?r=band/default',


                    ));


                    ?&gt;


                &lt;/div&gt;


            &lt;/div&gt;&#60;&#33;--panel--&#62;


        &lt;/div&gt;&#60;&#33;--complex--&#62;

<div class="action">

        &lt;/div&gt;


        &lt;?php &#036;this-&gt;endWidget(); ?&gt;


    &lt;/div&gt;


&lt;/div&gt;

</div>

</div>

$_POST[‘Tour’] is not set

$_POST[0][‘Tour’] is

Thanks for the reply

Im hoping Tour is an array. The form allows the user to enter multiple tours. below is an example

Tour[0][date]

Tour[0][postCode]

Tour[0][soldOut] 0

Tour[0][streetName]

Tour[0][streetNumber]

Tour[0][suburb]

Tour[0][ticketTable_ticke…

Tour[0][time]

Tour[0][tourName]

Tour[1][date]

Tour[1][postCode]

Tour[1][soldOut] 0

Tour[1][streetName]

Tour[1][streetNumber]

Tour[1][suburb]

Tour[1][ticketTable_ticke…

Tour[1][time]

Tour[1][tourName]

Tour[2][date]

Tour[2][postCode]

Tour[2][soldOut] 0

Tour[2][streetName]

Tour[2][streetNumber]

Tour[2][suburb]

Tour[2][ticketTable_ticke…

Tour[2][time]

Tour[2][tourName]

btnSubmit Save