Forums

Fatal error: Call to a member function bind()

fservais 30 Sep, 2009
Hi to all,

JOOMLA 1.5.14
CHRONOFORM : 3.1 RC5.5

I have juste create a form, and its work
I have create succesfully a DB table and attached it to the form
I have enable database storage

but :twisted: 🙄 :twisted:

when i submit a form, i have this error message :
Fatal error: Call to a member function bind() on a non-object in /var/www/extranet/components/com_chronocontact/libraries/customcode.php(71) : eval()'d code on line 13

Even if this message is desplayed, i receive the result in a mail

I have check by myself, but i have no idea now

Is anyone can help me ?

Thanks in advance.

NB : 'scuse for poor english
GreyHead 30 Sep, 2009
Hi fservais,

Do you have a dash '-' in your form name?

Bob
fservais 01 Oct, 2009

Hi fservais,

Do you have a dash '-' in your form name?

Bob




Hi Bob,

my form name is "animation"

you will find my fields name under :
Field name
cf_id INT(11)
uid VARCHAR(255)
recordtime VARCHAR(255)
ipaddress VARCHAR(255)
cf_user_id VARCHAR(255)
nom
Prenom
radio0
reponse_affirm
reponse_comp
com_libre
animateur
com_qualite
comp_ciale
comp_RH
comp_codir
comp_concu
comp_regle
comp_agen
reactivite
fiabilite
Enthou
assertivite
Discretion
Adaptabilite
respect
dialogue
confiance

Thanks a lot !
GreyHead 01 Oct, 2009
Hi fservais,

That all looks fine.

The error is triggered in the Autogenerated code because the form table definition isn't being found (at least I think that's it).

Please check the Autogenerated code and you should find this at line 4 (or thereabouts)
$row =& JTable::getInstance("chronoforms_animation", "Table");


Bob
fservais 01 Oct, 2009
Hi Bob,

you are right, i found this code instead : $row =& JTable::getInstance("chronoforms_Appréciation", "Table");
Appréciation is an old form i have made ...

But each time i modified "Appréciation" by "animation", and click on save button (The joomla one), the original code is reloaded

One more time, i must make something wrong 🤔

Edit :
Here you find my autogenerated code : (Last line, there is the same pb !)
<?php
$MyForm =& CFChronoForm::getInstance("animation");
if($MyForm->formparams("dbconnection") == "Yes"){
$user = JFactory::getUser();
$row =& JTable::getInstance("chronoforms_Appréciation", "Table");
srand((double)microtime()*10000);
$inum = "I" . substr(base64_encode(md5(rand())), 0, 16).md5(uniqid(mt_rand(), true));
JRequest::setVar( "recordtime", JRequest::getVar( "recordtime", date("Y-m-d")." - ".date("H:i:s"), "post", "string", "" ));
JRequest::setVar( "ipaddress", JRequest::getVar( "ipaddress", $_SERVER["REMOTE_ADDR"], "post", "string", "" ));
JRequest::setVar( "uid", JRequest::getVar( "uid", $inum, "post", "string", "" ));
JRequest::setVar( "cf_user_id", JRequest::getVar( "cf_user_id", $user->id, "post", "int", "" ));
$post = JRequest::get( "post" , JREQUEST_ALLOWRAW );
if (!$row->bind( $post )) {
JError::raiseWarning(100, $row->getError());
}
if (!$row->store()) {
JError::raiseWarning(100, $row->getError());
}
$MyForm->tablerow["jos_chronoforms_Appréciation"] = $row;
}
?>
fservais 01 Oct, 2009
OK

THANKS A LOT FOR YOUR USEFUL HELP

ITS WORKS !!!!!

François

NB : You can close this post ?
GreyHead 01 Oct, 2009
Hi François,

Glad it was useful. I guess this must have been a copy of the old form. You can force the DB Connection to refesh by setting it to No, saving the form, then Setting it back to Yes and resaving.

Bob

PS better not to use é in form names either - that can also cause problems.
This topic is locked and no more replies can be posted.

VPS & Email Hosting 20% discount
hostinger