vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   help with eval (https://vborg.vbsupport.ru/showthread.php?t=42683)

Boofo 08-24-2002 05:59 AM

help with eval
 
Can anyone please tell me how to add an eval statement to this so I can put the information into a template? I know it's simple, I just can't see it. :)

Code:

if (($bday[2]>=21 and $bday[1]==3) or ($bday[2]<=19 and $bday[1]==4)) {
  $zodiacsign="Aries";
} else if (($bday[2]>=20 and $bday[1]==4) or ($bday[2]<=20 and $bday[1]==5)) {
  $zodiacsign="Taurus";
} else if (($bday[2]>=21 and $bday[1]==5) or ($bday[2]<=20 and $bday[1]==6)) {
  $zodiacsign="Gemini";
} else if (($bday[2]>=21 and $bday[1]==6) or ($bday[2]<=22 and $bday[1]==7)) {
  $zodiacsign="Cancer";
} else if (($bday[2]>=23 and $bday[1]==7) or ($bday[2]<=22 and $bday[1]==8)) {
  $zodiacsign="Leo";
} else if (($bday[2]>=23 and $bday[1]==8) or ($bday[2]<=22 and $bday[1]==9)) {
  $zodiacsign="Virgo";
} else if (($bday[2]>=23 and $bday[1]==9) or ($bday[2]<=22 and $bday[1]==10)) {
  $zodiacsign="Libra";
} else if (($bday[2]>=23 and $bday[1]==10) or ($bday[2]<=21 and $bday[1]==11)) {
  $zodiacsign="Scorpio";
} else if (($bday[2]>=22 and $bday[1]==11) or ($bday[2]<=21 and $bday[1]==12)) {
  $zodiacsign="Sagittarius";
} else if (($bday[2]>=22 and $bday[1]==12) or ($bday[2]<=19 and $bday[1]==1)) {
  $zodiacsign="Capricorn";
} else if (($bday[2]>=20 and $bday[1]==1) or ($bday[2]<=18 and $bday[1]==2)) {
  $zodiacsign="Aquarius";
} else if (($bday[2]>=19 and $bday[1]==2) or ($bday[2]<=20 and $bday[1]==3)) {
  $zodiacsign="Pisces";
} else {
  $zodiacsign="Can not define without a birth month and day.";
}
if($zodiacsign=="Can not define without a birth month and day.") {
  $zodiacimage="NA.gif";
} else {
  $zodiacimage=$zodiacsign.".gif";
}

and here's what I need to put in the template (called getinfo_zodiac):

Code:

<tr><td valign="top"><smallfont><B>Zodiac Sign: </B></smallfont></td><td valign="top"><smallfont>$zodiacsign
</smallfont></td></tr>


g-force2k2 08-24-2002 07:45 AM

Boofo is this what you're looking for?

PHP Code:

eval("\$getinfo_zodiac = \"".gettemplate("getinfo_zodiac")."\";"); 

regards...

g-force2k2

Boofo 08-24-2002 07:48 AM

I had:

Quote:

eval("\$zodiacsign = \"".gettemplate("getinfo_zodiac")."\";");
but how do I add it to the above code? I tried and all I get is a big 10 at the top of my profile. :)

Quote:

Originally posted by g-force2k2
Boofo is this what you're looking for?

PHP Code:

eval("\$getinfo_zodiac = \"".gettemplate("getinfo_zodiac")."\";"); 

regards...

g-force2k2


g-force2k2 08-24-2002 07:53 AM

Boofo so the second code is the template (getinfo_zodiac) that you're trying to integrate into the getinfo templates? regards...

g-force2k2

Boofo 08-24-2002 07:55 AM

Yes. I want it to pull up the template if there is a zodiac sign and not do anything if there isn't. Here is the revised code that I need to have the template for.

PHP Code:

