2017-02-12 5 views
0

ユーザーが画像をアップロードできるフォームを作成しようとしています。私は画像ファイルかどうかを確認するためにこのファイルの検証のためにPHPを使用していますが、私はエラーが発生しています。 次のように未定義のインデックス:C: xampp htdocs SW studentWelafaremManagement version-1 registration.php 27行目の写真

<form name="myform" class="col s12" method="POST"   action="registration.php" onsubmit="return validateform1()" enctype="multipart/form-data"> 
    <input class="file-path validate" type="text" name="photo" id="photo" /> 
    <button class="btn waves-effect waves-light" type="submit"  name="submit">Submit 
     <i class="material-icons right">send</i> 
     </button> 
    </form> 

PHPコードは次のようにHTMLコードです。私は、HTML形式のvaraibleがここにアクセスしていないと思います。..すべての利用可能なオプションについて を行っていたか、彼はイメージが

<?php  //start php tag 
define ("MAX_SIZE","1000000"); 
$hostname="localhost"; //local server name default localhost 
$username="root"; //mysql username default is root. 
$password="";  //blank if no password is set for mysql. 
$database="studentwelafare"; //database name which you created 
$con=mysqli_connect($hostname,$username,$password); 
if(! $con) 
{ 
    die('Connection Failed'.mysql_error()); 
} 

mysqli_select_db($con,$database); 

if(isset($_REQUEST['submit'])!='') 
{ 

if(empty($_FILES) || !isset($_FILES['photo'])) 
{ 
    $folderName = "upload/photo"; 
$validExt = array("jpg", "png", "jpeg", "bmp", "gif"); 
// $photo=null; 
$photo=$_FILES['photo']['tmp_name']; **//error comes here at photo variable name** 


If($_REQUEST['photo']='') 
    { 
    Echo "please fill the empty field."; 
    } 
elseif ($_FILES["photo"]["size"] <=0) { **// error at "photo" variable** 

    echo "image is not proper"; 
} 
else{ 
    $ext=strtolower(end(explode(".", $photo))); 
    if (!in_array($ext, $validExt)) { 
     # code.. 
     echo "not a valid image"; 
    } 
    else{ 

     $photo=$_REQUEST['photo']; 

     $filePath=$folderName.rand(10000,990000).'_'.time().'.'.$ext; 
     if(move_uploaded_file($_FILES["photo"]["tmp_name"], $filePath)) 
     { 
      $sql1="INSERT INTO students(photo)VALUES('".prepare_input($filePath) ."')"; 

      $res1=mysqli_query($con,$sql1); 
      if($res1) 
      { 
        Echo " Student Registerd successfully"; 
      } 
      else 
      { 
       Echo "There is some problem in inserting record"; 
      } 
      mysqli_close($con); 

     } 
    } 
} 

} 
else{ 
    echo "enter image"; 
} 

} 
?> 
+0

'$ _REQUEST ['photo']'ではなく、 '$ _POST ['photo']'でなければなりません... – arkascha

+0

$ _POST ['photo']に変更しました。 –

答えて

0

にアップロードされませんされ、コード

に影響を与える可能性がありますエラーがいくつかあります
if($_REQUEST['photo']=='') //--- lowercase i on if, double equal 
    { 
    echo "please fill the empty field."; //--- lowercase e on echo 
    } 
else if ($_FILES["photo"]["size"] <=0) { // space between else if 

    echo "image is not proper"; 
} 
0

あなたのHTMLコードでは、入力タイプは「ファイル」ではありません。したがって、入力タイプをファイルに変更する場合は、$_FILES["photo"];

のデータを取得することはできません。

0

更新し、この次のコードを使用してコード:

<form name="myform" class="col s12" method="POST" action="registration.php" onsubmit="return validateform1()" enctype="multipart/form-data"> 
      <input class="file-path validate" type="file" name="photo" id="photo" /> 
      <button class="btn waves-effect waves-light" type="submit" name="submit">Submit 
       <i class="material-icons right">send</i> 
      </button> 
     </form> 

とregistration.php用:

感謝を助ける

<?php 

//start php tag 
define("MAX_SIZE", "1000000"); 
$hostname = "localhost"; //local server name default localhost 
$username = "root"; //mysql username default is root. 
$password = "";  //blank if no password is set for mysql. 
$database = "studentwelafare"; //database name which you created 
$con = mysqli_connect($hostname, $username, $password); 
if (!$con) { 
    die('Connection Failed' . mysql_error()); 
} 

mysqli_select_db($con, $database); 

if (isset($_REQUEST['submit'])) { 

    if (!empty($_FILES) || !isset($_FILES['photo'])) { 
     $folderName = "upload/photo"; 
     $validExt = array("jpg", "png", "jpeg", "bmp", "gif"); 
// $photo=null; 
     $photo = $_FILES['photo']['name']; //error comes here at photo variable name** 


     if ($_REQUEST['photo'] = '') { 
      echo "please fill the empty field."; 
     } elseif ($_FILES["photo"]["size"] <= 0) { // error at "photo" variable** 
      echo "image is not proper"; 
     } else { 
      $ext = strtolower(end(explode(".", $photo))); 
      if (!in_array($ext, $validExt)) { 
       # code.. 
       echo "not a valid image"; 
      } else { 

       $photo = $_REQUEST['photo']; 

       $filePath = $folderName . rand(10000, 990000) . '_' . time() . '.' . $ext; 
       if (move_uploaded_file($_FILES["photo"]["tmp_name"], $filePath)) { 
        $sql1 = "INSERT INTO students(photo)VALUES('" . mysqli_real_escape_string($con, $filePath) . "')"; 

        $res1 = mysqli_query($con, $sql1); 
        if ($res1) { 
         Echo " Student Registerd successfully"; 
        } else { 
         Echo "There is some problem in inserting record"; 
        } 
        mysqli_close($con); 
       } 
      } 
     } 
    } else { 
     echo "enter image"; 
    } 
} 
?> 

ウィッシュ。

関連する問題