Re: [PHP] Re: Switch statement Question

2009-02-02 Thread Frank Stanovcak

"tedd"  wrote in message 
news:p06240801c5aa0ed7d...@[192.168.1.101]...
> At 4:16 PM +0100 1/30/09, Jochem Maas wrote:
>>tedd schreef:
>>>  At 4:43 PM -0500 1/29/09, Frank Stanovcak wrote:
   >"

  yes...that is legal.  as long as the statment resolves to a boolean it
  will
  work.  It's not technically correct, but it does work.
>>>
>>>  There you go again. What's technically correct?
>>
>>hiya tedd,
>>
>>you mean to ask "not technically correct" ... I plead
>>that it's his statement that is not technically correct.
>>
>>1. php does a soft comparison ('==' rather than '===') so the
>>results of each case expression is auto-cast to a boolean
>>(in the case of switch'ing on TRUE), ergo there is no 'as long',
>>statements will always resolve to a boolean ... only they may not
>>do it in a way that is readily understood by everyone.
>>
>>2. the php engine specifically allows for 'complex expression'
>>cases testing against a boolean switch value ... not best practice
>>according to some but very much technically correct according to
>>the php implementation.
>
>
> Good explanation -- I think the drum he's beating is that some of use the 
> switch without actually using the main expression within the control, such 
> as:
>
> switch($who_cares)
>{
>case $a = $b:
>// do something
>   break;
>case $a > 0:
> // do something else
>   break;
>case $a < 0:
>// do something elser
>   break;
>   }
>
> The control works.
>
> However to him, technically correct means:
>
> switch($a)
>{
>case 0:
>// do something
>   break;
>case 1:
> // do something else
>   break;
>case 2:
>// do something elser
>   break;
>   }
>
> That's what I think he's advocating.
>
> Cheers,
>
> tedd
>
>
> -- 
> ---
> http://sperling.com  http://ancientstones.com  http://earthstones.com

very true since this is the way it is taught in every book.  Php, however, 
allows for other uses that weren't "technically" in the original plan for 
this command from other languages.  The problem is I shave my head, so I 
have no hairs to split over this one.  :)

Frank 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Weird url passing what does it mean, am I hacked?

2009-02-02 Thread clive
If your using firefox, are you sure its not some addon, does this URL 
appear in the HTML source?


Clive

Terion Miller wrote:

I noticed yesterday that sometimes I was seeing a strange url passing at the
bottom of the browser when clicking around my site I'm working on while
watching the page loads, its calling to mouserunner.com and I went to the
site and it is a bunch of links, my site is on a private server for a large
media company, clues on what this means and where to look to stop it, what's
it doing scraping my site or something?

Thanks folks...

  




--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] Boolean Assignment Operator

2009-02-02 Thread Steven Buehler


> -Original Message-
> From: farn...@googlemail.com [mailto:farn...@googlemail.com] On Behalf
> Of Edmund Hertle
> Sent: Monday, February 02, 2009 7:03 AM
> To: Gavin Hodge
> Cc: php-general@lists.php.net
> Subject: Re: [PHP] Boolean Assignment Operator
> 
> 2009/2/2 Gavin Hodge 
> 
> > Hi,
> >
> > I'm fairly new to PHP, having migrated from the Java / C# world.
> >
> > I wrote some code similar to the following:
> >
> > $success = true;
> > $success &= operation1();
> > $success &= operation2();
> >
> > if ($success === true) {
> >operation3(); // depends on 1 and 2 being successful
> > }
> >
> > This didn't work as expected. After a bit of digging I found:
> > * The &= operation isn't mentioned anywhere in the PHP documentation
> > * The &= function seems to work as expected, however the following is
> > observed...
> >   $success = true;
> >   $success &= true;
> >   print $success == true; // outputs 1
> >   print $sucesss === true; // no output
> > * The 'or' assignment operator |= causes no errors but doesn't work.
> >
> > Can any PHP gurus explain why the &= operator works at all, and why
> > === seems to fail afterwards?
> >
> > Cheers,
> > Gavin.
> 
> 
> Hey,
> 
> never heard of the "|=" operator. So I think php does not support it.
> I cannot say how "&=" works in Java or C# but as of php it works like
> that
> (IMO) (reference instead of copy):
> $var1 = "test1";
> $var2 = $var1;
> $var3 &= $var1;
> $var1 = "test2";
> 
> echo $var1; // "test2"
> echo $var2; // "test1"
> echo $var3; // "test2"

Actually, if you run your test, $var3 does NOT come out as "test2", it will 
return a "0" for that echo statement.  To get the results you want, it needs to 
be:
$var3 =& $var1;



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: More questions about SESSION use

