Page 1 of 1
Problems getting frontend form data into params variable
Posted: Wed Sep 03, 2008 11:48 am
by krillzip
Hi there!
i am quite new to CMSMS and we are developing some stuff for future use by our customers.
For the moment I am stuck with reading the data from an frontend form.
I am using:
MySQL: 5.0.60
PHP: PHP Version 5.2.6-pl6-gentoo
The problem is that not all the values in the form shows up in the $params variable.
The code for the form looks like:
echo ''.'Ändra din prenumeration'.'
';
echo 'E-post: ' . $user['email'] . '
';
echo 'Namn: ' . $user['username'] . '';
echo $this -> CreateFrontendFormStart($id, $params['returnid'], 'pdi_usersettings', 'post', '', true);
echo $this -> CreateInputHidden($id, 'uniqueid', $params['uniqueid']);
echo $this -> CreateInputHidden($id, 'myfunc', 'change');
foreach($lists as $key => $value)
{
$checked = isset($listuser[$key]);
echo '' . $this -> CreateInputCheckbox($id, 'list['.$key.']', $value['listid'], '', $checked ? 'checked="checked"' : '') .
' ' . $lists[$key]['name'] . ' - ' . $lists[$key]['description'] . '';
}
echo '' . $this -> CreateInputSubmit($id, 'change', 'Ändra prenumerationer') . $this -> CreateFormEnd() . '';
The $_POST looks like:
Array
(
[mact] => NMS,m6,pdi_usersettings,1
[m6returnid] => 61
[page] => 61
[m6uniqueid] => 3701da26f0105d8052e7a1f59f4f0f6e
[m6myfunc] => change
[m6list] => Array
(
[1] => 1
[2] => 2
)
[m6change] => Ändra prenumerationer
)
The $params looks like:
Array
(
[action] => pdi_default
[mode] => subscribe
[select] => Militanta köttätare
[module] => NMS
[returnid] => 61
[uniqueid] => 3701da26f0105d8052e7a1f59f4f0f6e
)
Anybody has a clue?
Re: Problems getting frontend form data into params variable
Posted: Wed Sep 03, 2008 3:26 pm
by NaN
Could you also post the HTML output of your script?
The two arrays you've posted seem to be created by different actions.
Re: Problems getting frontend form data into params variable
Posted: Thu Sep 04, 2008 6:36 am
by krillzip
The HTML output looks like this from URL:
http://kp.jon.phosdev.se/index.php?mact ... 61&page=61
Code: Select all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<__html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Kristoffers test - Prenumerantsida</title>
<base href="http://kp.jon.phosdev.se/" />
<meta name="Generator" content="CMS Made Simple - Copyright (C) 2004-6 Ted Kulp. All rights reserved." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" media="print" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=30&mediatype=print" />
<link rel="stylesheet" type="text/css" media="screen" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=31&mediatype=screen" />
<link rel="stylesheet" type="text/css" media="screen" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=32&mediatype=screen" />
<link rel="stylesheet" type="text/css" media="screen" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=35&mediatype=screen" />
<link rel="stylesheet" type="text/css" media="screen" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=36&mediatype=screen" />
<link rel="stylesheet" type="text/css" media="handheld" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=41&mediatype=handheld" />
<link rel="start" title="Home Page, shortcut key=1" href="http://kp.jon.phosdev.se/" />
<link rel="prev" title="Home Page, shortcut key=1" href="http://kp.jon.phosdev.se/" />
<link rel="next" title="How CMSMS Works" href="http://kp.jon.phosdev.se/index.php?page=how-cmsms-works" />
<__script__ type="text/JavaScript">
<!--
//pass min and max -measured against window width
function P7_MinMaxW(a,b){
var nw="auto",w=document.documentElement.clientWidth;
if(w>=b){nw=b+"px";}if(w<=a){nw=a+"px";}return nw;
}
//-->
</__script>
<!--[if lte IE 6]>
<style type="text/css">
#pagewrapper {width:expression(P7_MinMaxW(720,950));}
#container {height: 1%;}
</style>
<![endif]-->
</head>
</__body>
<div id="pagewrapper">
<ul class="accessibility">
<li><a href="/index.php?mact=NMS,m6,pdi_usersettings,1&m6uniqueid=3701da26f0105d8052e7a1f59f4f0f6e&m6returnid=61&page=61#menu_vert" title="Skip to navigation" accesskey="n">Skip to navigation</a></li>
<li><a href="/index.php?mact=NMS,m6,pdi_usersettings,1&m6uniqueid=3701da26f0105d8052e7a1f59f4f0f6e&m6returnid=61&page=61#main" title="Skip to content" accesskey="s">Skip to content</a></li>
</ul>
<hr class="accessibility" />
<div id="header">
<h1><a href="http://kp.jon.phosdev.se/" title="Home Page, shortcut key=1">Kristoffers test</a></h1>
<hr class="accessibility" />
</div>
<div id="search">
<form id="cntnt01moduleform_1" method="get" action="index.php"><div class="hidden"><input type="hidden" name="mact" value="Search,cntnt01,dosearch,0" /><input type="hidden" name="cntnt01returnid" value="61" /></div>
<label for="cntnt01searchinput">Search</label>: <input type="text" id="cntnt01searchinput" name="cntnt01searchinput" size="20" maxlength="50" value="Enter Search..." onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"/><input name="submit" value="Submit" type="submit" />
</form>
</div>
<div class="breadcrumbs">
You are here: <a href="http://kp.jon.phosdev.se/">Home</a> » <a href="http://kp.jon.phosdev.se/">Home</a> » <span class="lastitem">Prenumerantsida</span>
<hr class="accessibility" />
</div>
<div id="content">
<div id="sidebar">
<div id="menu_vert">
<h2 class="accessibility">Navigation</h2>
<ul>
<li class="activeparent"><a class="activeparent" href="http://kp.jon.phosdev.se/" accesskey="1" title="Home Page, shortcut key=1"><dfn>1: </dfn>Home</a>
<ul>
<li class="currentpage"><h3><dfn>Current page is 1.1: </dfn>Prenumerantsida</h3>
</li></ul>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=how-cmsms-works"><dfn>2: </dfn>How CMSMS Works</a>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=default_templates"><dfn>3: </dfn>Default Templates Explained</a>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=extensions"><dfn>4: </dfn>Default Extensions</a>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=feed"><dfn>5: </dfn>Feed</a>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=zones"><dfn>6: </dfn>Zoner</a>
</li>
</ul>
</div>
<div id="news">
<h2>News</h2>
</div>
</div>
<div id="main">
<div style="float: right;"><a href='http://kp.jon.phosdev.se/index.php?mact=Printing,m5,printpage,1&m5showbutton=1&m5script=1&m5returnid=61&page=61' class='noprint' > <img src='modules/Printing/printbutton.gif' alt='Print this page' />
</a>
</div>
<h2>Prenumerantsida</h2>
<h2>Nya taggar</h2>
<p><pre>Array
(
)
</pre><pre>Array
(
[action] => pdi_default
[mode] => subscribe
[select] => Militanta köttätare
[module] => NMS
[uniqueid] => 3701da26f0105d8052e7a1f59f4f0f6e
[returnid] => 61
)
</pre><h1>Ändra din prenumeration</h1><br /><p><b>E-post:</b> kristoffer.paulsson@phosworks.se<br /><b>Namn:</b> Kristoffer2</p><form id="m6moduleform_2" method="post" action="index.php"><div class="hidden"><input type="hidden" name="mact" value="NMS,m6,pdi_usersettings,1" /><input type="hidden" name="m6returnid" value="61" /><input type="hidden" name="page" value="61" /></div>
<input type="hidden" name="m6uniqueid" value="3701da26f0105d8052e7a1f59f4f0f6e" />
<input type="hidden" name="m6myfunc" value="change" />
<p><input type="checkbox" name="m6list[1]" value="1" checked="checked" />
Militanta köttätare - Morötter är mord</p><p><input type="checkbox" name="m6list[2]" value="2" />
Militanta gnagare - Jordnötssmör är mord</p><table><tr><td><input name="m6change" value="Ändra prenumerationer" type="submit" />
</form>
</td><td><form id="m6moduleform_3" method="post" action="index.php"><div class="hidden"><input type="hidden" name="mact" value="NMS,m6,pdi_usersettings,1" /><input type="hidden" name="m6returnid" value="61" /><input type="hidden" name="page" value="61" /></div>
<input type="hidden" name="m6uniqueid" value="3701da26f0105d8052e7a1f59f4f0f6e" />
<input name="m6unsubscribe" value="Ta bort mig" type="submit" />
<input type="hidden" name="m6myfunc" value="unsubscribe" />
</form>
</td><td><form id="m6moduleform_4" method="post" action="index.php"><div class="hidden"><input type="hidden" name="mact" value="NMS,m6,pdi_usersettings,1" /><input type="hidden" name="m6returnid" value="61" /><input type="hidden" name="page" value="61" /></div>
<input type="hidden" name="m6uniqueid" value="3701da26f0105d8052e7a1f59f4f0f6e" />
<input name="m6cancel" value="Avbryt" type="submit" />
<input type="hidden" name="m6myfunc" value="cancel" />
</form>
</td></tr></table><hr /></p> <br />
<div class="hr"></div>
<div class="right49">
<p><a href="/index.php?mact=NMS,m6,pdi_usersettings,1&m6uniqueid=3701da26f0105d8052e7a1f59f4f0f6e&m6returnid=61&page=61#main">^ Top</a></p>
</div>
<div class="left49">
<p>Previous page: <a href="http://kp.jon.phosdev.se/" title="Home Page, shortcut key=1">Home</a> <br />
Next page: <a href="http://kp.jon.phosdev.se/index.php?page=how-cmsms-works" title="How CMSMS Works">How CMSMS Works</a></p>
</div>
<hr class="accessibility" />
</div>
</div>
<div id="footer">
<p>© Copyright 2004-2008 - CMS Made Simple<br />
This site is powered by <a href="http://www.cmsmadesimple.org">CMS Made Simple</a> version 1.4.1</p>
</div>
</div><__body>
</__html><!-- 0.344071 / 28 / 6673420 / 6992240 -->
When clicking the form the page looks like this: (from this url)
http://kp.jon.phosdev.se/index.php
Code: Select all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<__html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Kristoffers test - Prenumerantsida</title>
<base href="http://kp.jon.phosdev.se/" />
<meta name="Generator" content="CMS Made Simple - Copyright (C) 2004-6 Ted Kulp. All rights reserved." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" media="print" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=30&mediatype=print" />
<link rel="stylesheet" type="text/css" media="screen" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=31&mediatype=screen" />
<link rel="stylesheet" type="text/css" media="screen" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=32&mediatype=screen" />
<link rel="stylesheet" type="text/css" media="screen" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=35&mediatype=screen" />
<link rel="stylesheet" type="text/css" media="screen" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=36&mediatype=screen" />
<link rel="stylesheet" type="text/css" media="handheld" href="http://kp.jon.phosdev.se/stylesheet.php?cssid=41&mediatype=handheld" />
<link rel="start" title="Home Page, shortcut key=1" href="http://kp.jon.phosdev.se/" />
<link rel="prev" title="Home Page, shortcut key=1" href="http://kp.jon.phosdev.se/" />
<link rel="next" title="How CMSMS Works" href="http://kp.jon.phosdev.se/index.php?page=how-cmsms-works" />
<__script__ type="text/JavaScript">
<!--
//pass min and max -measured against window width
function P7_MinMaxW(a,b){
var nw="auto",w=document.documentElement.clientWidth;
if(w>=b){nw=b+"px";}if(w<=a){nw=a+"px";}return nw;
}
//-->
</__script>
<!--[if lte IE 6]>
<style type="text/css">
#pagewrapper {width:expression(P7_MinMaxW(720,950));}
#container {height: 1%;}
</style>
<![endif]-->
</head>
</__body>
<div id="pagewrapper">
<ul class="accessibility">
<li><a href="/index.php#menu_vert" title="Skip to navigation" accesskey="n">Skip to navigation</a></li>
<li><a href="/index.php#main" title="Skip to content" accesskey="s">Skip to content</a></li>
</ul>
<hr class="accessibility" />
<div id="header">
<h1><a href="http://kp.jon.phosdev.se/" title="Home Page, shortcut key=1">Kristoffers test</a></h1>
<hr class="accessibility" />
</div>
<div id="search">
<form id="cntnt01moduleform_1" method="get" action="index.php"><div class="hidden"><input type="hidden" name="mact" value="Search,cntnt01,dosearch,0" /><input type="hidden" name="cntnt01returnid" value="61" /></div>
<label for="cntnt01searchinput">Search</label>: <input type="text" id="cntnt01searchinput" name="cntnt01searchinput" size="20" maxlength="50" value="Enter Search..." onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"/><input name="submit" value="Submit" type="submit" />
</form>
</div>
<div class="breadcrumbs">
You are here: <a href="http://kp.jon.phosdev.se/">Home</a> » <a href="http://kp.jon.phosdev.se/">Home</a> » <span class="lastitem">Prenumerantsida</span>
<hr class="accessibility" />
</div>
<div id="content">
<div id="sidebar">
<div id="menu_vert">
<h2 class="accessibility">Navigation</h2>
<ul>
<li class="activeparent"><a class="activeparent" href="http://kp.jon.phosdev.se/" accesskey="1" title="Home Page, shortcut key=1"><dfn>1: </dfn>Home</a>
<ul>
<li class="currentpage"><h3><dfn>Current page is 1.1: </dfn>Prenumerantsida</h3>
</li></ul>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=how-cmsms-works"><dfn>2: </dfn>How CMSMS Works</a>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=default_templates"><dfn>3: </dfn>Default Templates Explained</a>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=extensions"><dfn>4: </dfn>Default Extensions</a>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=feed"><dfn>5: </dfn>Feed</a>
</li>
<li><a href="http://kp.jon.phosdev.se/index.php?page=zones"><dfn>6: </dfn>Zoner</a>
</li>
</ul>
</div>
<div id="news">
<h2>News</h2>
</div>
</div>
<div id="main">
<div style="float: right;"><a href='http://kp.jon.phosdev.se/index.php?mact=Printing,m5,printpage,1&m5showbutton=1&m5script=1&m5returnid=61&page=61' class='noprint' > <img src='modules/Printing/printbutton.gif' alt='Print this page' />
</a>
</div>
<h2>Prenumerantsida</h2>
<h2>Nya taggar</h2>
<p><br />
<b>Warning</b>: Parameter myfunc is not known... dropped in <b>/home/sites/kp.jon.phosdev.se/web/lib/misc.functions.php</b> on line <b>1301</b><br />
<br />
<b>Warning</b>: Parameter list is not known... dropped in <b>/home/sites/kp.jon.phosdev.se/web/lib/misc.functions.php</b> on line <b>1301</b><br />
<br />
<b>Warning</b>: Parameter change is not known... dropped in <b>/home/sites/kp.jon.phosdev.se/web/lib/misc.functions.php</b> on line <b>1301</b><br />
<pre>Array
(
[mact] => NMS,m6,pdi_usersettings,1
[m6returnid] => 61
[page] => 61
[m6uniqueid] => 3701da26f0105d8052e7a1f59f4f0f6e
[m6myfunc] => change
[m6list] => Array
(
[1] => 1
[2] => 2
)
[m6change] => Ändra prenumerationer
)
</pre><pre>Array
(
[action] => pdi_default
[mode] => subscribe
[select] => Militanta köttätare
[module] => NMS
[returnid] => 61
[uniqueid] => 3701da26f0105d8052e7a1f59f4f0f6e
)
</pre><h1>Ändra din prenumeration</h1><br /><p><b>E-post:</b> kristoffer.paulsson@phosworks.se<br /><b>Namn:</b> Kristoffer2</p><form id="m6moduleform_2" method="post" action="index.php"><div class="hidden"><input type="hidden" name="mact" value="NMS,m6,pdi_usersettings,1" /><input type="hidden" name="m6returnid" value="61" /><input type="hidden" name="page" value="61" /></div>
<input type="hidden" name="m6uniqueid" value="3701da26f0105d8052e7a1f59f4f0f6e" />
<input type="hidden" name="m6myfunc" value="change" />
<p><input type="checkbox" name="m6list[1]" value="1" checked="checked" />
Militanta köttätare - Morötter är mord</p><p><input type="checkbox" name="m6list[2]" value="2" />
Militanta gnagare - Jordnötssmör är mord</p><table><tr><td><input name="m6change" value="Ändra prenumerationer" type="submit" />
</form>
</td><td><form id="m6moduleform_3" method="post" action="index.php"><div class="hidden"><input type="hidden" name="mact" value="NMS,m6,pdi_usersettings,1" /><input type="hidden" name="m6returnid" value="61" /><input type="hidden" name="page" value="61" /></div>
<input type="hidden" name="m6uniqueid" value="3701da26f0105d8052e7a1f59f4f0f6e" />
<input name="m6unsubscribe" value="Ta bort mig" type="submit" />
<input type="hidden" name="m6myfunc" value="unsubscribe" />
</form>
</td><td><form id="m6moduleform_4" method="post" action="index.php"><div class="hidden"><input type="hidden" name="mact" value="NMS,m6,pdi_usersettings,1" /><input type="hidden" name="m6returnid" value="61" /><input type="hidden" name="page" value="61" /></div>
<input type="hidden" name="m6uniqueid" value="3701da26f0105d8052e7a1f59f4f0f6e" />
<input name="m6cancel" value="Avbryt" type="submit" />
<input type="hidden" name="m6myfunc" value="cancel" />
</form>
</td></tr></table><hr /></p> <br />
<div class="hr"></div>
<div class="right49">
<p><a href="/index.php#main">^ Top</a></p>
</div>
<div class="left49">
<p>Previous page: <a href="http://kp.jon.phosdev.se/" title="Home Page, shortcut key=1">Home</a> <br />
Next page: <a href="http://kp.jon.phosdev.se/index.php?page=how-cmsms-works" title="How CMSMS Works">How CMSMS Works</a></p>
</div>
<hr class="accessibility" />
</div>
</div>
<div id="footer">
<p>© Copyright 2004-2008 - CMS Made Simple<br />
This site is powered by <a href="http://www.cmsmadesimple.org">CMS Made Simple</a> version 1.4.1</p>
</div>
</div><__body>
</__html><!-- 0.250983 / 24 / 5934420 / 6180104 -->
Maybe it's me not fully unjderstanding the internal working for links and forms of CMSMS.
If that's the case could someone give me a hint or a resource on the topic?
thnx
Re: Problems getting frontend form data into params variable
Posted: Thu Sep 04, 2008 1:11 pm
by NaN
krillzip wrote:
...
Warning: Parameter myfunc is not known... dropped in /home/sites/kp.jon.phosdev.se/web/lib/misc.functions.php on line 1301
...
For frontend functions of a module you need to register the parameters that can be used with that module.
(I guess that is some security stuff here.)
Take a look into the News Modules source code of the file News.module.php.
There is a function called
SetParameters(). Notice the lines 90 and below.
Maybe that's the reason why the variables are in the $_POST array but not in the $params array.
Re: Problems getting frontend form data into params variable
Posted: Mon Sep 08, 2008 7:10 am
by krillzip
That's it!
Work's great