if (($bday[2]>=21 and $bday[1]==3) or ($bday[2]<=19 and $bday[1]==4)) {
  
$zodiacsign="Aries";
} else if ((
$bday[2]>=20 and $bday[1]==4) or ($bday[2]<=20 and $bday[1]==5)) {
  
$zodiacsign="Taurus";
} else if ((
$bday[2]>=21 and $bday[1]==5) or ($bday[2]<=20 and $bday[1]==6)) {
  
$zodiacsign="Gemini";
} else if ((
$bday[2]>=21 and $bday[1]==6) or ($bday[2]<=22 and $bday[1]==7)) {
  
$zodiacsign="Cancer";
} else if ((
$bday[2]>=23 and $bday[1]==7) or ($bday[2]<=22 and $bday[1]==8)) {
  
$zodiacsign="Leo";
} else if ((
$bday[2]>=23 and $bday[1]==8) or ($bday[2]<=22 and $bday[1]==9)) {
  
$zodiacsign="Virgo";
} else if ((
$bday[2]>=23 and $bday[1]==9) or ($bday[2]<=22 and $bday[1]==10)) {
  
$zodiacsign="Libra";
} else if ((
$bday[2]>=23 and $bday[1]==10) or ($bday[2]<=21 and $bday[1]==11)) {
  
$zodiacsign="Scorpio";
} else if ((
$bday[2]>=22 and $bday[1]==11) or ($bday[2]<=21 and $bday[1]==12)) {
  
$zodiacsign="Sagittarius";
} else if ((
$bday[2]>=22 and $bday[1]==12) or ($bday[2]<=19 and $bday[1]==1)) {
  
$zodiacsign="Capricorn";
} else if ((
$bday[2]>=20 and $bday[1]==1) or ($bday[2]<=18 and $bday[1]==2)) {
  
$zodiacsign="Aquarius";
} else if ((
$bday[2]>=19 and $bday[1]==2) or ($bday[2]<=20 and $bday[1]==3)) {
  
$zodiacsign="Pisces";
} else {
  
$zodiacsign="";



g-force2k2 08-24-2002 08:00 AM

okay Boofo try this code then ::

PHP Code:

if($zodiacsign == "") { 
  
$getinfo_zodiac "";
} else {
  eval(
"\$getinfo_zodiac = \"".gettemplate("getinfo_zodiac")."\";");



Boofo 08-24-2002 08:06 AM

Nope, that didn't do it. Any other ideas? I know it is just a syntax problem I am missing here. I need to eval the template at the end of the code.

g-force2k2 08-24-2002 08:11 AM

umm... just a question Boofo when you tested my code did you replace my variables with yours?

g-force2k2

Boofo 08-24-2002 08:14 AM

I tried your code first and then my variables and neither one worked. here is what I had before with it all together:

PHP Code:

if (($bday[2]>=21 and $bday[1]==3) or ($bday[2]<=19 and $bday[1]==4)) {
  
$zodiacsign="Aries";
} else if ((
$bday[2]>=20 and $bday[1]==4) or ($bday[2]<=20 and $bday[1]==5)) {
  
$zodiacsign="Taurus";
} else if ((
$bday[2]>=21 and $bday[1]==5) or ($bday[2]<=20 and $bday[1]==6)) {
  
$zodiacsign="Gemini";
} else if ((
$bday[2]>=21 and $bday[1]==6) or ($bday[2]<=22 and $bday[1]==7)) {
  
$zodiacsign="Cancer";
} else if ((
$bday[2]>=23 and $bday[1]==7) or ($bday[2]<=22 and $bday[1]==8)) {
  
$zodiacsign="Leo";
} else if ((
$bday[2]>=23 and $bday[1]==8) or ($bday[2]<=22 and $bday[1]==9)) {
  
$zodiacsign="Virgo";
} else if ((
$bday[2]>=23 and $bday[1]==9) or ($bday[2]<=22 and $bday[1]==10)) {
  
$zodiacsign="Libra";
} else if ((
$bday[2]>=23 and $bday[1]==10) or ($bday[2]<=21 and $bday[1]==11)) {
  
$zodiacsign="Scorpio";
} else if ((
$bday[2]>=22 and $bday[1]==11) or ($bday[2]<=21 and $bday[1]==12)) {
  
$zodiacsign="Sagittarius";
} else if ((
$bday[2]>=22 and $bday[1]==12) or ($bday[2]<=19 and $bday[1]==1)) {
  
$zodiacsign="Capricorn";
} else if ((
$bday[2]>=20 and $bday[1]==1) or ($bday[2]<=18 and $bday[1]==2)) {
  
$zodiacsign="Aquarius";
} else if ((
$bday[2]>=19 and $bday[1]==2) or ($bday[2]<=20 and $bday[1]==3)) {
  
$zodiacsign="Pisces";
  eval(
"\$zodiacsign = \"".gettemplate("getinfo_zodiac")."\";");
} else {
  
$zodiacsign="";


Like I said, I know I have the syntax wrong here for evaluating the template. I feel really stupid on this. :)

Quote:

Originally posted by g-force2k2
umm... just a question Boofo when you tested my code did you replace my variables with yours?

g-force2k2


g-force2k2 08-24-2002 08:23 AM

well from that code you're showing me you can't use $zodiacsign in the eval because then you changed its original value of what it was to now define the template... maybe that maeks sense? regards

change this:

PHP Code:

  eval("\$zodiacsign = \"".gettemplate("getinfo_zodiac")."\";"); 

to this:

PHP Code:

  eval("\$zodiacsigns = \"".gettemplate("getinfo_zodiac")."\";"); 

and make sure that you have the $zodiacsigns in the getinfo template where you want the getinfo_zodiac template to appear and also make sure that this code is in the member.php :P (but im sure you know that :))

hopefully that helps somewhat?

g-force2k2

Boofo 08-24-2002 08:28 AM

LOL I told you I was feeling stupid on this one. Your code works fine. :)