2009-02-02 Thread Terion Miller
> Show the code where your session vars are written and I would prefer using
> isset() instead of empty() if you want to check if this var is set or not.
>
> -eddy
>
Hi All, here is the index page where users login and the sessions are set:

 0) {
   $_SESSION['AdminLogin'] = true;
   $_SESSION['user'] = $UserName;
   $_SESSION['AdminID'] = $row->AdminID;


header ('Location: Main.php');
exit;


} else {
$msg = "Sorry You Entered  An Invalid LoginPlease Try
AgainClick to Contact blah
blah If You Need Help";
}
}
 //include ("VariableReveal2.php");
?>


Re: [PHP] Blank page of hell..what to look for

2009-02-02 Thread Jason Pruim


On Feb 2, 2009, at 12:02 PM, Terion Miller wrote:

Is there a certain thing that should be suspected and looked at  
first when

getting the php blank page of hell
I have errors on and nothing is being output anywhere to lead me in  
the
right direction, I have a VariableReveal script (one of you provide  
and
THANK YOU IT HAS BEEN A LIFESAVER) But it is doing nothing today,  
yesterday
the page worked today I get the blank page with not a clue in  
sight

ARGH...


What I typically do with that is make sure that if you are using  
HEREDOC you don't have any extra spaces after the opening or closing  
HEREDOC statements.


Also, I have gone through and put just: echo "1"; echo "2"; etc  
through out the code to see if i could pin down exactly WHERE the  
problem was starting... It help to narrow it down.


What might help is if it's a small script, go ahead and post it to  
the list and maybe we can find something quickly.



--
Jason Pruim
japr...@raoset.com
616.399.2355





Re: [PHP] Blank page of hell..what to look for

2009-02-02 Thread Richard Heyes
> I have errors on

Including E_NOTICE ?

-- 
Richard Heyes

HTML5 Graphing for Firefox, Chrome, Opera and Safari:
http://www.rgraph.org (Updated January 31st)

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Blank page of hell..what to look for

2009-02-02 Thread Terion Miller
I just use error_reporting(E_ALL);
that would include the E_NOTICE right?

On Mon, Feb 2, 2009 at 11:27 AM, Richard Heyes  wrote:

> > I have errors on
>
> Including E_NOTICE ?
>
> --
> Richard Heyes
>
> HTML5 Graphing for Firefox, Chrome, Opera and Safari:
> http://www.rgraph.org (Updated January 31st)
>


Re: [PHP] Blank page of hell..what to look for

2009-02-02 Thread Jim Lucas
Terion Miller wrote:
> Is there a certain thing that should be suspected and looked at first when
> getting the php blank page of hell
> I have errors on and nothing is being output anywhere to lead me in the
> right direction, I have a VariableReveal script (one of you provide and
> THANK YOU IT HAS BEEN A LIFESAVER) But it is doing nothing today, yesterday
> the page worked today I get the blank page with not a clue in sight
> ARGH...
> Terion
> 

More then likely it is a parse error within the page.  And no matter what error 
reporting you have turned on "within" the script will effect the outcome.

You have two choices.  Turn on error reporting from apache using the httpd.conf 
file, in your php.ini file, or with a .htaccess file.

This is the only way to get around parse errors without having error reporting 
turned on globally.

The other way is to cut/paste your code into sections.

Cut out a large chunk of it, see if it works, if it does, paste it back in and 
remove a smaller chunk,  rinse/repeat until your find the error of your
ways... :)

Better yet, use a IDE the does code highlighting.  This would point you to the 
problem rather quickly.

-- 
Jim Lucas

   "Some men are born to greatness, some achieve greatness,
   and some have greatness thrust upon them."

Twelfth Night, Act II, Scene V
by William Shakespeare

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] IP to location / XML

2009-02-02 Thread Jônatas Zechim
Hi there,

I want do discover the location from a IP, I use this url '
http://www.onflex.org/geo/xml/ ', that's does a XML file, it's ok on my
browser, but when i try to read this file with php:

$myxml = simplexml_load_file ('http://www.onflex.org/geo/xml/');

That's gives a error:

Warning: simplexml_load_file() [function.simplexml-load-file]:
http://www.onflex.org/geo/xml/:8: parser error : Input is not proper UTF-8,
indicate encoding ! Bytes: 0xE3 0x6F 0x20 0x50 *


Anyone Who might help me with this?

zechim



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] RES: IP to location / XML

2009-02-02 Thread Jônatas Zechim
Hi Nathan, i'll try max minds geo ip, that's what i want.

-Mensagem original-
De: Nathan Rixham [mailto:nat...@gmail.com] 
Enviada em: segunda-feira, 2 de fevereiro de 2009 16:13
Para: php-general@lists.php.net; Jônatas Zechim
Cc: 'PHP General'
Assunto: Re: IP to location / XML

