php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #3763 variable type-array error
Submitted: 2000-03-08 07:46 UTC Modified: 2000-03-08 10:44 UTC
From: kochin at soback dot kornet dot net Assigned:
Status: Closed Package: Performance problem
PHP Version: 4.0 Beta 3 OS: redhat 6.1
Private report: No CVE-ID: None
 [2000-03-08 07:46 UTC] kochin at soback dot kornet dot net
I am running apache1.3.10 and mysql &php-4.0b3


any html pages are good.
but any html pages of the same mysql database presenet error.

examples;

Warning: Use of undefined constant use_auth - assumed 'use_auth' in /usr/local/apache/htdocs/bbs/dboard.html on line 54

Warning: Use of undefined constant head - assumed 'head' in /usr/local/apache/htdocs/bbs/dboard.html on line 61

Warning: Use of undefined constant head - assumed 'head' in /usr/local/apache/htdocs/bbs/dboard.html on line 61

Warning: Use of undefined constant foot - assumed 'foot' in /usr/local/apache/htdocs/bbs/dboard.html on line 62

Warning: Use of undefined constant foot - assumed 'foot' in /usr/local/apache/htdocs/bbs/dboard.html on line 62

.....

*(source code)
  ......

   $que_bbs="select * from bbs_info where code='$code'" ;
   $result=mysql_query($que_bbs,$connect );
   $bbs=mysql_fetch_array($result);
 