I forgot to change the variable in the getinfo template to $getinfo_zodiac like you had it in the code. I've been tearing myself up over this for almost 3 hours now and it was there slapping me in the face the whole time. It's usually the simple stuff that messes us up, huh? :) Thanks for all for the help. I owe you one, my friend. :)

g-force2k2 08-24-2002 08:30 AM

lol Boofo don't worry i probably do it waaay more then you ;) damn parse errors for me :p but its all good... i knew that the code should've worked one way or another :) just glad its all good... just another usual day of hacking for us eh? ^^

g-force2k2

Boofo 08-24-2002 08:32 AM

I need to ask you, for my own curiosity...why couldn't I slip the eval statement in before I had it at zodiacsign="". They do that with the birthday variable and other ones. How come that won't work here? Because of all of the else if statements? I'd like to understand this a little better. :)

g-force2k2 08-24-2002 08:38 AM

well its not that you can't do it that way... but with each elseif that you have and you want to define it before then $zodiacsign=""; then you'd have to use the same eval station after each esleif... kinda like this:

PHP Code:

 } else if (($bday[2]>=20 and $bday[1]==4) or ($bday[2]<=20 and $bday[1]==5)) {
  
$zodiacsign="Taurus";
  eval(

} else if ((
$bday[2]>=21 and $bday[1]==5) or ($bday[2]<=20 and $bday[1]==6)) {
  
$zodiacsign="Gemini";
  eval(" 

etc... so after defining each zodiacsign you'd have to eval the template ;) but i just avoided that by waiting after the $zodiacsign=""; so that i could define that one as not eval the template and then everything other then "" would eval the template... hope i make any sense :P

g-force2k2

Boofo 08-24-2002 08:53 AM

Ahhh, ok, that makes sense now. Instead of defining it twelve times, by waiting until after the zodicasign="", you can basically just save some code and do it once, right? So, then for each else statement you have to do an eval if you want to use a template or do it like we did here. I almost went the route of defining the eval after each else if but I knew there had to be an easier way to do it, I just wasn't sure how. :) I should have known that. Duuhhh!!! Believe it or not, that is the first time I have run into more than one else statement. LOL Again, thank you very much for guiding me through this. I had another piece of code with 12 else statements and I used to same type of thing that you showed me here for it and it worked great!

g-force2k2 08-24-2002 08:55 AM

np Boofo always glad to help someone like you :)

g-force2k2

Boofo 08-24-2002 09:05 AM

Does that mean I'm special? I get to ride the little yellow bus to school? ;)

Neo 08-25-2002 05:48 AM

You mean you dont anymore :(
Now I am the only one :dead:

Boofo 08-25-2002 06:48 AM

Move over! After my little fiasco here and the birthday problem (don't even ask, and gforce, that is our little secret :)) it looks like I'm back on the bus. :(

Quote:

Originally posted by Neo
You mean you dont anymore :(
Now I am the only one :dead:


Neo 08-25-2002 07:19 AM

YAY ^_^
I am sure susy will be drooling all over you once again ;)

Boofo 08-25-2002 07:22 AM

Is suzy back on the bus, too? Gosh, how long has it been since we've seen her? (Can you say NEVER!) ;)

Quote:

Originally posted by Neo
YAY ^_^
I am sure susy will be drooling all over you once again ;)


Neo 08-25-2002 08:34 AM

Yeah I was wondering about that oO

I think Freddie is the bus drivig tomorrow Oo

Boofo 08-25-2002 08:40 AM

I heard Freddie is sitting in the back with us from now on. That's the rumor I started (I mean heard), anyway. :)

Quote:

Originally posted by Neo
Yeah I was wondering about that oO

I think Freddie is the bus drivig tomorrow Oo



All times are GMT. The time now is 02:49 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03380 seconds
  • Memory Usage 1,860KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (8)bbcode_php_printable
  • (6)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (23)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete