View Full Version : Custom Page with Custom PHP tags
Zukran
07-18-2012, 07:01 PM
So I've managed to create a custom php for my website using this method:https://vborg.vbsupport.ru/showthread.php?t=228112 and it works great! I've done some searching and I can't seem to find a way to use php on such a page.
I need to be able to use php and call to a external database outside of the forums database also using GET attributes. Example code I need to use:
mysql_connect("host", "username", "pasword") or die(mysql_error());
//Connects to the database
mysql_select_db("database") or die(mysql_error());
$id = $_GET["id"];
$result = mysql_query("SELECT * FROM database WHERE id ='$id'");
while ($row = mysql_fetch_assoc($result))
{
$population= $row['population'];
}
echo "$population and $id";
I've tried including this in the template area designated by the thread I posted above but it doesn't seem to respond to php. Does any one know if its possible in add php to custom pages? and how?
Thank-you in advance!
Ryan
Sarteck
07-18-2012, 08:10 PM
Hmm, tbh, I'd have to see your entire code (minus any usernames or passwords, etc.) to get an idea what you might be doing wrong. Could you post the entire PHP page, and the vBulletin template(s) you made?
Zukran
07-20-2012, 03:36 PM
So the html tables and what not, is working fine. I tried to echo out a simple "Test" from the template using php and it doesn't seem to work. If I put it under the
// ###### YOUR CUSTOM CODE GOES HERE #####
It works, but it displays above my page, when I need it to display in the same place as my tables.
Php page:
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'test');
define('CSRF_PROTECTION', true);
// change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array('brothers',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ######################### REQUIRE BACK-END ############################
// if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line
// chdir ('/path/to/your/forums');
require_once('./global.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$navbits = construct_navbits(array('' => 'Liquid Zero: Brothers'));
$navbar = render_navbar_template($navbits);
// ###### YOUR CUSTOM CODE GOES HERE #####
$pagetitle = 'Liquid Zero: Brothers';
// ###### NOW YOUR TEMPLATE IS BEING RENDERED ######
$templater = vB_Template::create('brothers');
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('pagetitle', $pagetitle);
print_output($templater->render());
?>
Template:
<html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html">
<head>
<title>{vb:raw vboptions.bbtitle} - {vb:raw pagetitle}</title>
{vb:raw headinclude}
{vb:raw headinclude_bottom}
</head>
<body>
{vb:raw header}
{vb:raw navbar}
<div id="pagetitle">
<h1>{vb:raw pagetitle}</h1>
</div>
<h2 class="blockhead">Liquid Zero Brothers</h2>
<div class="blockbody">
<div class="blockrow">
<?php
echo "Test";
?>
<center><br> <img src ="/images/newliqflag.png"><br><Br>
<table border="0" width="300">
<tr>
<td colspan='3'><font size="2" color="#37d7d6" ><center><b><u>GOVERNMENT</u></b></center></font></td></tr>
<tr><Td colspan='3'><center><font size="2">Caesar - <b>Aves</b></font></center></td></tr>
<tr><Td colspan='3'><center><font size="2">Deputy Caesar - <b>Examus</font></b></center></td></tr>
<tr><Td colspan='3'><center><font size="2">Senate Council - <b>Examus , Eddy</font></b></center></td></tr>
<tr><Td colspan='3'><center><font size="2">War Prefect - <b>D3adp0ol53</font></b></center></td></tr>
<tr><Td colspan='3'><center><font size="2">Admin Prefect - <b>Enrigo Donkini</b></font></center></td></tr>
<tr><Td colspan='3'><center><font size="2">Xeno Prefect - <b>Black Panther</b></font></center></td></tr>
</table>
<br>
<table border="0" width="300">
<tr><td colspan='3'><font size="2" color="#37d7d6"><center><b><u>BROTHERS</u></b></center></font></td></tr>
<tr><Td><center><font size="2">Rinzler</font></center></td><Td><center><font size="2">Sir Miller</font></center></td><td><center><font size="2">Bgorre</font></center></td></tr>
</table>
</div>
</div>
{vb:raw footer}
</body>
</html>
Sarteck
07-20-2012, 05:37 PM
Mmkay, inside of a template, you do not use the <?php ?> tags and stuff. All PHP (more or less) has to be done directly in your PHP page (and included pages).
Instead of the echo test, you'd be doing this: {vb:raw mytest}
Now your PHP code has to pass that mytest variable to the brothers template, like so:
$mytest = 'Test';
$templater = vB_Template::create('brothers');
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('pagetitle', $pagetitle);
$templater->register('mytest', $mytest);
See what I'm saying?
Zukran
07-21-2012, 12:07 AM
Great! Thanks a bunch Sarteck!
Sarteck
07-21-2012, 01:57 AM
No prob. :3 Post again if you run into other issues.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.