Jônatas Zechim wrote:
> Hi there,
> 
> I want do discover the location from a IP, I use this url '
> http://www.onflex.org/geo/xml/ ', that's does a XML file, it's ok on my
> browser, but when i try to read this file with php:
> 
> $myxml = simplexml_load_file ('http://www.onflex.org/geo/xml/');
> 
> That's gives a error:
> 
> Warning: simplexml_load_file() [function.simplexml-load-file]:
> http://www.onflex.org/geo/xml/:8: parser error : Input is not proper
UTF-8,
> indicate encoding ! Bytes: 0xE3 0x6F 0x20 0x50 *
> 
> 
> Anyone Who might help me with this?
> 
> zechim
> 
> 

try this:
$file = get_file_contents('http://www.onflex.org/geo/xml/');
$file = utf8_decode($file);
$myxml = simplexml_load_string($file);

the above assumes the problem is because the file is really latin-1

quick note, using the service at onflex.org will always return you're 
servers ip address not the end users (as you're calling from server not 
clients browser) if this is what you want great, if not then you may 
want to try max minds geo ip.

regards!


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Re: Blank page of hell..what to look for

2009-02-02 Thread Frank Stanovcak

"Terion Miller"  wrote in message 
news:37405f850902020902j624356ccp4ea869bc45161...@mail.gmail.com...
> Is there a certain thing that should be suspected and looked at first when
> getting the php blank page of hell
> I have errors on and nothing is being output anywhere to lead me in the
> right direction, I have a VariableReveal script (one of you provide and
> THANK YOU IT HAS BEEN A LIFESAVER) But it is doing nothing today, 
> yesterday
> the page worked today I get the blank page with not a clue in sight
> ARGH...
> Terion
>

I'm not sure what your setup is, but I get this frequently when testing on 
my windows server with IE

What I do to get the error is save a blank page over the one that is causing 
the problem.  Load it in the browser, then resave the probelem code, and 
refresh.  I almost always end up having left off a ; or } somewhere, and it 
just won't report it till I refresh like this.

Hope that helps.
Frank. 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Re: Blank page of hell..what to look for

2009-02-02 Thread Lupus Michaelis

Terion Miller a écrit :

Is there a certain thing that should be suspected and looked at first when
getting the php blank page of hell


  Did you check error logs from Apache or the one you configured in 
php.ini ?

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position 

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Boolean Assignment Operator

2009-02-02 Thread Nitsan Bin-Nun
It actually will return FATAL ERROR or something like that since you didn't
echo'ed variables or string ;)

On Mon, Feb 2, 2009 at 3:03 PM, Edmund Hertle  wrote:

> 2009/2/2 Gavin Hodge 
>
> > Hi,
> >
> > I'm fairly new to PHP, having migrated from the Java / C# world.
> >
> > I wrote some code similar to the following:
> >
> > $success = true;
> > $success &= operation1();
> > $success &= operation2();
> >
> > if ($success === true) {
> >operation3(); // depends on 1 and 2 being successful
> > }
> >
> > This didn't work as expected. After a bit of digging I found:
> > * The &= operation isn't mentioned anywhere in the PHP documentation
> > * The &= function seems to work as expected, however the following is
> > observed...
> >   $success = true;
> >   $success &= true;
> >   print $success == true; // outputs 1
> >   print $sucesss === true; // no output
> > * The 'or' assignment operator |= causes no errors but doesn't work.
> >
> > Can any PHP gurus explain why the &= operator works at all, and why
> > === seems to fail afterwards?
> >
> > Cheers,
> > Gavin.
>
>
> Hey,
>
> never heard of the "|=" operator. So I think php does not support it.
> I cannot say how "&=" works in Java or C# but as of php it works like that
> (IMO) (reference instead of copy):
> $var1 = "test1";
> $var2 = $var1;
> $var3 &= $var1;
> $var1 = "test2";
>
> echo var1; // "test2"
> echo var2; // "test1"
> echo var3; // "test2"
>


[PHP] pear:Auth invalid username/password

2009-02-02 Thread John Corry
I'm using Pear Auth on several sites and am looking for suggestions on the
best way to implement error reporting on a failed log-in.

Currently I'm using a function that checks if the posted username is in the
users table...and if the password is a match. Auth logs the user on if
so...but if not it takes manually running the queries to generate the right
failure message.

Is there a cleaner way using error messages generated by the getAuth()
method or another method in the Auth class? I didn't see anything in the
docs...but it seems like an obvious bit of functionailty I would sort of
expect it to be included.

Anyone know of such a thing?

John Corry


