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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: kochin at soback dot kornet dot net
New email:
PHP Version: OS:

 

 [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: Thu Dec 26 06:01:31 2024 UTC