ID: 9238
User Update by: [EMAIL PROTECTED]
Status: Closed
Bug Type: Strings related
Description: strpos() cannot indicate success when matching char is first
Thank you. I would recommend making a minor point in the documentation to clarify the
requirement of checking against false (or != false) explicitly. I imagine many people
would be bitten by this little gotcha, particularly when coming from C backgrounds
where if !() is used for if () == false.
Thanks for the swift response. Your suggested work-around works just fine.
=Rob=
Previous Comments:
---------------------------------------------------------------------------
[2001-02-13 12:48:12] [EMAIL PROTECTED]
all you need is
if( false !== strpos($SSL_PROTOCOL,"SSL")) || false !== (strpos($SSL_PROTOCOL,"TLS"))
)
---------------------------------------------------------------------------
[2001-02-13 07:39:38] [EMAIL PROTECTED]
Sample script:
(Note, this will never report SSL even when $SSL_PROTOCOL=SSLv3 or TLSv1)
<?php
echo $SSL_PROTOCOL;
echo "<BR>Your connection method is: ";
if ( (strpos($SSL_PROTOCOL,"SSL")) || (strpos($SSL_PROTOCOL,"TLS")) )
{
echo "SSL!";
}
else
{
echo "non-SSL!";
}
?>
The documentation says strpos() returns FALSE if no match. But what about a match on
the first character (index 0)? Seems like the index returned should have been 1-based
instead.
The routine is flawless when the code is rewritten thusly:
<?php
echo $SSL_PROTOCOL;
echo "<BR>Your connection method is: ";
if ( (strpos($SSL_PROTOCOL,"SL")) || (strpos($SSL_PROTOCOL,"LS")) )
{
echo "SSL!";
}
else
{
echo "non-SSL!";
}
?>
configuration line for PHP4 build:
Command './configure' '--with-mhash=/usr/local' '--with-mcrypt=/usr/local'
'--with-mysql=/usr/local' '--enable-trans-sid' '--with-mm=/usr/local'
'--enable-memory-limit' '--with-zlib' '--enable-inline-optimization'
'--with-imap=/usr/local' '--with-imap-ssl' '--with-gmp' '--with-gd' '--with-cpdflib'
'--with-pdflib' '--with-tiff-dir' '--with-jpeg-dir' '--with-png-dir'
'--enable-track-vars' '--enable-bcmath' '--enable-calendar' '--with-db3'
'--enable-ftp' '--enable-shmop' '--enable-sockets' '--enable-sysvsem'
'--enable-sysvshm' '--with-apache=../apache_1.3.14'
OpenSSL 0.9.6, mod_ssl/2.7.1
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=9238
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]