Re: [PHP] pear:Auth invalid username/password

2009-02-02 Thread Chris

John Corry wrote:

I'm using Pear Auth on several sites and am looking for suggestions on the
best way to implement error reporting on a failed log-in.

Currently I'm using a function that checks if the posted username is in the
users table...and if the password is a match. Auth logs the user on if
so...but if not it takes manually running the queries to generate the right
failure message.


You mean if it's a valid username but not password?

I'd say don't. While it's a little nicer for your users ("hey, your 
password was wrong") - it's also a lot easier for attackers. "Hmm, that 
means it's a valid user, lets see if we can brute force the password".


"Username or password are incorrect" - an attacker has no idea which bit 
is wrong. You could force a user to use their email address as their 
username to make it easier to remember.


Depends on the app & audience I guess, if it's an internal only app - go 
with #1 (no idea about Pear Auth though), if it's public, there's no way 
I'd say your password is wrong, just provide a "forgot password" feature.


--
Postgresql & php tutorials
http://www.designmagick.com/


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: More questions about SESSION use

2009-02-02 Thread Chris

Edmund Hertle wrote:

2009/2/1 Terion Miller 


This is how it was originally written:
if (empty($_SESSION['AdminLogin']) || $_SESSION['AdminLogin'] !=

 true){

header ("Location: LogOut.php");
$_SESSION['user']=$UserName;
$_SESSION['AdminID']=$AdminID; <--*I added this one originally the
script only used 'user' and 'AdminLogin'* but passed them in urls
}


Those two lines after header() will not be executed.


Yes they will because there is no 'exit'.

Header is just a function call, if you want to stop processing you have 
to do it yourself.


--
Postgresql & php tutorials
http://www.designmagick.com/


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Includes only if required?

2009-02-02 Thread Eric Butera
On Mon, Feb 2, 2009 at 6:42 AM, Edmund Hertle  wrote:
> Hey,
> normally I prefer to do all my includes (classes + config files) at the
> beginning if my php files. But recently I thought about including some
> classes only if they are needed later in my code (like pear Mail and
> Mail_mime only if an e-mail is about to be sent) because of speed issues. So
> my question: Is this something I should consider? Or is it something I
> normally will not notice?
>
> -eddy
>

Look at spl_autoload_register.

-- 
http://www.voom.me | EFnet: #voom

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Includes only if required?

2009-02-02 Thread Edmund Hertle
Hey,
normally I prefer to do all my includes (classes + config files) at the
beginning if my php files. But recently I thought about including some
classes only if they are needed later in my code (like pear Mail and
Mail_mime only if an e-mail is about to be sent) because of speed issues. So
my question: Is this something I should consider? Or is it something I
normally will not notice?

-eddy


Re: [PHP] Boolean Assignment Operator

2009-02-02 Thread Eric Butera
On Mon, Feb 2, 2009 at 7:49 AM, Gavin Hodge  wrote:
> Hi,
>
> I'm fairly new to PHP, having migrated from the Java / C# world.
>
> I wrote some code similar to the following:
>
> $success = true;
> $success &= operation1();
> $success &= operation2();
>
> if ($success === true) {
>operation3(); // depends on 1 and 2 being successful
> }
>
> This didn't work as expected. After a bit of digging I found:
> * The &= operation isn't mentioned anywhere in the PHP documentation
> * The &= function seems to work as expected, however the following is
> observed...
>   $success = true;
>   $success &= true;
>   print $success == true; // outputs 1
>   print $sucesss === true; // no output
> * The 'or' assignment operator |= causes no errors but doesn't work.
>
> Can any PHP gurus explain why the &= operator works at all, and why
> === seems to fail afterwards?
>
> Cheers,
> Gavin.
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

http://us.php.net/manual/en/language.operators.bitwise.php

You're doing an AND, then assigning it when you say &=.  Think of it
like doing something such as .= or +=.

You might also be confusing &= with =& where =& means assign by
reference.  This used to be very necessary when dealing with php4 oop,
but isn't so much anymore.

-- 
http://www.voom.me | EFnet: #voom

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Includes only if required?

2009-02-02 Thread Richard Heyes
Hi,

> Mail_mime

Ooh...

> only if an e-mail is about to be sent) because of speed issues. So
> my question: Is this something I should consider? Or is it something I
> normally will not notice?

Depends on the load on your server. If you're getting a billion
requests per second, then it may well be cause for concern. Either way
you can define a function called "__autoload" that gets called when a
class is about to be instantiated. This function can then load the
correct library. On demand as it were.

http://uk2.php.net/__autoload

-- 
Richard Heyes

HTML5 Graphing for Firefox, Chrome, Opera and Safari:
http://www.rgraph.org (Updated January 31st)

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: More questions about SESSION use

