Naif,

I think your problem is related to register_globals. The authors of the
book probably based their scripts on a version of PHP that had that
option turned on by default, but as 4.2.0, it's been turned off as it is
usually considered a security risk. So, either use the superglobal
arrays (like $_POST) to access your HTML form variables or turn
register_globals on in your php.ini file.

Cheers,


Marco

Marco
-- 
------------
php|architect - The magazine for PHP Professionals
The monthly worldwide magazine dedicated to PHP programmers
Check us out on the web at http://www.phparch.com

On Sat, 2002-11-23 at 08:16, Naif Al-Otaibi wrote:
> Thanks, I fix this error but now I have another one:
> Notice: Undefined variable: action in c:\inetpub\wwwroot\php5
> \file_upload.php on line 45
> 
> I have register_globals on
> 
> > -----Forwarded Message-----
> > 
> > > From: Marco Tabini <[EMAIL PROTECTED]>
> > > To: Naif Al-Otaibi <[EMAIL PROTECTED]>
> > > Subject: Re: [PHP] Some error in file upload.
> > > Date: 23 Nov 2002 07:56:06 -0500
> > > 
> > > I think this needs changing:
> > > 
> > > error-> if(isset(!$WINDIR) && !@unlink($userfile))
> > > 
> > > into
> > > 
> > > if(!isset($WINDIR) && !@unlink($userfile))
> > > 
> > > Also, this would only work if you had register_globals on.
> > > 
> > > Mind if I ask which book did you copy the example from?
> > > 
> > > 
> > > Marco
> > > -- 
> > > ------------
> > > php|architect - The magazine for PHP Professionals
> > > The monthly worldwide magazine dedicated to PHP programmers
> > > Check us out on the web at http://www.phparch.com
> > > 
> > > 
> > > On Sat, 2002-11-23 at 07:41, Naif Al-Otaibi wrote:
> > > > 
> > > > I copy a complete example from a book to upload file and I got 
> this 
> > > > message error when I browse the file:
> > > > 
> > > > Parse error: parse error, unexpected '!', expecting T_VARIABLE 
> or '$' 
> > > > in c:\inetpub\wwwroot\php5\file_upload.php on line 32
> > > > 
> > > > Here is the content of the file (file_upload.php):
> > > > 
> > > > <?
> > > > // file_upload.php
> > > >   $archive_dir = "./docs";
> > > >   function upload_form() {
> > > >     global $PHP_SELF;
> > > > ?>
> > > > 
> > > >     <FORM METHOD="POST" ENCTYPE="MULTIPART/FORM-DATA"
> > > >       ACTION="<? echo $PHP_SELF ?>">
> > > >       <INPUT TYPE="HIDDEN" NAME="action" VALUE="upload">
> > > >       Upload file!
> > > >       <INPUT TYPE="FILE" NAME="userfile">
> > > >       <INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="upload">
> > > >     </FORM>
> > > >  
> > > > <?
> > > >   }
> > > >   
> > > >   function upload_file() {
> > > >     global $userfile, $userfile_name, $userfile_size,
> > > >                    $userfile_type, $archive_dir, $WINDIR;
> > > >         
> > > >         if(isset($WINDIR)) $userfile = str_replace
> > > > ("\\\\","\\",$userfile);
> > > >         
> > > >         $filename = basename($userfile_name);
> > > >         
> > > >         if($userfile_size <= 0) die ("$filename is empty.");
> > > >         
> > > >         if(!@copy($userfile, "$archive_dir/$filename"))
> > > >           die ("Can't copy $userfile_name to $filename.");
> > > >         
> > > > error-> if(isset(!$WINDIR) && !@unlink($userfile))
> > > >           die ("Can't delete the file $userfile_name.");
> > > >           
> > > >         echo "$filename has been successfully uploaded.<BR>";
> > > >         echo "Filesize: " . number_format($userfile_size) . "<BR>";
> > > >         echo "Filetype: $userfile_type<BR>";
> > > >         
> > > >         }
> > > >         ?>
> > > >         <HTML>
> > > >         <HEAD><TITLE>FILE UPLOAD</TITLE></HEAD>
> > > >         <BODY>
> > > >         <?
> > > >         if($action == 'upload') upload_file();
> > > >         else upload_form();
> > > >         ?>
> > > >         </BODY>
> > > >         </HTML>
> > > > 
> > > > 
> > > > -- 
> > > > PHP General Mailing List (http://www.php.net/)
> > > > To unsubscribe, visit: http://www.php.net/unsub.php
> > > > 
> > > 
> > 
> > 
> > 
> > -- 
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> > 
> > 
> 
> 



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

Reply via email to