The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
External PHP forms not posting properly, also question about structure
Regarding my last thread (https://vborg.vbsupport.ru/showthread.php?t=231999)...
When I attempt to post the form that I created, vBulletin gives an error: Quote:
Code:
<? // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('THIS_SCRIPT', 'testform'); 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('TESTFORM', ); // 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('' => 'Test Form')); $navbar = render_navbar_template($navbits); // ###### YOUR CUSTOM CODE GOES HERE ##### $pagetitle = 'Test Form Submission'; $poutput = ''; if( $vbulletin->userinfo['userid'] == '' ) { $poutput = '<p>You must be logged in to use this form.</p>'; } else { $poutput = ' <p>Hello, user #' . $vbulletin->userinfo['userid'] . '. Please fill out the form below.</p> <form action="testform_submit.php" method="post"> <input type="hidden" name="t" value="1"/> <table border="0"> <tr> <td align="right" valign="center"><b>Name:</b></td> <td valign="center"><input type="text" name="uname" size="30"/></td> </tr> </table><br/><br/> <input type="submit" name="submit" value="OK"/> </form>'; } // ###### NOW YOUR TEMPLATE IS BEING RENDERED ###### $templater = vB_Template::create('TESTFORM'); $templater->register_page_templates(); $templater->register('navbar', $navbar); $templater->register('pagetitle', $pagetitle); $templater->register('poutput', $poutput); print_output($templater->render()); ?> Code:
<? /* * Test Form - Submit Script */ // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('THIS_SCRIPT', 'testformsubmit'); 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('TESTFORMSUBMIT', ); // 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('' => 'Test Form Submit')); $navbar = render_navbar_template($navbits); // ###### YOUR CUSTOM CODE GOES HERE ##### $pagetitle = 'Test Form Submission Script'; $presult = ''; if( $vbulletin->userinfo['userid'] == '' ) { $presult = '<p>You must be logged in to process user forms.</p>'; } else { if( $_POST['t'] != '1' ) { $presult = '<p>This script cannot be run directly.</p>'; } else if( $_POST['uname'] == '' ) { $presult = '<p>You must enter your name.</p>'; } else { $presult = '<p>Your name is ' . $_POST['uname'] . '.</p>'; } } // ###### NOW YOUR TEMPLATE IS BEING RENDERED ###### $templater = vB_Template::create('TESTFORMSUBMIT'); $templater->register_page_templates(); $templater->register('navbar', $navbar); $templater->register('pagetitle', $pagetitle); $templater->register('presult', $presult); print_output($templater->render()); ?> This had no effect, however. The problem persists. Viewing source on the form, there is no value set for the securitytoken field. So, my two questions here:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|