2009-02-02 Thread Edmund Hertle
2009/2/1 Terion Miller 

> > >
> > > This is how it was originally written:
> > > if (empty($_SESSION['AdminLogin']) || $_SESSION['AdminLogin'] !=
>  true){
> > > header ("Location: LogOut.php");
> > > $_SESSION['user']=$UserName;
> > > $_SESSION['AdminID']=$AdminID; <--*I added this one originally the
> > > script only used 'user' and 'AdminLogin'* but passed them in urls
> > > }
>

Those two lines after header() will not be executed.


> > Hi David, yes I have session_start(); on everypage very 1st line.
>
> terio
>

Show the code where your session vars are written and I would prefer using
isset() instead of empty() if you want to check if this var is set or not.

-eddy


Re: [PHP] PHP Enclosing Tags? Do You Close Your PHP Declarations?

2009-02-02 Thread Larry Garfield

On Mon, 2 Feb 2009 08:23:49 +0100, Yannick Mortier  
wrote:
> 2009/2/2 Alpár Török :
>>
>>
>> 2009/2/1 Yannick Mortier 
>>>
>>> I once read that this is even recommended by the PHP developers... Has
>>> anyone got a quote for me about this?
>>>
>>
>> I know thw ZF codinf style includes it as a must. See here :
>>
>>
> http://framework.zend.com/manual/en/coding-standard.php-file-formatting.html#coding-standard.php-file-formatting.general

The Drupal coding standards say to exclude the closing ?> on files for the same 
reason: It avoids a host of problems with whitespace handling and is just one 
less thing to have to deal with.

http://drupal.org/coding-standards

--Larry Garfield


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Boolean Assignment Operator

2009-02-02 Thread Gavin Hodge
Wow, thanks for the quick replies!

I hadn't realised that & was purely a bitwise operator.

In the strongly-typed Java world, & works as a non-lazy (exhaustive?)
boolean operator so it has to return a boolean for boolean inputs.
Thats the difference here, and Robert got it in one.

Gavin.

PS. A code restructure isn't really appropriate here. The original
executes several SQL statements inside a transaction and needs to know
whether to commit or rollback at the end. The example was simplified
to get the point across but thanks for the suggestions.

On Tue, Feb 3, 2009 at 12:26 AM, Edmund Hertle
 wrote:
> 2009/2/2 Robert Cummings 
>>
>> On Tue, 2009-02-03 at 00:07 +1100, Gavin Hodge wrote:
>> > In Java / C# / C,
>> > $bool &= $anotherBool;
>> > is shorthand for
>> > $bool = $bool & $anotherBool;
>> >
>> > So &= forces a reference assignment?
>>
>> No, =& forces reference assignment. &= works as you have written.
>>
>> Cheers,
>> Rob.
>
> Oh yeah... sorry, mixed it up...
> -eddy
>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Boolean Assignment Operator

2009-02-02 Thread Edmund Hertle
2009/2/2 Robert Cummings 

> On Tue, 2009-02-03 at 00:07 +1100, Gavin Hodge wrote:
> > In Java / C# / C,
> > $bool &= $anotherBool;
> > is shorthand for
> > $bool = $bool & $anotherBool;
> >
> > So &= forces a reference assignment?
>
> No, =& forces reference assignment. &= works as you have written.
>
> Cheers,
> Rob.
>

Oh yeah... sorry, mixed it up...

-eddy


[PHP] Blank page of hell..what to look for

2009-02-02 Thread Terion Miller
Is there a certain thing that should be suspected and looked at first when
getting the php blank page of hell
I have errors on and nothing is being output anywhere to lead me in the
right direction, I have a VariableReveal script (one of you provide and
THANK YOU IT HAS BEEN A LIFESAVER) But it is doing nothing today, yesterday
the page worked today I get the blank page with not a clue in sight
ARGH...
Terion


Re: [PHP] Boolean Assignment Operator

2009-02-02 Thread Robert Cummings
On Mon, 2009-02-02 at 23:49 +1100, Gavin Hodge wrote:
> Hi,
> 
> I'm fairly new to PHP, having migrated from the Java / C# world.
> 
> I wrote some code similar to the following:
> 
> $success = true;
> $success &= operation1();
> $success &= operation2();
> 
> if ($success === true) {
> operation3(); // depends on 1 and 2 being successful
> }
> 
> This didn't work as expected. After a bit of digging I found:
> * The &= operation isn't mentioned anywhere in the PHP documentation
> * The &= function seems to work as expected, however the following is
> observed...
>$success = true;
>$success &= true;
>print $success == true; // outputs 1
>print $sucesss === true; // no output
> * The 'or' assignment operator |= causes no errors but doesn't work.
> 
> Can any PHP gurus explain why the &= operator works at all, and why
> === seems to fail afterwards?

