Using addForm.php - insert logged in user num

7 posts by 2 authors in: Forums > CMS Builder
Last Post: January 2, 2012   (RSS)

Hello,

I'm trying to setup the form, addForm.php and would like to auto-insert the I'd number of the currently logged in user so the new listing is associated with the logged in user and not the default" 0".

I have changed the code to be as follows, but it's not working:

createdDate      = NOW(),
                      updatedDate      = NOW(),
                      createdByUserNum = '".mysql_escape($CURRENT_USER['num'])."',
                      updatedByUserNum = '0'")


Could someone please help me out?

Thank you,
Greg

Re: [gversion] Using addForm.php - insert logged in user num

By Jason - December 31, 2011

Hi Greg,

You should also assign updatedByUserNum to be the num of the currently logged in user like this:

createdDate = NOW(),
updatedDate = NOW(),
createdByUserNum = '".mysql_escape($CURRENT_USER['num'])."',
updatedByUserNum = '".mysql_escape($CURRENT_USER['num'])."'")


Hope this helps. If you are still experiencing trouble, please let us know the exact nature of the problem and we can look into it further.

Thanks
---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/

Re: [Jason] Using addForm.php - insert logged in user num

Hi Jason,

Thanks for help. I have updated the code as you suggested but when I view the listing in the cmsAdmin area it still says:


Created Dec 31st, 2011 - 06:02:52 PM (by Unknown) change
Last Updated Dec 31st, 2011 - 06:02:52 PM (by Unknown)


How can I make it display the username of the person that created the listing, rather than "unknown"?

Thanks again,
Greg

Re: [gversion] Using addForm.php - insert logged in user num

By Jason - December 31, 2011

Hi Greg,

That comes up when the value of createdByUserNum or updatedByUserNum is not a valid user number.

One potential cause is that the person is not logged in when the record is created.

Does your form force a person to be logged in before they can create a record?

If this doesn't fix it, please attach the .php file you're working with so I can take a closer look at your code.

Thanks
---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/

Re: [Jason] Using addForm.php - insert logged in user num

Hi Jason,

Thanks for the help.

I've made the form only accessible to users that have logged in but I'm still getting "unknown" for createdBy and updatedBy.

Here is the code I'm using:

<?php
  require_once "cmsAdmin/lib/init.php";

// submit form
if (@$_REQUEST['submit']) {

  // error checking
  $errorsAndAlerts = "";
  if (!@$_REQUEST['product'])    { $errorsAndAlerts .= "Please specify title!<br/>\\n"; }
  if (!@$_REQUEST['description'])  { $errorsAndAlerts .= "Please specify content!<br/>\\n"; }

  // turn off strict mysql error checking for: STRICT_ALL_TABLES
  mysqlStrictMode(false); // disable Mysql strict errors for when a field isn't defined below (can be caused when fields are added later)

  // add record
  if (!@$errorsAndAlerts) {
    mysql_query("INSERT INTO `{$TABLE_PREFIX}wanted_ads` SET
                      product            = '".mysql_real_escape_string( $_REQUEST['product'] )."',
                      description          = '".mysql_real_escape_string( $_REQUEST['description'] )."',

                      createdDate      = NOW(),  
updatedDate      = NOW(),  
createdByUserNum = '".mysql_escape($CURRENT_USER['num'])."',  
updatedByUserNum = '".mysql_escape($CURRENT_USER['num'])."'")

    or die("MySQL Error Creating Record:<br/>\\n". htmlspecialchars(mysql_error()) . "\\n");
    $recordNum = mysql_insert_id();

    // display thanks message and clear form
    $errorsAndAlerts = "Thanks, we've added that record!";
    $_REQUEST = array();
  }

}

?><!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">
<head>

 <?php require_once "cmsAdmin/lib/viewer_functions.php"; ?>
<?php if (!$CURRENT_USER) { websiteLogin_redirectToLogin(); } ?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
  body, td { font-family: arial }
</style>
</head>
<body>

<form method="post" action="">
<input type="hidden" name="submit" value="1" />

<h1>Sample Record Add Form</h1>

<?php if (@$errorsAndAlerts): ?>
  <div style="color: red; font-weight: bold; font-size: 16px;"><br/>
    <?php echo $errorsAndAlerts; ?><br/><br/>
  </div>
<?php endif ?>


<table border="0" cellspacing="0" cellpadding="2">
 <tr>
  <td valign="top">Product</td>
  <td><input type="text" name="product" value="<?php echo htmlspecialchars(@$_REQUEST['product']) ?>" size="30" /></td>
</tr>
 <tr>
  <td valign="top">Description</td>
  <td><textarea name="description" cols="30" rows="4"><?php echo htmlspecialchars(@$_REQUEST['description']) ?></textarea></td>
</tr>
</table><br/><br/>


<input type="submit" name="add" value="Add Record &gt;&gt;" />

</form>
</body>
</html>


Thanks again fo all you help.

Regards,
Greg

Re: [Jason] Using addForm.php - insert logged in user num

By gversion - January 2, 2012

Hi Jason,

That's worked! :) Thanks for taking the time to help me with that one.

Regards,
Greg