Hey,
i am new to chronoforms and i want to create a registration form for joomla with extended fields.
Using the joomla registration action for the default fields works fine but i run into an error when i want to save the additional fields in a other table.
My plan was to read the id of the joomla database entry from "_users" and write a entry with this id and my additional fields into my chronodb.
I also found the read database and write database action. The details on how to use this particular actions is the problem :?
Any help is apreciated
Cheers,
Dennis
i am new to chronoforms and i want to create a registration form for joomla with extended fields.
Using the joomla registration action for the default fields works fine but i run into an error when i want to save the additional fields in a other table.
My plan was to read the id of the joomla database entry from "_users" and write a entry with this id and my additional fields into my chronodb.
I also found the read database and write database action. The details on how to use this particular actions is the problem :?
Any help is apreciated
Cheers,
Dennis
Hello Rapdrei,
I'm not a Chrono professional, but after checking your new post, I think that the following links may help:
How to post information from a Chronoform to ZoHo
What are the 'Easy Form' and 'Form' Wizards?
How can I add a mask to format a form input?
P.S: I'm just an automated service😉
I'm not a Chrono professional, but after checking your new post, I think that the following links may help:
How to post information from a Chronoform to ZoHo
What are the 'Easy Form' and 'Form' Wizards?
How can I add a mask to format a form input?
P.S: I'm just an automated service😉
Hi Dennis,
Please see this FAQ for info on getting the User ID of a newly registered user. I think that the same code will work in CFv5.
Bob
Please see this FAQ for info on getting the User ID of a newly registered user. I think that the same code will work in CFv5.
Bob
Hi calculus and GreyHead,
thank you very much for the help. I will digg a little bit deeper in the links you provided me! 🙂
cheers
Dennis
thank you very much for the help. I will digg a little bit deeper in the links you provided me! 🙂
cheers
Dennis
Hey there,
i decided to overcome my problem by a custom code solution which will be triggered after pressing the submit Button.
My php code basically creates a record in joomla_users and puts the additional information (newsletter, institute, affiliation_type..) into a seperate table.
The code is almost done. The only thing i dont know is how i can acess the value inside input fields i designed earlier. Lets say i added a field Username in the form editor. How can i get the Username the user added into the field after pressing submit?
would this work:
$username = $form->data['username'];
Heres is a part of my code so far:
i decided to overcome my problem by a custom code solution which will be triggered after pressing the submit Button.
My php code basically creates a record in joomla_users and puts the additional information (newsletter, institute, affiliation_type..) into a seperate table.
The code is almost done. The only thing i dont know is how i can acess the value inside input fields i designed earlier. Lets say i added a field Username in the form editor. How can i get the Username the user added into the field after pressing submit?
would this work:
$username = $form->data['username'];
Heres is a part of my code so far:
$mysqli = new mysqli(constant(HOST), constant(USERNAME), constant(PASSWORD), constant(DBNAME));
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$insert_id = null;
/* create a prepared statement */
if ($joomla_users_stmt = $mysqli->prepare("INSERT IGNORE INTO $joomla_users (name, username, email, password, block, sendEmail, registerDate, lastvisitdate, resetcount, requirereset)
VALUES (?, ?, ?, ?, 0, 1, ?, ?, 0, 0)")) {
// just fetch the inputfields from the chronosform fields
$name = $form->data['name'];
$username = $form->data['username'];
$email = $form->data['email'];
$password = $form->data['password'];
$regdate = getdate();
$lastvisit = $regdate;
//check if the email is not already used
$result = mysqli_query($mysqli,"SELECT * FROM JOOMLA_USERS WHERE email = \"$email\"");
$row = mysqli_fetch_array($result);
$found = $row['email'];
//if the query returns an empty string, the email is not already registered
if(!$found == null)
{
printf("Email already in use");
exit();
}
//build md5 applied salted password with joomla helper
jimport('joomla.user.helper');
$crypted_password = JUserHelper::hashPassword($password);
/* bind parameters for markers */
$joomla_users_stmt->bind_param("ssssss", $name, $username, $email, $crypted_password, $regdate, $lastvisit);
/* execute query */
$joomla_users_stmt->execute();
$insert_id = $joomla_users_stmt->insert_id;
/* bind result variables */
$joomla_users_stmt->bind_result($district);
/* fetch value */
$joomla_users_stmt->fetch();
/* close statement */
$joomla_users_stmt->close();
}
if ($chrono_users_stmt = $mysqli->prepare("INSERT IGNORE INTO $chrono_users (id, newsletter, institute, affiliation_type, intend_to_use)
VALUES (?, ?, ?, ?, ?)")) {
//catch the additional tableinformation from chrono input fields
$newsletter = $form->data['newsletter'];
$institute = $form->data['institute'];
$affil_type = $form->data['affiliation_type'];
$intend_to_use = $form->data['intend_to_use'];
$chrono_users_stmt->bind_param("ddsss", $insert_id, $newsletter, $institute, $affil_type, $intend_to_use);
/* execute query */
$chrono_users_stmt->execute();
/* bind result variables */
$chrono_users_stmt->bind_result($district);
/* fetch value */
$chrono_users_stmt->fetch();
/* close statement */
$chrono_users_stmt->close();
}
/* close connection */
$mysqli->close();
?>
Hi Rapdrei,
You can use $username = $form->data['username']; but it doesn't really do anything useful. Just use $form->data['username']
I would strongly recommend that you add to the Joomla! Users table using the methods that are provided in the Joomla! User Object rather than writing directly to the table.
Bob
You can use $username = $form->data['username']; but it doesn't really do anything useful. Just use $form->data['username']
I would strongly recommend that you add to the Joomla! Users table using the methods that are provided in the Joomla! User Object rather than writing directly to the table.
Bob
This topic is locked and no more replies can be posted.