Operators are listed here:

http://www.php.net/manual/en/language.operators.precedence.php

The compound assignment bitwise operator isn't documented explicitly but
the general idea can be found here:

http://www.php.net/manual/en/language.operators.assignment.php

The === operator is for mathcing values AND data type. By performing a
bitwise & you are returning data of type integer. As such comparing
against boolean true fails when you use ===. Instead what you should do
is the following (both for logic and succinctness):



Alternatively you can do the following:



But really what you probably* want is the following:



Why is the last one the one you probably want? Because if operation1()
fails then operation2() won't be evaluated at all... this is usually
what you want, but sometimes running operation2() is required to change
some state someplace, in which case you can use:



Of course bitwise only works if they return the same bitfields. For
instance if operation1() returns 1, and operation2() returns 2, then the
bitwise anding of the values would be false since different bit
positions are being combined.

Cheers,
Rob.
-- 
http://www.interjinn.com
Application and Templating Framework for PHP


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Boolean Assignment Operator

2009-02-02 Thread Edmund Hertle
2009/2/2 Gavin Hodge 

> Hi,
>
> I'm fairly new to PHP, having migrated from the Java / C# world.
>
> I wrote some code similar to the following:
>
> $success = true;
> $success &= operation1();
> $success &= operation2();
>
> if ($success === true) {
>operation3(); // depends on 1 and 2 being successful
> }
>
> This didn't work as expected. After a bit of digging I found:
> * The &= operation isn't mentioned anywhere in the PHP documentation
> * The &= function seems to work as expected, however the following is
> observed...
>   $success = true;
>   $success &= true;
>   print $success == true; // outputs 1
>   print $sucesss === true; // no output
> * The 'or' assignment operator |= causes no errors but doesn't work.
>
> Can any PHP gurus explain why the &= operator works at all, and why
> === seems to fail afterwards?
>
> Cheers,
> Gavin.


Hey,

never heard of the "|=" operator. So I think php does not support it.
I cannot say how "&=" works in Java or C# but as of php it works like that
(IMO) (reference instead of copy):
$var1 = "test1";
$var2 = $var1;
$var3 &= $var1;
$var1 = "test2";

echo var1; // "test2"
echo var2; // "test1"
echo var3; // "test2"


Re: [PHP] Boolean Assignment Operator

2009-02-02 Thread Robert Cummings
On Tue, 2009-02-03 at 00:07 +1100, Gavin Hodge wrote:
> In Java / C# / C,
> $bool &= $anotherBool;
> is shorthand for
> $bool = $bool & $anotherBool;
> 
> So &= forces a reference assignment?

No, =& forces reference assignment. &= works as you have written.

Cheers,
Rob.
-- 
http://www.interjinn.com
Application and Templating Framework for PHP


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: Payment question in Canada

2009-02-02 Thread Edmund Hertle
2009/2/1 Michelle Konzack 

> Am 2009-01-30 22:47:10, schrieb Edmund Hertle:
> > Read this discussion. I think this will help you:
> > http://marc.info/?t=12329898971&r=1&w=2
>
> Address Not Found
> www.marc.info could not be found. Please check the name and try again.
>

Works fine for me. Seems to be a temporarily issue.


[PHP] Boolean Assignment Operator

2009-02-02 Thread Gavin Hodge
Hi,

I'm fairly new to PHP, having migrated from the Java / C# world.

I wrote some code similar to the following:

$success = true;
$success &= operation1();
$success &= operation2();

if ($success === true) {
operation3(); // depends on 1 and 2 being successful
}

This didn't work as expected. After a bit of digging I found:
* The &= operation isn't mentioned anywhere in the PHP documentation
* The &= function seems to work as expected, however the following is
observed...
   $success = true;
   $success &= true;
   print $success == true; // outputs 1
   print $sucesss === true; // no output
* The 'or' assignment operator |= causes no errors but doesn't work.

Can any PHP gurus explain why the &= operator works at all, and why
=== seems to fail afterwards?

Cheers,
Gavin.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Boolean Assignment Operator

2009-02-02 Thread Gavin Hodge
In Java / C# / C,
$bool &= $anotherBool;
is shorthand for
$bool = $bool & $anotherBool;

So &= forces a reference assignment?

On Tue, Feb 3, 2009 at 12:03 AM, Edmund Hertle
 wrote:
