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:
|
#2
|
||||
|
||||
|
#3
|
|||
|
|||
That doesn't seem to be working. When I try to save the template with:
Code:
{vb:stylevar htmldoctype} <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}</title> {vb:raw headinclude} </head> <body> {vb:raw header} {vb:raw navbar} <div id="pagetitle"> <h1>{vb:raw pagetitle}</h1> </div> <h2 class="blockhead">Test Form Data</h2> <div class="blockbody"> <div class="blockrow"> <vb:if condition="$show['member']"> <p>You are logged in.</p> <vb:else /> <p>You are not logged in.</p> <vb:if /> </div> </div> {vb:raw footer} </body> </html> |
#4
|
||||
|
||||
Sorry, that was my syntax error.
Code:
<vb:if condition="$show['member']"> <vb:else /> </vb:if> Code:
<vb:if /> Code:
</vb:if> |
#5
|
||||
|
||||
For a vB4 template..
Incorrect: HTML Code:
<input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />
HTML Code:
<input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />
|
#6
|
|||
|
|||
Dygear, Lynne: You two are great. Those suggestions work perfectly. Thanks for your time and assistance
|
#7
|
||||
|
||||
Lynne, thanks for that. The new syntax never hit me, even tho I read it like 5 times, I did not see that problem.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|