if($bbs[use_auth] && !isset($PHP_AUTH_USER)) 
{
 echo("  <meta http-equiv='Refresh' content='0; URL=./auboard.html?code=$code'>
 ");
 exit ;
}
 
 
$bbs[head] = stripslashes($bbs[head]);
$bbs[foot] = stripslashes($bbs[foot]);
echo("$bbs[head]
<BR>
<center>");

 ......


 that is, array type of variable is incorrect.

php.ini


 
 
 [root@history lib]# more php.ini
[PHP]
 
;;;;;;;;;;;;;;;;;;;
; About this file ;
;;;;;;;;;;;;;;;;;;;
; This file controls many aspects of PHP's behavior.  In order for PHP to
; read it, it must be named 'php.ini'.  PHP looks for it in the current
; working directory, in the path designated by the environment variable
; PHPRC, and in the path that was defined in compile time (in that order).
; Under Windows, the compile-time path is the Windows directory.  The
; path in which the php.ini file is looked for can be overriden using
; the -c argument in command line mode.
;
; The syntax of the file is extremely simple.  Whitespace and Lines
; beginning with a semicolon are silently ignored (as you probably guessed).
; Section headers (e.g. [Foo]) are also silently ignored, even though
; they might mean something in the future (they probably won't).
;
; Options are specified using the syntax key = value or key = "complex value".
; Key names are *case sensitive*.  foo = bar is different from FOO = bar.
; 'value' can be any number, word or keyword (keywords are On, Off, True,
; False, Yes and No, and are case insensitive).
--More--(7%)
 ; False, Yes and No, and are case insensitive).
; 'complex value' can be just about anything, expcept for " and a newline
; Boolean flags can be turned on using the values 1, On, True or Yes.
; They can be turned off using the values 0, Off, False or No.
;
; All the values in the php.ini-dist file correspond to the builtin
; defaults (that is, if no php.ini is used, or if you delete these lines,
; the builtin defaults will be identical).
 
 
;;;;;;;;;;;;;;;;;;;;
; Language Options ;
;;;;;;;;;;;;;;;;;;;;
 
engine                  =       On      ; Enable the PHP scripting language engi
ne under Apache
short_open_tag  =       On      ; allow the <? tag.  otherwise, only <?php and <
script> tags are recognized.
asp_tags                =       Off ; allow ASP-style <% %> tags
precision               =       14      ; number of significant digits displayed
 in floating point numbers
y2k_compliance  =       Off     ; whether to be year 2000 compliant (will cause
problems with non y2k compliant browsers)
--More--(13%)
 
 problems with non y2k compliant browsers)
output_buffering        = Off   ; Output buffering allows you to send header lin
es (including cookies)
                                                        ; even after you send bo
dy content, in the price of slowing PHP's
                                                        ; output layer a bit.
                                                        ; You can enable output
buffering by in runtime by calling the output
                                                        ; buffering functions, o
r enable output buffering for all files
                                                        ; by setting this direct
ive to On.
; Safe Mode
safe_mode               =       Off
safe_mode_exec_dir      =
 
; Colors for Syntax Highlighting mode.  Anything that's acceptable in <font colo
r=???> would work.
highlight.string        =       #DD0000
highlight.comment       =       #FF8000
highlight.keyword       =       #007700
highlight.bg            =       #FFFFFF
highlight.default       =       #0000BB
--More--(17%)
 
 highlight.default       =       #0000BB
highlight.html          =       #000000
 
; Misc
expose_php      =       On              ; Decides whether PHP may expose the fac
t that it is installed on the
                                                ; server (e.g., by adding its si
gnature to the Web server header).
                                                ; It is no security threat in an
y way, but it makes it possible
                                                ; to determine whether you use P
HP on your server or not.
 
 
 
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
 
max_execution_time = 30     ; Maximum execution time of each script, in seconds
(UNIX only)
memory_limit = 8388608          ; Maximum amount of memory a script may consume
(8MB)
--More--(21%)
 (8MB)
 
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; error_reporting is a bit-field.  Add each number up to get desired error repor
ting level
;  1 = Normal errors
;  2 = Normal warnings
;  4 = Parser errors
;  8 = Notices - warnings you can ignore, but sometimes imply a bug (e.g., using
 an uninitialized variable)
error_reporting =       7
display_errors  =       On      ; Print out errors (as a part of the HTML script
)
log_errors              =       Off     ; Log errors into a log file (server-spe
cific log, stderr, or error_log (below))
track_errors    =       Off     ; Store the last error/warning message in $php_e
rrormsg (boolean)
;error_prepend_string = "<font color=ff0000>"   ; string to output before an err
or message
;error_append_string = "</font>"                ; string to output after an erro
--More--(27%)
 
 
 ;error_append_string = "</font>"                ; string to output after an erro
r message
;error_log      =       filename        ; log errors to specified file
;error_log      =       syslog          ; log errors to syslog (Event Log on NT,
 not valid in Windows 95)
warn_plus_overloading   =       Off             ; warn if the + operator is used
 with strings
 
 
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
gpc_order                       =       "GPC"   ; Order of evaluation of GET/POS
T/Cookie data.  Later values override
                                                                ; earlier values
 (e.g., by default, POST variables override GET variables,
                                                                ; and Cookie var
iables override both POST and GET variables).
gpc_globals                     =       On              ; Whether or not to defi
ne GET/POST/Cookie variables in the global
                                                                ; scope.  You ma
y want to turn this off if you don't want
                                                                ; to clutter you
--More--(31%)
 
                                                                 ; to clutter you
r scripts' global scope with user data.  This makes
                                                                ; most sense whe
n coupled with track_vars - in which case you can
                                                                ; access all of
the GPC variables through the $HTTP_GET_VARS[],
                                                                ; $HTTP_POST_VAR
S[] and $HTTP_COOKIE_VARS[] variables.
track_vars                      =       On              ; enable $HTTP_GET_VARS[
], $HTTP_POST_VARS[] and $HTTP_COOKIE_VARS[] arrays
 
; Magic quotes
magic_quotes_gpc        =       On              ; magic quotes for incoming GET/
POST/Cookie data
magic_quotes_runtime=   Off             ; magic quotes for runtime-generated dat
a, e.g. data from SQL, from exec(), etc.
magic_quotes_sybase     =       Off             ; Use Sybase-style magic quotes
(escape ' with '' instead of \')
 
; automatically add files before or after any PHP document
auto_prepend_file       =
auto_append_file        =
 
--More--(37%)
 ;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
include_path    =                   ; UNIX: "/path1:/path2"  Windows: "\path1;\p
at
h2"
doc_root                =                                       ; the root of th
e php pages, used only if nonempty
user_dir                =                                       ; the directory
under which php opens the script using /~username, used only if nonempty
;upload_tmp_dir =                       ; temporary directory for HTTP uploaded
files (will use system default if not specified)
upload_max_filesize =12097152       ; 2 Meg default limit on file uploads
extension_dir   =       ./                              ; directory in which the
 loadable extensions (modules) reside
 
 
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; if you wish to have an extension loaded automaticly, use the
; following syntax:  extension=modulename.extension
--More--(42%)
 ; following syntax:  extension=modulename.extension
; for example, on windows,
; extension=msql.dll
; or under UNIX,
; extension=msql.so
; Note that it should be the name of the module only, no directory information
; needs to go here.  Specify the location of the extension with the extension_di
r directive above.
 
 
;Windows Extensions
;extension=php_mysql.dll
;extension=php_nsmail.dll
;extension=php_calendar.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
;extension=php_gd.dll
;extension=php_dbm.dll
;extension=php_mssql.dll
;extension=php_zlib.dll
;extension=php_filepro.dll
;extension=php_imap4r2.dll
;extension=php_ldap.dll
--More--(46%)
 ;extension=php_ldap.dll
;extension=php_crypt.dll
;extension=php_msql2.dll
;extension=php_odbc.dll
 
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
 
[Syslog]
define_syslog_variables = Off   ; Whether or not to define the various syslog va
riables,
                                                                ; e.g. $LOG_PID,
 $LOG_CRON, etc.  Turning it off is a
                                                                ; good idea perf
ormance-wise.  In runtime, you can define
                                                                ; these variable
s by calling define_syslog_variables()
 
 
[mail function]
SMTP                    =       localhost                       ;for win32 only
sendmail_from   =       me@localhost.com        ;for win32 only
--More--(50%)
 sendmail_from   =       me@localhost.com        ;for win32 only
sendmail_path   =       /usr/bin/sendmail -t
;for unix only, may supply arguments as well (default is sendmail -t)
 
[Debugger]
debugger.host   =       localhost
debugger.port   =       7869
debugger.enabled        =       False
 
[Logging]
; These configuration directives are used by the example logging mechanism.
; See examples/README.logging for more explanation.
;logging.method    = db
;logging.directory = /path/to/log/directory
 
[SQL]
sql.safe_mode   =       Off
 
[ODBC]
;uodbc.default_db               =       Not yet implemented
;uodbc.default_user             =       Not yet implemented
;uodbc.default_pw               =       Not yet implemented
uodbc.allow_persistent  =       On      ; allow or prevent persistent links
--More--(54%)
 uodbc.allow_persistent  =       On      ; allow or prevent persistent links
uodbc.max_persistent    =       -1      ; maximum number of persistent links. -1
 means no limit
uodbc.max_links                 =       -1      ; maximum number of links (persi
stent+non persistent). -1 means no limit
uodbc.defaultlrl        =       4096    ; Handling of LONG fields. Returns numbe
r of bytes to variables, 0 means passthru
uodbc.defaultbinmode    =       1       ; Handling of binary data. 0 means passt
hru, 1 return as is, 2 convert to char
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
of uodbc.defaultlrl
; and uodbc.defaultbinmode
 
[MySQL]
mysql.allow_persistent  =       On      ; allow or prevent persistent link
mysql.max_persistent    =       -1      ; maximum number of persistent links. -1
 means no limit
mysql.max_links                 =       -1      ; maximum number of links (persi
stent+non persistent).  -1 means no limit
mysql.default_port              =               ; default port number for mysql_
connect().  If unset,
                                                                ; mysql_connect(
) will use the $MYSQL_TCP_PORT, or the mysql-tcp
--More--(60%)
 
 ) will use the $MYSQL_TCP_PORT, or the mysql-tcp
                                                                ; entry in /etc/
services, or the compile-time defined MYSQL_PORT
                                                                ; (in that order
).  Win32 will only look at MYSQL_PORT.
mysql.default_host              =               ; default host for mysql_connect
() (doesn't apply in safe mode)
mysql.default_user              =               ; default user for mysql_connect
() (doesn't apply in safe mode)
mysql.default_password  =               ; default password for mysql_connect() (
doesn't apply in safe mode)
                                                                ; Note that this
 is generally a *bad* idea to store passwords
                                                                ; in this file.
 *Any* user with PHP access can run
                                                                ; 'echo cfg_get_
var("mysql.default_password")' and reveal that
                                                                ; password!  And
 of course, any users with read access to this
                                                                ; file will be a
ble to reveal the password as well.
 
[mSQL]
--More--(65%)
 [mSQL]
msql.allow_persistent   =       On      ; allow or prevent persistent link
msql.max_persistent             =       -1      ; maximum number of persistent l
inks. -1 means no limit
msql.max_links                  =       -1      ; maximum number of links (persi
stent+non persistent).  -1 means no limit
 
[PostgresSQL]
pgsql.allow_persistent  =       On      ; allow or prevent persistent link
pgsql.max_persistent    =       -1      ; maximum number of persistent links. -1
 means no limit
pgsql.max_links                 =       -1      ; maximum number of links (persi
stent+non persistent).  -1 means no limit
 
[Sybase]
sybase.allow_persistent =       On      ; allow or prevent persistent link
sybase.max_persistent   =       -1      ; maximum number of persistent links. -1
 means no limit
sybase.max_links                =       -1      ; maximum number of links (persi
stent+non persistent).  -1 means no limit
;sybase.interface_file  =       "/usr/sybase/interfaces"
sybase.min_error_severity       =       10      ; minimum error severity to disp
lay
--More--(71%)
 lay
sybase.min_message_severity     =       10      ; minimum message severity to di
splay
sybase.compatability_mode       = Off   ; compatability mode with old versions o
f PHP 3.0.
                                                                        ; If on,
 this will cause PHP to automatically assign types to results
                                                                        ; accord
ing to their Sybase type, instead of treating them all as
                                                                        ; string
s.  This compatability mode will probably not stay around
                                                                        ; foreve
r, so try applying whatever necessary changes to your code,
                                                                        ; and tu
rn it off.
 
[Sybase-CT]
sybct.allow_persistent  =       On              ; allow or prevent persistent li
nk
sybct.max_persistent    =       -1              ; maximum number of persistent l
inks. -1 means no limit
sybct.max_links                 =       -1              ; maximum number of link
s (persistent+non persistent).  -1 means no limit
--More--(76%)
 s (persistent+non persistent).  -1 means no limit
sybct.min_server_severity       =       10      ; minimum server message severit
y to display
sybct.min_client_severity       =       10      ; minimum client message severit
y to display
 
[bcmath]
bcmath.scale    =       0       ; number of decimal digits for all bcmath functi
ons
 
[browscap]
;browscap       =       extra/browscap.ini
 
[Informix]
ifx.default_host                =               ; default host for ifx_connect()
 (doesn't apply in safe mode)
ifx.default_user                =               ; default user for ifx_connect()
 (doesn't apply in safe mode)
ifx.default_password            =               ; default password for ifx_conne
ct() (doesn't apply in safe mode)
ifx.allow_persistent            =       On      ; allow or prevent persistent li
nk
ifx.max_persistent              =       -1      ; maximum number of persistent l
--More--(81%)
 ifx.max_persistent              =       -1      ; maximum number of persistent l
inks. -1 means no limit
ifx.max_links                   =       -1      ; maximum number of links (persi
stent+non persistent).  -1 means no limit
ifx.textasvarchar               =       0       ; if set on, select statements r
eturn the contents of a text blob instead of it's id
ifx.byteasvarchar               =       0       ; if set on, select statements r
eturn the contents of a byte blob instead of it's id
ifx.charasvarchar               =       0       ; trailing blanks are stripped f
rom fixed-length char columns. May help the life
                                                ; of Informix SE users.
ifx.blobinfile                  =       0       ; if set on, the contents of tex
t&byte blobs are dumped to a file instead of
                                                ; keeping them in memory
ifx.nullformat                  =       0       ; NULL's are returned as empty s
trings, unless this is set to 1. In that case,
                                                ; NULL's are returned as string
'NULL'.
 
[Session]
session.save_handler = files        ; handler used to store/retrieve data
session.save_path = /tmp            ; argument passed to save_handler
                                    ; in the case of files, this is the
--More--(87%)
                                     ; in the case of files, this is the
                                    ; path where data files are stored
session.use_cookies = 1             ; whether to use cookies
session.name = PHPSESSID            ; name of the session
                                    ; is used as cookie name
session.auto_start = 0              ; initialize session on request startup
session.cookie_lifetime = 0         ; lifetime in seconds of cookie
                                    ; or if 0, until browser is restarted
session.cookie_path = /             ; the path the cookie is valid for
session.cookie_domain =             ; the domain the cookie is valid for
session.serialize_handler = php     ; handler used to serialize data
                                    ; php is the standard serializer of PHP
session.gc_probability = 1          ; procentual probability that the
                                    ; 'garbage collection' process is started
                                    ; on every session initialization
session.gc_maxlifetime = 1440       ; after this number of seconds, stored
                                    ; data will be seen as 'garbage' and
                                    ; cleaned up by the gc process
session.extern_referer_check =      ;
session.entropy_file =              ;
session.entropy_length = 0          ;
 
[MSSQL]
--More--(96%)
                                     ; 'garbage collection' process is started
                                    ; on every session initialization
session.gc_maxlifetime = 1440       ; after this number of seconds, stored
                                    ; data will be seen as 'garbage' and
                                    ; cleaned up by the gc process
session.extern_referer_check =      ;
session.entropy_file =              ;
session.entropy_length = 0          ;
 
[MSSQL]
;extension=php_mssql.dll
mssql.allow_persistent          =       On      ; allow or prevent persistent li
nk
mssql.max_persistent            =       -1      ; maximum number of persistent l
inks. -1 means no limit
mssql.max_links                         =       -1      ; maximum number of link
s (persistent+non persistent).  -1 means no limit
mssql.min_error_severity        =       10      ; minimum error severity to disp
lay
mssql.min_message_severity      =       10      ; minimum message severity to di
splay
mssql.compatability_mode        = Off   ; compatability mode with old versions o
f PHP 3.0.

 
 
 
 
 
 

 
 
 
 
 

 
 
 
 
 

 
 
 
 
 

 
 
 
 
 

 
 
 
 
 

 
 
 
 
 

 
 
 
 

 
 
 
 
 

 
 
 
 
 

 
 
 
 
 

 
 
 
 
 

 
 
 
 
 

 
 
 
 

 
 
 

 
 
 
 
 

 
 
 
 

 
 
 
 

 
 
 
 
 







Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-03-08 10:44 UTC] joey at cvs dot php dot net
This is a known incompatibility with PHP 3.
Assoc. array keys should be double quoted.
ie
$bbs[use_auth] should be $bbs["use_auth"]

Change your error reporting level and migrate your
code, they should go away.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Dec 25 19:01:28 2024 UTC