Recent Topics

1 Aug 07, 2008 17:19    

My b2evolution Version: 2.4.2

I am running b2evolution 2.4.2 on IIS6, Windows Server 2003. Everything works fine when using Firefox. However, if a user running IE6 tries to add a comment the following occurs:

Illegal value received for parameter <<pb>>!

The comment does post, but of course nobody likes the error message.

I have read all the previous forums on similar "Illegal value" issues. I have tried almost all of the suggestions, deleting cookies, etc. to no avail.

If a user is running IE 7, no problem. I only wish I could get all my users to upgrade to IE 7 or Firefox, but many of them work in a strict security environment and IE 7 & Firefox have not yet been certified for use.

I suspect it is a problem with the way IE 6 handles PHP scripting (yes, big surprise) Any solution for those stuck with IE 6?

Thank you for your help!

2 Aug 07, 2008 17:34

Try searching the forums for "pingback" because that is what pb stands for, and is obsolete. What happens is you can get that error if your skin isn't set up to deal with "pb doesn't count anymore". Way back in the good old days those skins would work even if pingbacks weren't enabled. Now that they're completely gone they throw an error. Somewhere in the forums you'll find a post that explains what to remove from the skin ... if this is the solution.

3 Aug 08, 2008 16:29

Thank you for pointing me in the direction of "pingback" however, after spending a good day diligently searching out all coding with regard to pingbacks and commenting out the sections needed, it still throws the error in IE 6.

I also turned off the pingback options in the back office to no avail. I just can't get IE 6 to not throw the error:

Illegal value received for parameter <<pb>>!

If anybody has solved this problem, I sure would appreciate hearing from you.

4 Aug 08, 2008 19:20

Oh wow I just noticed where your initial post said you are running 2.4.2, meaning I fell for the bug that makes it say 1.10 when you select 2.4. Oops.

Okay so is this a new blog or an upgraded one? The thing is, pingbacks are no longer an option BUT there is still code in there because there are blogs out there that had pingbacks so the app needs to be able to deal with them.

IF this is a new blog then we'll have an easy hack available. Looking at files now...

Oh and a link to where this is happening will be helpful.

5 Aug 08, 2008 20:06

This is a brand new installation of b2evolution. Right out of the box all works well with Firefox, Opera 9.5, IE 7, etc. however, IE 6 from day 1 threw the aforementioned error.

All my files are back to the state they were in on Wednesday when I first posted my request for help. (I copied the originals into a backup directory).

Oh, how I wish I could share with you a link so that you could view the files yourself. Unfortunately for me, the files and I are located behind a very strict firewall and even stricter security rules, therefore, I can not provide access.

Thank you for your efforts.

6 Aug 08, 2008 20:25

Okay give me some time and I think I'll have an answer you might want to try. hmmm... is "Illegal value received for parameter <<pb>>!" the entire message you receive? Does it not identify a file and line number?

You might want to try something creative: in skins/_item_feedback.inc.php OR skins/yourskin/_item_feedback.inc.php find this line:

global $c, $tb, $pb;

Now replace it with this:

global $c, $tb;
$pb = 0;


You use the generic one (in /skins/) if /skins/yourskin/ doesn't have that file. Otherwise you use the one in /skins/yourskin/. Or do both ;)

BTW I have no idea if this will help or not. It just seems related so maybe it'll do something good. Obviously backup your file(s) first and undo the change if it doesn't give good comment.

7 Aug 08, 2008 21:16

Bad Request!
The parameters of your request are invalid.

If you have obtained this error by clicking on a link INSIDE of this site, please report the bad link to the administrator.

Go back to home page

Additional information about this error:
Illegal value received for parameter «pb»!

It does not give any additional information like a file and line number.

It returns the following character string in the URL even after having made the change in the file you suggested located in my case in the skins directory:

?blog=4&title=welcome-to-my-blog&disp=single&more=1&c=1&tb=1&pb=1#c70

So it would appear even though this should set the parameter of the variable pb to 0, somewhere pb's value is still getting set to 1.

8 Aug 08, 2008 22:01

From the code by EdB try:

$pb = '';


or even better, a few lines down the line change

if( empty($pb) )
{	// Pingback not requested
	$params['disp_pingbacks'] = false;				// DO NOT Display the pingbacks if not requested
}


to:

$params['disp_pingbacks'] = false;

Good luck

9 Aug 08, 2008 22:14

wbroy wrote:

... I also turned off the pingback options in the back office to no avail. ...

um... how did you do that given that there is no pingback option anymore?

This issue is looking a lot like the one at http://forums.b2evolution.net/viewtopic.php?p=50219#50219 yah?

Anyway there are only three files in b2evolution v2.4.2 that mention "pb=1". One of them has it in a comment so it don't count. Another is the archives plugins which doesn't count because the problem here is the the redirect after commenting which isn't archive. But yeah it's a redirect so lets look at inc/items/model/_itemlight.class.php around line 193 and see what there is to see. Oh!

				$permalink = url_add_param( $blogurl, $urlparam.$glue.'more=1'.$glue.'c=1'.$glue.'tb=1'.$glue.'pb=1', $glue );


