Mark,

Ok here's both functions...

http://dev.mxconsulting.com/sergv2/testSTringUdf.cfm?object=true

Pass whatever you like as url params.  Notice that it does not error - but it doesn't always give you back what you gave
it either. for example:

http://dev.mxconsulting.com/sergv2/testSTringUdf.cfm?object=true&filbert=Isaliar$_#))*$

Notice it is truncated after $_

In fact (and this is an interesting point) if you put a pound sign in the query string - or if your encoded function
does so - it will indeed always lop off anything that comes after that.  so if chr(35) is in your first position, you
will end up with this exact error. observe:

http://dev.mxconsulting.com/sergv2/testSTringUdf.cfm?#object=true

There may be other nuanced character codes that cause trouble for you.

-Mark

  -----Original Message-----
  From: Mark W. Breneman [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, October 08, 2003 3:55 PM
  To: CF-Talk
  Subject: RE: Ok, I give up UDF error

  The still get the same error "Parameter 2 of function Left which is now
  -1 must be a positive integer"

  OK here is the pair of UDFs if anyone cares to play with them.  All they
  are meant to do is to encode a value to a short non readable string.  I
  plan to use to encode url vars when security is not major issue. Simply
  this is meant to be generate a short sneaky, not secure encoded string.

  As you can see buy the qencode function a random number is added to the
  end of the sting just to make it look non-sequestional when a list of
  the code are viewed.  All I am trying to do is to trim that last number
  off on the qdecode output.

  Thanks for your help.

  <cfscript>

  function qencode(urlvars){

              var tempurlvars = URLEncodedFormat(urlvars  & RandRange(0,
  9));

              var strlen = len(tempurlvars);

              var newstr = "";

              var tempstr = "";

              var i = 1;

              var key = 65;

              for(i=1;i lte strlen;i=i+1) {

                          tempstr = Asc(Mid(tempurlvars, i, 1));

                          newstr = newstr & Chr(tempstr + 3);

              }

              return URLEncodedFormat(newstr);

  }

  </cfscript>

  <cfscript>

  function qdecode(urlvars){

              var tempurlvars = URLDecode(urlvars);

              var strlen = len(tempurlvars);

              var newstr = "";

              var tempstr = "";

              var i = 1;

              for(i=1;i lte strlen;i=i+1) {

                          tempstr = Asc(Mid(tempurlvars, i, 1));

                          newstr = newstr & Chr(tempstr - 3);

      }

                 strReturn = 'Too Short:' & newstr & ':end';

     if (len(newstr)+1)

      strReturn = left(newstr,len(newstr)-1);

              return strReturn;

  }

  </cfscript>

  Mark W. Breneman
  -Cold Fusion Developer
  -Network Administrator
    Vivid Media
    [EMAIL PROTECTED]
    www.vividmedia.com
    608.270.9770

  -----Original Message-----
  From: Calvin Ward [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, October 08, 2003 3:16 PM
  To: CF-Talk
  Subject: Re: Ok, I give up UDF error

  What does this do for you?

  <cfscript>
  function qdecode(urlvars){
              var tempurlvars = URLDecode(urlvars);
              var strlen = len(tempurlvars);
              var tempstr = "";
              var i = 1;
              var newstr = "";
              for(i=1;i lte strlen;i=i+1) {
                          tempstr = Asc(Mid(tempurlvars, i, 1));
                          newstr = newstr & Chr(tempstr - 3);
              }
     strReturn = 'Too Short:' & newstr & ':end';
     if (len(newstr)+1)
      strReturn = left(newstr,len(newstr)-1);
      }
  </cfscript>

  - Calvin
    ----- Original Message -----
    From: Mark W. Breneman
    To: CF-Talk
    Sent: Wednesday, October 08, 2003 3:52 PM
    Subject: RE: Ok, I give up UDF error

    Good question, but no, I have ran the output several times and checked
    all values none are blank.

    Mark W. Breneman
    -Cold Fusion Developer
    -Network Administrator
      Vivid Media
      [EMAIL PROTECTED]
      www.vividmedia.com
      608.270.9770

    -----Original Message-----
    From: Matthew Walker [mailto:[EMAIL PROTECTED]
    Sent: Wednesday, October 08, 2003 2:44 PM
    To: CF-Talk
    Subject: Re: Ok, I give up UDF error

    Is your input string empty?
      ----- Original Message -----
      From: Mark W. Breneman
      To: CF-Talk
      Sent: Thursday, October 09, 2003 8:37 AM
      Subject: Ok, I give up UDF error

      This seems so simple. All I want to do is to trim the last char from
    the
      return string.  I keep getting this error "Parameter 2 of function
    Left
      which is now -1 must be a positive integer"

      If I hard code a value in the UDF works with out a problem.  But
  when
    I
      put in the len(newstr)-1  into the "left" function it seems to
    evaluate
      to 0.

      Can anyone help me out?

      <cfscript>

      function qdecode(urlvars){

                  var tempurlvars = URLDecode(urlvars);

                  var strlen = len(tempurlvars);

                  var tempstr = "";

                  var i = 1;

                  var newstr = "";

                  for(i=1;i lte strlen;i=i+1) {

                              tempstr = Asc(Mid(tempurlvars, i, 1));

                              newstr = newstr & Chr(tempstr - 3);

                  }

                  return left(newstr,len(newstr)-1);

      }

      </cfscript>

      Mark W. Breneman

      -Cold Fusion Developer

      -Network Administrator

        Vivid Media

        [EMAIL PROTECTED]

        www.vividmedia.com

        608.270.9770

      _____

    _____


[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]

Reply via email to