Hello all, still struggling with trying to make my helpfile context sensitive, thanks to much assistance from here, I can read in my hash values, and even get them output to screen but for some reason my topic hash values don't survive into the next phase of the operation which would be to force the contents of the iframe to jump to the relevant portion of the helpfile. I figured out how to switch to the correct tab, but no content loads within that tab when I do, how do I get that to happen? Shouldn't a $request->$redirect(tabname); work? some code that sort of works..I think am about 1/2 the way there..
User = $Request->item("Login")->item(); $Site = $Request->item("Site")->item(); $topic= $Request->item("Topic")->item(); my $Referer = $Request->ServerVariables("HTTP_REFERER")->item(); my $string=$Request->ServerVariables("QUERY_STRING")->item(); use CGI; use OLE; $query= new CGI; %ttopics = ( home => 'C1.html', listingmgr => 'C2.html', cma => 'C3.html', ) if (!defined($topic)) { # ...handle error... next; } $nightmare = $ttopics{$topic}; @_=$nightmare; print "@_ is "; if (!defined($target)) { # ...handle error... next; } $Response->Write("Topic is $topic\n"); $Response->Write("my target is $nightmare\n"); if ($Session->{'isAuthenticated'} = 1) { $Response->Redirect($Session->{'this'}); #this is the index file of help website. }
this actually does assign correct value to hash and prints out, this is matching a topic being passed from querystring of a production server to an online help website so thusfar I have managed to pass my value into the site (Proven by printing it out in the actual page generated.. now in the base file, I find a $current variable which sets the tab to be main, I change that to be my help tab(my desired tab if I have a query string) however no help content is displayed until I click that tab again, how can I force it to display something anything but that darn blank window Ok I am posting the 'missing' pieces of the preauth file to see if pc88 is onto something..my apologies for the length of this, I am still new to perl and not sure what info to post. the value of 'this' is the index.asp file and is set in global.asa, I think I now understand why it is not working, its due to the transform which doesn't get called until clicking on the help tab, which is going to be a problem, I was thinking a possible workaround would be to try to input the helpfile into the db and pull it out that way but I am not sure how to go about stuffing an entire series of helpfile into the db, can anyone offer advice on how to go about setting that up so it would work, it would need to connect to db-execute a query with the existing querystring topic as a parameter and populate the iframe with the desired help content.
$User = $Request->item("Login")->item(); $Site = $Request->item("Site")->item(); $topic= $Request->item("Topic")->item(); my $Referer = $Request->ServerVariables("HTTP_REFERER")->item(); my $string=$Request->ServerVariables("QUERY_STRING")->item(); use CGI; use OLE; $query= new CGI; %ttopics = ( home => 'c1.htm', listingmgr => 'c2.htm', ); if (!defined($topic)) { $Response->write("hey we don't have a topic its undefined\n"); # ...handle error... } $nightmare = $ttopics{$topic}; @_=$nightmare; print "@_ is "; if (!defined($nightmare)) { $Response->write("no startpoint specified\n"); # ...handle error... } $Response->Write("Topic is $topic\n"); $Response->Write("my startpoint is $nightmare\n"); #commented out testing values in hash worked #while (my ($topic, $ttopics)=each(%ttopics)){ #$Response->Write("$topic=>$ttopics\n"); #} ### TEMPORARY ALIAS WORKAROUND - Set Site Alias to correct Site Code if ($Site eq "BAY") { $Site = "BRB" } ### END ALIAS WORKAROUND #### SESSION ISSUE WORKAROUND - if already authed or never logged out +undef the session variables #### if ($Session->{'isAuthenticated'} = 1) { $Session->{'isAuthenticated'} = -1; $Session->{'acrobatVersion'} = undef; $Session->{'screenX'} = undef; $Session->{'screenY'} = undef; $Session->{'usrID'} = undef; $Session->{'usrName'} = undef; $Session->{'usrSystem'} = undef; $Session->{'usrAccount'} = undef; $Session->{'usrPassword'} = undef; $Session->{'usrLevel'} = undef; $Session->{'usrEveningContact'} = undef; $Response->Redirect($Session->{'this'.$nightmare}); # this may need to be commented out as this is global!# } # if ($Referer =~ m/mlxchange.com/i) # { my $sql = "SELECT Name1, Name2, Name3, Email, SystemID, AccountID, AccessLvl, MLXChange, PhoneNum, AltNum, Password, ContactEmail, ContactNum FROM ARAdmin.MLSUser WHERE Username = '$User' AND SystemID = '$Site'"; my $MLSUser = ARSselect($sql); if ($MLSUser->{numMatches} == 1) { $Session->{'isAuthenticated'} = 1; $Session->{'acrobatVersion'} = $Request->item("acrobatVers +ion")->item(); $Session->{'screenX'} = $Request->item("screenX")->item(); $Session->{'screenY'} = $Request->item("screenY")->item(); $Session->{'usrID'} = $User; $Session->{'usrName'} = @{@{$MLSUser->{rows}}[0]}[ +0]." ".@{@{$MLSUser->{rows}}[0]}[2]; $Session->{'usrSystem'} = @{@{$MLSUser->{rows}}[0] +}[4]; $Session->{'usrAccount'} = @{@{$MLSUser->{rows}}[0]}[5 +]; $Session->{'usrPassword'} = @{@{$MLSUser->{rows}}[0]}[ +10]; $Session->{'usrLevel'} = @{@{$MLSUser->{rows}}[0]} +[6]; $Session->{'usrEveningContact'} = @{@{$MLSUser->{rows} +}[0]}[9]; if (@{@{$MLSUser->{rows}}[0]}[11]) { $Session->{'usrEmail'} = @{@{$MLSUser->{rows}} +[0]}[11]; } else { $Session->{'usrEmail'} = @{@{$MLSUser->{rows}} +[0]}[3]; } if (@{@{$MLSUser->{rows}}[0]}[7] == 2) { $Session->{'usrType'} = "Pro"; } else { $Session->{'usrType'} = "Std"; } if (uc($User) eq "NAT") { $Session->{'usrClass'} = "8"; } else { $Session->{'usrClass'} = "0"; } if (@{@{$MLSUser->{rows}}[0]}[12]) { $Session->{'usrDayContact'} = @{@{$MLSUser->{rows} +}[0]}[12]; } else { $Session->{'usrDayContact'} = @{@{$MLSUser->{rows} +}[0]}[8]; } } else { #$Response->Redirect($Session->{'this'}); } # } if ($Session->{'isAuthenticated'} && $Session->{'trackSession'} && + !$Session->{'SessionTracked'}) { use OLE; my $Conn = CreateObject OLE "ADODB.Connection"; $Conn->Open("PROVIDER=SQLOLEDB;DATA SOURCE=$Session->{'sqlServ +er'};UID=$Session->{'sqlUser'};PWD=$Session->{'sqlPass'};DATABASE=$Se +ssion->{'dbName'}"); my $RS = $Server->CreateObject("ADODB.Recordset"); my $RS2 = $Server->CreateObject("ADODB.Recordset"); my $sql = "INSERT into t_Sessions (Site, SessionDate, Session +ID, System, Account, UserLevel, UserType, UserID, Name, UserClass, Us +erIP, UserAgent, UserResolution, UserAcrobatVer, UserTimeSpent, Refer +rer) values ('". substr($Request->ServerVariables("SERVER_NAME")->ite +m(),0,50). "','". MSSQLDate($Session->{'timeStart'}). "','". $Session->{'SessionID'}. "','". substr(uc($Session->{'usrSystem'}),0,3). "','". substr(uc($Session->{'usrAccount'}),0,3). "','". substr($Session->{'usrLevel'},0,5). "','". substr($Session->{'usrType'},0,3). "','". substr($Session->{'usrID'},0,15). "','". substr($Session->{'usrName'},0,50). "','". substr($Session->{'usrClass'},0,10). "','". substr($Request->ServerVariables("REMOTE_ADDR")->ite +m(),0,15). "','". substr($Request->ServerVariables("HTTP_USER_AGENT")- +>item(),0,255). "','". substr($Session->{'screenX'}."x".$Session->{'screenY +'},0,10). "','". $Session->{'acrobatVersion'}. "','0','". substr($Request->ServerVariables("HTTP_REFERER")->it +em(),0,255). "');"; if ($Session->{'trackDB'}){lg("DB","$sql");} $RS = $Conn->Execute($sql); my $sqlQ = "SELECT idSession FROM t_Sessions WHERE SessionID='$Session->{'SessionID'}' AND SessionDate = '".MSSQLDate($Session->{'ti +meStart'})."';"; if ($Session->{'trackDB'}){lg("DB","$sqlQ");} $RS2->Open($sqlQ, $Conn); if (!$RS2->EOF()) { $Session->{'idSession'} = $RS2->Fields('idSession')->{Valu +e}; $RS2->Close; $Session->{'SessionTracked'} = 1; } $Conn->Close; #$Response->Redirect($Session->{'this'}); }

In reply to problems passing value by grashoper

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.