> 2009/2/2 Gavin Hodge 
>>
>> Hi,
>>
>> I'm fairly new to PHP, having migrated from the Java / C# world.
>>
>> I wrote some code similar to the following:
>>
>> $success = true;
>> $success &= operation1();
>> $success &= operation2();
>>
>> if ($success === true) {
>>operation3(); // depends on 1 and 2 being successful
>> }
>>
>> This didn't work as expected. After a bit of digging I found:
>> * The &= operation isn't mentioned anywhere in the PHP documentation
>> * The &= function seems to work as expected, however the following is
>> observed...
>>   $success = true;
>>   $success &= true;
>>   print $success == true; // outputs 1
>>   print $sucesss === true; // no output
>> * The 'or' assignment operator |= causes no errors but doesn't work.
>>
>> Can any PHP gurus explain why the &= operator works at all, and why
>> === seems to fail afterwards?
>>
>> Cheers,
>> Gavin.
>
> Hey,
> never heard of the "|=" operator. So I think php does not support it.
> I cannot say how "&=" works in Java or C# but as of php it works like that
> (IMO) (reference instead of copy):
> $var1 = "test1";
> $var2 = $var1;
> $var3 &= $var1;
> $var1 = "test2";
> echo var1; // "test2"
> echo var2; // "test1"
> echo var3; // "test2"
>
>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Another matching question

2009-02-02 Thread Ron Piggott
How do I tell if 

words_from_the_well 

is not the value of $page (whether it is the entire value of $page OR
within the value of $page)

So far I have come up with the following, but it doesn't deal with when
$page is only within the value of $page

if ( $page <> "words_from_the_well" )  {

Ron 


Re: [PHP] Another matching question

2009-02-02 Thread Ashley Sheridan
On Mon, 2009-02-02 at 20:35 -0500, Ron Piggott wrote:

> How do I tell if 
> 
> words_from_the_well 
> 
> is not the value of $page (whether it is the entire value of $page OR
> within the value of $page)
> 
> So far I have come up with the following, but it doesn't deal with when
> $page is only within the value of $page
> 
> if ( $page <> "words_from_the_well" )  {
> 
> Ron 

The <> comparison operator won't work in PHP. What you want maybe is
something like this:

if(!strstr($page, "words_from_the_well"))
{}


Ash
www.ashleysheridan.co.uk


[PHP] How can I do the opposite of property_exists(), maybe a creat_property() in PHP5?

2009-02-02 Thread Daevid Vincent
Is there a way to create a new property via PHP 5.2.4?

I get a hash back from an authentication server. I'm not guaranteed that
someone in another department won't add new key/values to the returned
hash/array. I'm trying to work around that part gracefully so that the
code doesn't blow up on a customer in such an event. The main try/catch
will suppress errors already, but I thought it would be nice to be able
to handle this stuff automatically rather than constantly updating a
User.class.php file all the time.

"creating new property this->oraclecustomerid with 1122"

but when I try to set the value with the $this->$pkey = $value; 

It triggers __call() which then triggers __set() which throws my
BadProperty exception.

How come $this->$pkey = $value isn't creating/setting a property? 
Or how do I do something like create_property($this, $pkey);
so that I can then set it via $this->oraclecustomerid = 1122 or
$this->set_oraclecustomerid(1122) ???

 $value)
{
//try
{
$pkey = strtolower($key);
//[dv] this is sort of a hack to 
"automatically" create a new
property/variable
// for 'new' hashes key/values we may 
not know about.
// It's really designed to supress 
errors and they really should
be added to this User.class.php properly.
if ( !property_exists($this, $pkey) )
{
echo "creating new property this->$pkey 
with $value\n";
$this->$pkey = $value; //THIS BLOWS UP 
ON THE __set()
echo "this->$pkey = ".$this->$pkey;
}
else
{
$class_variable = 'set_'.$pkey;
$this->$class_variable($value);
unset($user_data[$key]);
}
}
//catch (Exception $e)
{
//echo $e->getMessage()."\n";
}
}

//should new fields be returned in the $user_data that are not
accounted for above...
if ($_SESSION['DEVELOPMENT'] && count($user_data))
{
echo "";
}

//THESE TWO LINES FATAL ERROR ON THE __get():
echo "this->oraclecustomerid = ".$this->oraclecustomerid;
echo "this->get_oraclecustomerid() = ".$this->get_oraclecustomerid();
}
?>


Re: [PHP] PHP Linux/Windows Outlook 2003 HTML email problem

2009-02-02 Thread German Geek
It seems like this solves the issue:
http://pear.php.net/bugs/bug.php?id=12032 Sorry, just hadn't found this
before.

Tim-Hinnerk Heuer

http://www.ihostnz.com


On Mon, Feb 2, 2009 at 7:24 PM, Chris  wrote:

