[TYPO3-dev] search form looses id
Robert Wildling
robertwildling at gmail.com
Thu May 31 09:32:23 CEST 2012
Thanks so much, Richard! A really important info that i didn't know about!
Have a nice day and all the best,
Robert
> Hi Robert,
>
> I didn't think about the GET value being part of the action. See
> http://stackoverflow.com/questions/1116019/submitting-a-get-form-with-query-string-params-and-hidden-params-disappear
> Short answer: any GET values in an action with a method of GET may be
> ignored.
>
> Richard
>
> On 31 May 2012 10:39, Robert Wildling<robertwildling at gmail.com> wrote:
>
>> Thank you, Richard, for your response. I still have to try the Tamper Data
>> thing on FF, at the moment I am on Chrome. However, the form is not nested,
>> the URL generated correctly.
>>
>> But what I observed today was this: when the form action is set to "GET"
>> the id gets lost, while other parameters are sent; as soon as i set the
>> form action to POST, it is the other way around: the id stays within the
>> form, while category and province get lost (the search result jumps back to
>> a list with all records...)
>>
>> ???
>>
>> Any inputs would be very welcome! Thanks in advance!
>> Regards,
>> Robert
>>
>> Hi,
>>>
>>> The link in<form action="' . $searchResultPageLink . '" method="GET"> is
>>> being generated correctly? Is the correct URL sent? If you use firefox,
>>> use
>>> something like Tamper Data to view what is being sent to the server.
>>>
>>> The issue may be that you accidentally nested your form inside another
>>> form. This is obviously not allowed - however FF sends the outer form
>>> action, hence why you wouldn't see the id value being carried across.
>>>
>>> Richard
>>>
>>> On 27 May 2012 07:11, Robert Wildling<robertwildling at gmail.**com<robertwildling at gmail.com>>
>>> wrote:
>>>
>>> Hi,
>>>>
>>>> I really beg for your help!!!
>>>>
>>>> An ext generates a form like this.
>>>>
>>>> ...
>>>> function main($content, $conf) {
>>>> $this->conf = $conf;
>>>> $this->pi_setPiVarDefaults();
>>>> $this->pi_loadLL();
>>>>
>>>> // Database tables
>>>> $categoryTable = 'pages';
>>>> $categoryPid = 3;
>>>> $provincesTable = "static_country_zones";
>>>> $provincesArea = 'zn_country_iso_2="AT"';
>>>>
>>>> $manufacturerPid = 10;
>>>> $searchResultPagePid = 89;
>>>>
>>>> // Link generation for the action attribute of the form
>>>> tag
>>>> $searchResultPageLink = $this->pi_getPageLink($**
>>>> searchResultPagePid);
>>>>
>>>> // Generate the search form - 1.: Categories
>>>> $content .= '<form action="' . $searchResultPageLink . '"
>>>> method="GET">';
>>>> $content .= '<select name="category" id="selectCat">';
>>>>
>>>> // Get first level of the categories
>>>> $selectManufacturers = $GLOBALS['TYPO3_DB']->exec_**
>>>> SELECTquery('*',$****categoryTable,'pid='.$****categoryPid,'','','');
>>>> $numManufacturers = $GLOBALS['TYPO3_DB']->sql_num_****
>>>> rows($selectManufacturers);
>>>>
>>>> $i = 0;
>>>> while ($res = $GLOBALS['TYPO3_DB']->sql_****
>>>> fetch_assoc($**
>>>> selectManufacturers))
>>>> {
>>>> $content .= '<option value="' . $res['uid'] .'"';
>>>>
>>>> // if category is set, set the chosen record to
>>>> selected
>>>> if((t3lib_div::_GET('category'****) != '')&&
>>>> (t3lib_div::_GET('category') != 'divider')&&
>>>> (t3lib_div::_GET('category')
>>>>
>>>> == $res['uid'])) {
>>>> $content .= " selected='selected'";
>>>> }
>>>> $content .= '>' . $res['title'] .'</option>';
>>>>
>>>> // Get second level of the categories
>>>> $sel = $GLOBALS['TYPO3_DB']->exec_**
>>>> SELECTquery('*',$****categoryTable,'pid='.$res['****uid'],'','','');
>>>> while ($res2 = $GLOBALS['TYPO3_DB']->sql_****
>>>> fetch_assoc($sel))
>>>> {
>>>> $content .= '<option value="' .
>>>> $res2['uid'] . '"';
>>>>
>>>> if((t3lib_div::_GET('category'****) !=
>>>> '')
>>>> && (t3lib_div::_GET('category') != 'divider')&&
>>>> (t3lib_div::_GET('category') == $res2['uid'])) {
>>>> $content .= "
>>>> selected='selected'";
>>>> }
>>>> $content .= '>- ' . $res2['title'] .
>>>> '</option>';
>>>> }
>>>>
>>>> $i++;
>>>> }
>>>> $content .= '</select>';
>>>>
>>>> ... (2nd select box)
>>>>
>>>> // Search Button
>>>> $content .= '<input type="submit" value="' .
>>>> $this->pi_getLL('submit_****button_label') . '" />';
>>>>
>>>> // close form tag
>>>> $content .= "</form>";
>>>> $content .= '</div>';
>>>>
>>>> return $content;
>>>> }
>>>>
>>>>
>>>> After clicking on the search button, the id, which is saved in
>>>> $searchResultPagePid and correctly generated as a link in
>>>> $searchResultPageLink, gets "lost", while the parameters (category=xy)
>>>> are
>>>> part of the URL.
>>>>
>>>> What am I doing wrong here?
>>>> config {
>>>> linkVars = L, print
>>>> uniqueLinkVars = 1
>>>> }
>>>>
>>>> is set ...
>>>>
>>>> Any ideas? Please!
>>>>
>>>> Thank you very much!
>>>> Robert
>>>> ______________________________****_________________
>>>> TYPO3-dev mailing list
>>>> TYPO3-dev at lists.typo3.org
>>>> http://lists.typo3.org/cgi-****bin/mailman/listinfo/typo3-dev<http://lists.typo3.org/cgi-**bin/mailman/listinfo/typo3-dev>
>>>> **<http://lists.typo3.org/cgi-**bin/mailman/listinfo/typo3-dev<http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-dev>
>>>> **>
>>>>
>>>>
>> ______________________________**_________________
>> TYPO3-dev mailing list
>> TYPO3-dev at lists.typo3.org
>> http://lists.typo3.org/cgi-**bin/mailman/listinfo/typo3-dev<http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-dev>
>>
More information about the TYPO3-dev
mailing list