vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   problem with variable not being passed (https://vborg.vbsupport.ru/showthread.php?t=109810)

Delphiprogrammi 03-08-2006 08:15 AM

problem with variable not being passed
 
hi people,

what the hell is wrong with this code ?

PHP Code:

if($_GET['act'] == "completeremove")
{
      
$vbulletin->input->clean_array_gpc('g', array(
        
'id' => TYPE_INT,
        
'userid' => TYPE_INT,
        
'uname' => TYPE_STR,        
        
'wname' => TYPE_STR,
        
'postid' => TYPE_INT,
        
'ban' => TYPE_STR,
        
'orderstring' => TYPE_STR,
        ));


problem

$vbullein->GPC['ban'] (doesn't work)
$_GET['ban'] (works but that's against the coding standards)

it's an $_GET so the first parameter should be g (short from get).The strange thing is that the same code works fine in another method(yes the verry same code)

why ohhh why :devious:

Marco van Herwaarden 03-08-2006 09:01 AM

Quote:

Originally Posted by Delphiprogrammi
$vbullein->GPC['ban'] (doesn't work)

Try using $vbulletin (missing t)

Delphiprogrammi 03-08-2006 09:15 AM

1 Attachment(s)
Quote:

Originally Posted by MarcoH64
Try using $vbulletin (missing t)

that's a typo from me :shamed: problem is all variables from type TYPE_INT are passed just fine but TYPE_STR seems to have a problem

PHP Code:

echo ($vbulletin->GPC['ban']); 

that refuses to work

[high]* Delphiprogrammi is a shamed about the typo[/high]

hi people,

Look here you can see what i mean in the attach screengrabs.

i totally don't get it

Princeton 03-08-2006 01:02 PM

it works for me :confused:

?act=completeremove&ban=hello

displays : hello

Delphiprogrammi 03-08-2006 01:21 PM

Quote:

Originally Posted by princeton
it works for me :confused:

?act=completeremove&ban=hello

displays : hello

hmmmz i'm getting nuts here if it works for you it must be something i overlook :tired:

Marco van Herwaarden 03-08-2006 01:28 PM

Are you sure you are using GET vars?
How is this field passed/submitted to this scrips?

Delphiprogrammi 03-08-2006 02:00 PM

Quote:

Originally Posted by MarcoH64
Are you sure you are using GET vars?
How is this field passed/submitted to this scrips?

PHP Code:

if ($_GET['act'] == "remove"
{
        
$vbulletin->input->clean_array_gpc('g', array(
        
'id' => TYPE_INT,
        
'wname' => TYPE_STR,
        
'userid' => TYPE_INT,
        
'uname' => TYPE_STR,
        
'postid' => TYPE_INT,
        
'orderstring' => TYPE_STR,
        
'ban' => TYPE_STR,
        ));
    
    
$temp_wid=$vbulletin->GPC['id'];
    
$temp_wname=$vbulletin->GPC['wname'];
    
$temp_uid=$vbulletin->GPC['userid'];
    
$temp_uname=$vbulletin->GPC['uname'];
    
$temp_postid=$vbulletin->GPC['postid'];
    
$temp_order=$vbulletin->GPC['orderstring'];
    
$temp_ban=$vbulletin->GPC['ban'];
    
    echo 
" BAN: ";
    echo (
$vbulletin->GPC['ban']);

    
    if (
$temp_ban=='Y')
    {
        
$string_ban="<br><b>This warning has caused a ban. The ban will not be removed from the user's account.<br>Use the Complete Removal, if you want to remove tha ban from the user's account.</b>";
    }
    else
    {
        
$string_ban='';
    }
    
    
print_cp_header("Advanced Warning System Version {$AWS_VERSION}");
    
print_form_header('admin_warn''do_delete');
      
print_table_header("Removal (manual maturing) of a Warning");
    
construct_hidden_code('form','');
    
construct_hidden_code('temp_wid',$temp_wid);
    
construct_hidden_code('temp_uid',$temp_uid);
    
construct_hidden_code('temp_postid',$temp_postid);
    
construct_hidden_code('temp_order',$temp_order);
    
construct_hidden_code('temp_ban',$temp_ban);
    
print_yes_no_row("Are you sure you want to remove this warning?<p><table>
    <tr><td>Warned User ID</td><td>:</td><td>
$temp_uid</td></tr>
    <tr><td>Warned User Name</td><td>:</td><td>
$temp_uname</td></tr>
    <tr><td>Warning Type</td><td>:</td><td>
$temp_wname</td></tr>
    <tr><td>PostID</td><td>:</td><td>
$temp_postid</td></tr>
    <tr><td>Caused Ban</td><td>:</td><td>
$temp_ban</td></tr>
    <tr><td colspan='3'>
$string_ban</td></tr>
    </table><P><U><b>Caution:</b></U> This cannot be undone."
'verify','');
        
print_submit_row("Proceed"0);
    }
    
$vbulletin->input->clean_array_gpc('p', array(
        
'temp_wid' => TYPE_INT,
        
'temp_wname' => TYPE_STR,
        
'temp_uid' => TYPE_INT,
        
'temp_uname' => TYPE_STR,
        
'temp_postid' => TYPE_INT,
        
'temp_order' => TYPE_STR,
        
'ban' => TYPE_STR,
        
'verify' => TYPE_INT,
        )); 

works

PHP Code:

if ($_GET['act'] == "completeremove"
{
    
$vbulletin->input->clean_array_gpc('g', array(
        
'id' => TYPE_INT,
        
'userid' => TYPE_INT,
        
'uname' => TYPE_STR,        
        
'wname' => TYPE_STR,
        
'postid' => TYPE_INT,
        
'ban' => TYPE_STR,
        
'orderstring' => TYPE_STR,
        ));
    
$temp_wid=$vbulletin->GPC['id'];
    
$temp_uid=$vbulletin->GPC['userid'];
    
$temp_uname=$vbulletin->GPC['uname'];
    
$temp_wname=$vbulletin->GPC['wname'];
    
$temp_postid=$vbulletin->GPC['postid'];
    
$temp_ban=$vbulletin->GPC['ban'];
    
$temp_order=$vbulletin->GPC['orderstring'];
    echo 
"BAN: ";
    echo (
$vbulletin->GPC['ban']);
    
    if (
$temp_ban=='Y')
    {
        
$string_ban="<br><b>This warning has caused a ban. The ban will be removed from the user's account, but the user will not be unbanned, if he is currently banned.<br>Use the Unban User option, in the View Banned Users, in AWS Menu, to unban the user.</b>";
    }
    else
    {
        
$string_ban='';
    }
    
    
print_cp_header("Advanced Warning System Version {$AWS_VERSION}");
    
print_form_header('admin_warn''do_completedelete');
      
print_table_header("Complete Removal of a Warning");
    
construct_hidden_code('form','');
    
construct_hidden_code('temp_wid',$temp_wid);
    
construct_hidden_code('temp_uid',$temp_uid);
    
construct_hidden_code('temp_postid',$temp_postid);
    
construct_hidden_code('temp_order',$temp_order);
    
construct_hidden_code('temp_ban',$temp_ban);
    
print_yes_no_row("Are you sure you want to completely remove this warning?<p><table>
    <tr><td>Warned User ID</td><td>:</td><td>
$temp_uid</td></tr>
    <tr><td>Warned User Name</td><td>:</td><td>
$temp_uname</td></tr>
    <tr><td>Warning Type</td><td>:</td><td>
$temp_wname</td></tr>
    <tr><td>PostID</td><td>:</td><td>
$temp_postid</td></tr>
    <tr><td>Caused Ban</td><td>:</td><td>
$temp_ban</td></tr>
    <tr><td colspan='3'>
$string_ban</td></tr>
    </table><P><U><b>Caution:</b></U> This cannot be undone."
'verify','');
        
print_submit_row("Proceed"0);
    }
    
$vbulletin->input->clean_array_gpc('p', array(
        
'temp_wid' => TYPE_INT,
        
'temp_wname' => TYPE_STR,
        
'temp_uid' => TYPE_INT,
        
'temp_uname' => TYPE_STR,
        
'temp_postid' => TYPE_INT,
        
'temp_order' => TYPE_STR,
        
'ban' => TYPE_STR,
        
'verify' => TYPE_INT,
        )); 

doesn't work.The complete methods are to big to post

Marco van Herwaarden 03-08-2006 02:18 PM

Well that still don't answer my question. :D

What is the (HTML) source of the page that submits the act=completeremove.

Delphiprogrammi 03-08-2006 02:33 PM

Quote:

Originally Posted by MarcoH64
Well that still don't answer my question. :D

What is the (HTML) source of the page that submits the act=completeremove.

that hack is not mine actually just trying to help out my board is down at the moment can't look to post that html but i've seen before

HTML Code:

<input type="hidden" name="temp_ban" value="" /> (act=completeremove)
<input type="hidden" name="temp_ban" value="N" />(act remove)

that variable ban is staying empty in ?act=completeremove

Marco van Herwaarden 03-08-2006 02:47 PM

That is not the code for the "ban" variable (but temp_ban). Please post the whole <form> </form> block.

Delphiprogrammi 03-08-2006 03:30 PM

Quote:

Originally Posted by MarcoH64
That is not the code for the "ban" variable (but temp_ban). Please post the whole <form> </form> block.

hmmm temp_ban should have the value ban has that's why u call $vbulletin->GPC['ban']

this html is what you see when you goto the deleteform (completeremoval) right muis click => view source

HTML Code:

<form action="admin_warn.php" name="cpform" method="post">
<input type="hidden" name="do" value="do_completedelete" />
<br />
<table cellpadding="4" cellspacing="0" border="0" align="center" width="90%" class="tborder">
<tr>
        <td class="tcat" align="center" colspan="2"><b>Complete Removal of a Warning</b></td>
</tr>
<tr valign="top">
        <td class="alt1">Are you sure you want to completely remove this warning?<p><table>
        <tr><td>Warned User ID</td><td>:</td><td>3</td></tr>
        <tr><td>Warned User Name</td><td>:</td><td>tester</td></tr>
        <tr><td>Warning Type</td><td>:</td><td>ObsceneWords</td></tr>
        <tr><td>PostID</td><td>:</td><td>68</td></tr>
        <tr><td>Caused Ban</td><td>:</td><td></td></tr>
        <tr><td colspan='3'></td></tr>
        </table><P><U><b>Caution:</b></U> This cannot be undone.</td>
        <td class="alt1"><span class="smallfont" style="white-space:nowrap">
                <label for="rb_1_verify"><input type="radio" name="verify" id="rb_1_verify" value="1" tabindex="1" />Yes</label>
                <label for="rb_0_verify"><input type="radio" name="verify" id="rb_0_verify" value="0" tabindex="1" checked="checked" />No</label>
        </span></td>
</tr>
<tr>
        <td class="tfoot" colspan="2" align="center">        <input type="submit" class="button" tabindex="1" value="Proceed " accesskey="s" />
</td>
</tr>
</table>
<input type="hidden" name="form" value="" />
<input type="hidden" name="temp_wid" value="7" />
<input type="hidden" name="temp_uid" value="3" />
<input type="hidden" name="temp_postid" value="68" />
<input type="hidden" name="temp_order" value="w.warned_time DESC" />
<input type="hidden" name="temp_ban" value="" />
</form>

and this is the "normal" remove method

HTML Code:

<form action="admin_warn.php" name="cpform" method="post">
<input type="hidden" name="do" value="do_delete" />
<br />
<table cellpadding="4" cellspacing="0" border="0" align="center" width="90%" class="tborder">
<tr>
        <td class="tcat" align="center" colspan="2"><b>Removal (manual maturing) of a Warning</b></td>
</tr>
<tr valign="top">
        <td class="alt1">Are you sure you want to remove this warning?<p><table>
        <tr><td>Warned User ID</td><td>:</td><td>3</td></tr>
        <tr><td>Warned User Name</td><td>:</td><td>tester</td></tr>
        <tr><td>Warning Type</td><td>:</td><td>ObsceneWords</td></tr>
        <tr><td>PostID</td><td>:</td><td>68</td></tr>
        <tr><td>Caused Ban</td><td>:</td><td>N</td></tr>
        <tr><td colspan='3'></td></tr>
        </table><P><U><b>Caution:</b></U> This cannot be undone.</td>
        <td class="alt1"><span class="smallfont" style="white-space:nowrap">
                <label for="rb_1_verify"><input type="radio" name="verify" id="rb_1_verify" value="1" tabindex="1" />Yes</label>
                <label for="rb_0_verify"><input type="radio" name="verify" id="rb_0_verify" value="0" tabindex="1" checked="checked" />No</label>
        </span></td>
</tr>
<tr>
        <td class="tfoot" colspan="2" align="center">        <input type="submit" class="button" tabindex="1" value="Proceed " accesskey="s" />
</td>
</tr>
</table>
<input type="hidden" name="form" value="" />
<input type="hidden" name="temp_wid" value="7" />
<input type="hidden" name="temp_uid" value="3" />
<input type="hidden" name="temp_postid" value="68" />
<input type="hidden" name="temp_order" value="w.warned_time DESC" />
<input type="hidden" name="temp_ban" value="N" />
</form>


Princeton 03-08-2006 03:51 PM

you are using the post method ... it should be 'p' and not 'g'

Delphiprogrammi 03-08-2006 04:03 PM

Quote:

Originally Posted by princeton
you are using the post method ... it should be 'p' and not 'g'

if i change that it isn't working either i change g to p in all calls and the stuff isn't returned .... this is so fu****** frusterating pfffffff

problem solved don't ask me why but if you change p to g in all clean_array_gpc() class all is returned as it should

Marco van Herwaarden 03-08-2006 05:50 PM

I am sorry but your code is very confusing:
- You are using the post method, but are retrieving Get variables
- You are submitting 'temp_ban' but want to retrieve 'ban'
- You are submitting with do=do_completedelete, but you are checking the value of 'act'
- 'act' is not defined on that form.

Looks like you are mixing up things. This form don't seem to belong together with the php that should handle it.


All times are GMT. The time now is 09:57 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.02021 seconds
  • Memory Usage 1,870KB
  • 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
  • (3)bbcode_html_printable
  • (4)bbcode_php_printable
  • (7)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (14)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