> German Geek wrote:
>
>> Hi All,
>>
>> We've got a problem with our Ubuntu Linux machine sending HTML emails to
>> Outlook 2003:
>>
>> It's an Ubuntu Server (uname -a
>> Linux CDR2-221 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686
>> GNU/Linux)
>>
>> with the newest version of Postfix installed as the Mail server.
>>
>> Unfortunately, all emails sent as HTML, using the PEAR library for sending
>> email like so:
>>
>
> Best place to look at this would be the pear list:
>
> http://pear.php.net/support/lists.php
>
> --
> Postgresql & php tutorials
> http://www.designmagick.com/
>
>


[PHP] Visibility of class constant

2009-02-02 Thread leledumbo

I got a weird behaviour of class constant. Suppose I have Index_Controller
and Another_Controller classes, both extending Controller class. I define
some constants (let's assume I only have one, call it MY_CONST) in
Controller class to be used by its descendants. In Index_Controller, I can
freely use MY_CONST without parent:: needed. However, this isn't the case
with Another_Controller. Without parent:: I got notice Use of undefined
constant MY_CONST - assumed 'MY_CONST'. How could this happen and what's the
correct behaviour? It's actually nicer to have it without parent::, assuming
that constants have protected visibility specifier (which isn't possible
AFAIK :-( ).
-- 
View this message in context: 
http://www.nabble.com/Visibility-of-class-constant-tp21803985p21803985.html
Sent from the PHP - General mailing list archive at Nabble.com.


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Throwing an exception seems to defeat output buffering

2009-02-02 Thread Leif Wickland
I would expect that if I turn on output buffering, echo something,
throw an exception,
and catch the exception, nothing will have been actually output.  That
doesn't seem
to be the case.  Throwing an exception seems to defeat output buffering.

In the following code, I would not expect to see the , but I do.



You should not see this!';
throw new Exception('This should be the first output.');
exit( 'Contents: ' . ob_get_clean());
}
catch (Exception $ex) {
exit('Exception:' . $ex->getMessage());
}



I'm exercising that code on PHP 5.2.4 and 5.2.8.

Does anybody know why throwing an exception seems to override
ob_start(), flushing the buffered output?  Is there a workaround?

Thank you,

Leif Wickland

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] How can I do the opposite of property_exists(), maybe a creat_property() in PHP5?

2009-02-02 Thread Edmund Hertle
2009/2/3 Daevid Vincent 

> Is there a way to create a new property via PHP 5.2.4?
>
> I get a hash back from an authentication server. I'm not guaranteed that
> someone in another department won't add new key/values to the returned
> hash/array. I'm trying to work around that part gracefully so that the
> code doesn't blow up on a customer in such an event. The main try/catch
> will suppress errors already, but I thought it would be nice to be able
> to handle this stuff automatically rather than constantly updating a
> User.class.php file all the time.
>
>"creating new property this->oraclecustomerid with 1122"
>
> but when I try to set the value with the $this->$pkey = $value;
>
> It triggers __call() which then triggers __set() which throws my
> BadProperty exception.
>
> How come $this->$pkey = $value isn't creating/setting a property?
> Or how do I do something like create_property($this, $pkey);
> so that I can then set it via $this->oraclecustomerid = 1122 or
> $this->set_oraclecustomerid(1122) ???
>
>  function load_from_user_data($user_data)
> {
>//now loop through the rest of the user_data array and assign via a
> set_foo() method
>foreach ($user_data as $key => $value)
>{
>//try
>{
>$pkey = strtolower($key);
>//[dv] this is sort of a hack to
> "automatically" create a new
> property/variable
>// for 'new' hashes key/values we
> may not know about.
>// It's really designed to supress
> errors and they really should
> be added to this User.class.php properly.
>if ( !property_exists($this, $pkey) )
>{
>echo "creating new property
> this->$pkey with $value\n";
>$this->$pkey = $value; //THIS BLOWS
> UP ON THE __set()
>echo "this->$pkey = ".$this->$pkey;
>}


Hey,
well, $this->$pkey is wrong syntax. Try $this->pkey = $value

-eddy



>
>else
>{
>$class_variable = 'set_'.$pkey;
>$this->$class_variable($value);
>unset($user_data[$key]);
>}
>}
>//catch (Exception $e)
>{
>//echo $e->getMessage()."\n";
>}
>}
>
>//should new fields be returned in the $user_data that are
> not
> accounted for above...
>if ($_SESSION['DEVELOPMENT'] && count($user_data))
>{
>echo "";
>}
>
>//THESE TWO LINES FATAL ERROR ON THE __get():
>echo "this->oraclecustomerid = ".$this->oraclecustomerid;
>echo "this->get_oraclecustomerid() =
> ".$this->get_oraclecustomerid();
> }
> ?>
>