View Full Version : How do I run a PHP script in my templates? (VB 3.03)
larryd
01-19-2007, 06:41 AM
I have written my own code to randomly display a banner that is PHP/mySQL based. What I am trying to figure out is how to get the code which works great when I call it myself to work with Vbulletin.
The code is
<?
include("include/dbconnect.php");
$result = mysql_query("SELECT * FROM $table where active = 'Y' ORDER BY RAND() LIMIT 0,1",$db);
$row = mysql_fetch_array($result);
$did = $row["did"];
$image_url = $row["image_url"];
$url = $row["url"];
$alt_text = $row["alt_text"];
$target = $row["target"];
$width = $row["width"];
$height = $row["height"];
$active = $row["active"];
$richtext = $row["richtext"];
$code = $row["code"];
if ($richtext == 'Y') { $banner = "$code"; } ELSE { $banner = "<a href='$url' target='$target'><img src='$image_url' border='0' alt='$alt_text' width='$width' height='$height'></a>"; }
echo "$banner";
?>
I tried calling this in my forum header template by saying
<script src="http://www.newcelica.org/banners/display.php"></script>
But it does not display anything. Any help is truly appreciated as I'm stumped on this one.
Dismounted
01-19-2007, 07:09 AM
<script> tags are used for client-side scripting. PHP is server-side. Have you tried editing the core files directly?
larryd
01-19-2007, 07:42 AM
you mean edit index.php rather then the templates. I suppose thats an option but figuring out how to get the placement exactly where you want it with out using the templates is a pita.
Dismounted
01-19-2007, 08:37 AM
Just copy the script into the correct php file and ommit the "echo". And then just put $banner where you want it in the templates.
larryd
01-31-2007, 04:52 PM
I tried that and it did not work; It doesn't display anything.
I added the following to the index.php file
require_once('/pathto/display_ar.php');
And in the display_ar.php file I simply set the variable $banner and I tried calling it in my header template and it did nothing.
Digitalus
01-31-2007, 05:06 PM
Why dont you make a plugin?
Hook Location global_start
ob_start();
include('/pathto/display_ar.php'');
$banner = ob_get_contents();
ob_end_clean();
and put $banner in your template
larryd
01-31-2007, 05:23 PM
tried that too.. I put it in the PHP Include Start Template. And it did nothing either.
Dismounted
02-02-2007, 05:28 AM
Errr, vBulletin 3.0.3 has not got a plugin system.
alexhirurg
02-02-2007, 12:01 PM
also don't forget to set your variable global in plugin - if you will make plugin!
global $banner;
$banner = .....
otherwise you will not see your variable in some templates.
Dismounted
02-03-2007, 01:23 AM
also don't forget to set your variable global in plugin - if you will make plugin!
global $banner;
$banner = .....
otherwise you will not see your variable in some templates.
Do you not understand vBulletin 3.0.3 doesn't have a plugin system?
larryd
02-03-2007, 05:41 AM
I used to run PHPledads and the script worked perfectly fine with that using the SCRIPT command in the header template. I see that they used document.write which I've also managed to get working in my banner code however the problem I'm having is getting the document.write to display flash and other types of ad codes like google for instance being rich text. It seems like the $banner variable doesn't get interpreted correctly when it is rich text through the SCRIPT SRC = 'mysource.php' command line.
Digitalus
02-03-2007, 10:44 AM
Errr, vBulletin 3.0.3 has not got a plugin system.
Sorry. didnt know that.. never had a 3.0.3
WEBDosser
02-03-2007, 10:51 AM
could you not use the include command somewhere?..
Arrangements
07-24-2007, 05:40 AM
Why dont you make a plugin?
Hook Location global_start
ob_start();
include('/pathto/display_ar.php'');
$banner = ob_get_contents();
ob_end_clean();
and put $banner in your template
After reading this post, it has really helped me a lot. I spent hours trying to figure out how to put php into my templates and now I know. Thanks
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.