Undefined Index

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • anwar80
    New Member
    • Mar 2008
    • 1

    Undefined Index

    I just download dreamweaver extension for image upload. and run, It have some error... can anybody help... pls.. i have php 4.3.10. Notice: Undefined index: myimage in c:\program files\easyphp1-8\www\karsazest ate\upload.php on line 20
    Code:
    <?php
    //	---------------------------------------------
    //	Pure PHP Upload version 1.1
    //	-------------------------------------------
    if (phpversion() > "4.0.6") {
    	$_POST = &$_FILES;
    }
    
    define("MAX_SIZE",300000);
    define("DESTINATION_FOLDER", "./myimages/");
    define("no_error", "success.php");
    define("yes_error", "error.php");
    $_accepted_extensions_ = "jpg,jpeg,png,gif,bmp";
    if(strlen($_accepted_extensions_) > 0){
    	$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
    } else {
    	$_accepted_extensions_ = array();
    }
    
    $myfile = $HTTP_POST_FILES['myimage'];
    
    if(is_uploaded_file($myfile['tmp_name']) && $HTTP_POST_FILES['myimage']['error'] == 0){
    	$errStr = "";
    	$_name_ = $myfile['name'];
    	$_type_ = $myfile['type'];
    	$_tmp_name_ = $myfile['tmp_name'];
    	$_size_ = $myfile['size'];
    	if($_size_ > MAX_SIZE && MAX_SIZE > 0){
    		$errStr = "File troppo pesante";
    	}
    	$_ext_ = explode(".", $_name_);
    	$_ext_ = strtolower($_ext_[count($_ext_)-1]);
    	if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
    		$errStr = "Estensione non valida";
    	}
    	if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
    		$errStr = "Cartella di destinazione non valida";
    	}
    	if(empty($errStr)){
    		if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
    			header("Location: " . no_error);
    		} else {
    			header("Location: " . yes_error);
    		}
    	} else {
    		header("Location: " . yes_error);
    	}
    }
    ?>
    <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
    <table width="354" border="10" cellspacing="10" cellpadding="0">
      <tr>
        <td width="102">image</td>
        <td width="252"><input type="file" name="myimage" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type="submit" name="Submit" value="Submit" /></td>
      </tr>
    </table>
    </form>
    Please enclose any code within the proper code tags. See the Posting Guidelines on how to do that. - moderator
    Last edited by ronverdonk; Mar 8 '08, 01:02 PM. Reason: code tags
  • Markus
    Recognized Expert Expert
    • Jun 2007
    • 6092

    #2
    [php]
    <?php
    // ---------------------------------------------
    // Pure PHP Upload version 1.1
    // -------------------------------------------
    if (phpversion() > "4.0.6") {
    $_POST = &$_FILES;
    }

    define("MAX_SIZ E",300000);
    define("DESTINA TION_FOLDER", "./myimages/");
    define("no_erro r", "success.ph p");
    define("yes_err or", "error.php" );
    $_accepted_exte nsions_ = "jpg,jpeg,png,g if,bmp";
    if(strlen($_acc epted_extension s_) > 0){
    $_accepted_exte nsions_ = @explode(",",$_ accepted_extens ions_);
    } else {
    $_accepted_exte nsions_ = array();
    }

    $myfile = $HTTP_POST_FILE S['myimage'];

    if(is_uploaded_ file($myfile['tmp_name']) && $HTTP_POST_FILE S['myimage']['error'] == 0){
    $errStr = "";
    $_name_ = $myfile['name'];
    $_type_ = $myfile['type'];
    $_tmp_name_ = $myfile['tmp_name'];
    $_size_ = $myfile['size'];
    if($_size_ > MAX_SIZE && MAX_SIZE > 0){
    $errStr = "File troppo pesante";
    }
    $_ext_ = explode(".", $_name_);
    $_ext_ = strtolower($_ex t_[count($_ext_)-1]);
    if(!in_array($_ ext_, $_accepted_exte nsions_) && count($_accepte d_extensions_) > 0){
    $errStr = "Estensione non valida";
    }
    if(!is_dir(DEST INATION_FOLDER) && is_writeable(DE STINATION_FOLDE R)){
    $errStr = "Cartella di destinazione non valida";
    }
    if(empty($errSt r)){
    if(@copy($_tmp_ name_,DESTINATI ON_FOLDER . "/" . $_name_)){
    header("Locatio n: " . no_error);
    } else {
    header("Locatio n: " . yes_error);
    }
    } else {
    header("Locatio n: " . yes_error);
    }
    }
    ?>
    <form action="" method="post" enctype="multip art/form-data" name="form1" id="form1">
    <table width="354" border="10" cellspacing="10 " cellpadding="0" >
    <tr>
    <td width="102">ima ge</td>
    <td width="252"><in put type="file" name="myimage" /></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="Submit" value="Submit" /></td>
    </tr>
    </table>

    </form>
    [/php]
    It makes it so much easier for people to read. (please read forum guidelines)

    Comment

    • Markus
      Recognized Expert Expert
      • Jun 2007
      • 6092

      #3
      When you get "undefined index" it means that you have referred to an indeces in an array which doesnt exist. i.e. 'myimage' in http_post_files () doesnt exist.

      In my oppinion, that code is awful and old. old. old. old.
      check out this tutorial. It's much neater and well up-to-date :)

      Comment

      • ronverdonk
        Recognized Expert Specialist
        • Jul 2006
        • 4259

        #4
        Of course the myimage key does not exist because you haven't submitted the upload form when you first enter the script.

        Ronald

        Comment

        Working...