【问题标题】:notice: Undefined index in php even i defined index correct [duplicate]注意:php中未定义的索引即使我定义的索引正确[重复]
【发布时间】:2018-03-19 01:41:19
【问题描述】:

我创建了一个表单,用户填写并上传附加文件,但每当我点击提交按钮时,我会在输入文件字段中得到 Notice: Undefined index 而不是其他的.

我的,代码看起来不错,但我不知道为什么会这样。我是菜鸟,谁能帮帮我!

我的php代码在这里,

<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 'On');
include("config.php");
$name =$_POST["u_n"];
$pass =$_POST["u_p"];
$type =$_POST["u_t"];
$hobb =implode(',',$_POST["u_h"]);
$ctry =$_POST['u_c'];
$fav =implode(',',$_POST['u_f']);
    $file = $_FILES['res'];
    $file_name = $file['name'];
    $file_type = $file ['type'];
    $file_size = $file ['size'];
    $file_path = $file ['tmp_name'];
    move_uploaded_file ($file_path,'Uploads/'.$file_name);
    $img =$_FILES['img'];
    $img_count = count($img["name"]);
    $arr =[];
    for($i=0;$i<$img_count;$i++){
        $name= $img["name"][$i];
        $temp= $img["tmp_name"][$i];
        $type= $img["type"][$i];
        $size= $img["size"][$i];
        $error= $img["error"][$i];
        move_uploaded_file ($temp,'Uploads/'.$name);
        $arr[$i]= $name;
    }
$count= count($arr);
for($i=0; $i<4; $i++){
    if($i>$count-1){
        $arr[$i]='';
    }        
}
$query = "INSERT INTO users2 (U_name, U_pass, U_type, U_hob, U_img, img2, img3, img4, U_res, U_fav, U_ctry)
VALUES('$name', '$pass', '$type', '$hobb', '$arr[0]', '$arr[1]', '$arr[2]', '$arr[3]', '$file_name', '$fav', '$ctry')";
if(mysqli_query($db, $query)){
    echo "uploaded";
}
else{
    echo "not uploaded";
}?>

我的 HTML 代码在这里,

 <!DOCTYPE html>
<html>
    <head>
        <title>Reg Form:</title>
        <meta name="viewport" content="width=device-width, initial-scale=1"> 
    </head>
    <body>
    <div class='users_form'>
    <form action="../../panel/database_uploader3.php" method= "post">
        <b>Username:</b><br><input class="users_form_input" type="text" name="u_n" required><br><br>
        <b>Password:</b><br>
        <input class="users_form_input" type="password" name="u_p" required><br><br>
        <b>User type:</b><br>
        <input class="user_input_form" type="radio" name="u_t" value="Admin" required> admin<br>
        <input class="user_input_form" type="radio" name="u_t" value="Others" required> Other<br><br>
        <b>User status:</b><br><input class="user_input_form" type="radio" name ="status" value="Active">Active<br>
        <input class="user_input_form" type="radio" name="status" value="Not-Active" required>Not-Active<br>
        <b>Select Hobbies:</b><br>
        <input name='u_h[]' type='checkbox' value='Draw.'>Drawing<br>
        <input name='u_h[]' type='checkbox' value='Danc.'>Dancing<br>
        <input name='u_h[]' type='checkbox' value='Sng.'>Singing<br>
        <input name='u_h[]' type='checkbox' value='game.'>gamming<br><br>
        <b>Upload your images:</b><br>
         <input type="file" id="fileupload" name="img[]" accept="image/x-png,image/gif,image/jpeg" multiple/><br>
         <b>Upload Resume:</b><br>
         <input type="file" name="res" ><br>
         <b>Favourite TV Sereis:</b><br>
         <select  multiple required name="u_f[]">
          <option value="Robot" >Mr.Robot</option>
          <option value="BB" >Breaking Bad</option>
          <option value="GOT" >Game of Thrones</option>
          <option value="HOC" >House of Cards</option>
         </select><br><br>
         <b>your Country</b><br>
         <select name="u_c" required>
          <option value="India" name="u_c">India</option>
          <option value="England" name="u_c">England</option>
          <option value="France" name="u_c">France</option>
          <option value="Argentina" name="u_c">Argentina</option>
         </select><br><br>
        <input class='users_form_button' type= "submit" value="Create">
        </form>
</div>
    </body>
</html>

我不知道为什么我得到这个请帮助我!

【问题讨论】:

  • 您能否发布完整的错误信息
  • 你已经为一个“菜鸟”写了很多代码。 ;)
  • 注意:未定义索引:D:\wamp64\www\ganesh\AdminLTE-2.4.0-rc\panel\Database_uploader2.php 第 11 行中的 res 注意:未定义索引:img in D:\ wamp64\www\ganesh\AdminLTE-2.4.0-rc\panel\Database_uploader2.php 在第 17 行调用堆栈@ChannaveerHakari 这些是我得到的错误
  • @u_mulder 为了公平起见,我编辑了重复列表,将您的原始列表移至第二个列表。注意:我现在在PHP: “Notice: Undefined variable”, “Notice: Undefined index”, and “Notice: Undefined offset” 中添加了an (community wiki) answer 来覆盖文件,这是很久以前应该做的事情,恕我直言。
  • ...用于结束问题的原始副本不包括文件。

标签: php mysql html


【解决方案1】:

在 php 中处理文件上传时,添加 enctype 属性,如下所示

<form enctype="multipart/form-data" action="../../panel/database_uploader3.php" method= "post">

您正在使用支持预处理语句的 api。请使用它

【讨论】:

  • 是的!谢谢... :) @Akintunde
  • 我的快乐朋友
猜你喜欢
  • 2016-04-28
  • 1970-01-01
  • 2016-02-25
  • 1970-01-01
  • 2014-02-06
  • 2015-10-17
  • 1970-01-01
  • 2019-05-22
相关资源
最近更新 更多