So now the problem is that IE6 is ignoring the fact that the # means an anchor inside a page. Instead it seems to be saying to itself that it must be part of the value of "pb", meaning it thinks the value of pb is "1#c70" where c70 refers to the 70th comment. MAYBE this can be fixed, or more accurately maybe it can be *hacked* to not misbehave in your environment. Try adding another $glue after the 'pb=1' bit, like so:

$permalink = url_add_param( $blogurl, $urlparam.$glue.'more=1'.$glue.'c=1'.$glue.'tb=1'.$glue.'pb=1'.$glue, $glue );

Again this is only a guess so backup stuff before and hope for the best.

10 Aug 09, 2008 09:36

If you've got any plugins installed you might like to try deactivating them and seeing if the problem persists

¥

11 Aug 12, 2008 21:16

Thank you for your previous suggestions on a fix. I tried them and they did not work.

In the back office, on Blog Settings, in the Advanced tab, there are two options that can be set for ... "After each new post....." Ping b2evolution.net:
and Ping Ping-O-Matic: I have those two boxes unchecked.

I did reach a level of success when I opened the following file under b2evolution/blogs/inc/_blog_main.inc.php. At line 176 this code can be found:

elseif( $last_char != '/' )
{ // NO ENDING SLASH -> We'll consider this to be a ref to a post:
// Set a lot of defaults as if we had received a complex URL:
$m = '';
$more = 1; // Display the extended entries' text
$c = 1; // Display comments
$tb = 1; // Display trackbacks
$pb = 1; // Display pingbacks

$path_element = $path_elements[count($path_elements)-1];
if( preg_match( "#^p([0-9]+)$#", $path_element, $req_post ) )
{ // The last param is of the form p000
// echo 'post number';
$p = $req_post[1]; // Post to display
}

I set $pb = 0, saved the file and that solved the "Illegal value for parameter <<pb>>! issue. However, I then started receiving "Illegal value for parameter <<tb>>! error message - set that value to 0 since I am not concerned with track backs either.

Now I am getting "Illegal value for parameter <<c>>! error message. The URL is showing ?blog=4&title=welcome-to-my-blog&disp=single&more=1&c=1#c107. You are correct in that somehow IE 6 is appending the comment number to the parameter of c. With each new comment, the number increments by one.

I then looked through the other postings on the forum with regard to the "Illegal value for parameter <<c>>! error message. I was only able to find one line of code in the following file b2evolution/blogs/inc/comments/model/_comment.class.php where c=1#without an &. Line 1225 reads as follows:

.T_('Edit/Delete').': '.$admin_url.'?ctrl=items&blog='.$edited_Blog->ID.'&p='.$edited_Item->ID.'&c=1#c'.$this->ID."\n\n"

I changed it to: .T_('Edit/Delete').': '.$admin_url.'?ctrl=items&blog='.$edited_Blog->ID.'&p='.$edited_Item->ID.'&c=1&#c'.$this->ID."\n\n"

It did not make a difference. I am a new user of PHP, (as you may have guessed by now), so this is somewhat daunting as to where to look next.

I appreciate your help and patience. Thank you.

12 Aug 13, 2008 08:14

Well just for a bit of info, what you turned off was pinging sites when you post. A pingback is (or was) something different. Basically a pingback was kinda like a fully automated trackback, which is basically a comment on someone else's blog post made by posting about their post.

Okay on to the issue, which is that IE6 is not correctly identifying that pb=1 and #anchor are two different bits. Did you see no results when editing inc/items/model/_itemlight.class.php? Because that is where the redirect is being built, or at least I'm pretty sure that is where the redirect is being built and your problem is that the redirect is not being interpreted correctly.

It's too bad the fancy URL stuff doesn't apply to the redirects as that would probably solve the issue.

13 Nov 12, 2008 02:57

I recently installed V 2.4.2 and have similar problems; i.e. in my case with parameter <p>.

I'm trying for almost two weeks now to solve this problem, trying all suggestions on the forum and searching in the source-code myself.

So far, without any real good clue!!

I wonder if this issue is permanently solved in V 2.4.5. or not. Does anyone know or can the developpers answer?

Anyhow, I consider this as the most serious bug for me at the moment; I was able to solve other problems for my specific case like the 'log-in issue'.

I look forward to real solutions frm the experts.

14 Nov 12, 2008 19:15

The issue did not go away with version 2.4.5. There is no problem if one uses Firefox, or IE7, or IE8, or Safari, or Opera. Through time I have had all my users download alternate browsers and that has solved the problem.

IE6 should be laid to rest, it was sickly from it's beginning and too many work arounds had to put in place for too many applications. My company is going to bypass IE7 and go straight to IE8 as soon as they finish acceptance testing with it.

15 Nov 12, 2008 21:16

To wbroy.

I use IE7 and FirFox 1.5 and had the problem from the beginning; so for me it is not an IE6 issue.

To get it working did you change anything and if yes what in which file of V2.4.2. Thanks in advance for your comments.

16 Nov 12, 2008 21:36

I never did anything with the files beyond what is shown in the previous posts. As far as Firefox, the latest version is 3.03, so you are a little behind in keeping up with the updates to Firefox. The first version of Firefox I used with it was 2.5.

I can't help you with anything beyond what I have stated. Why did it work for me in IE7, I have no idea.


Form is loading...