PHP 错误:未定义的索引


PHP error: Undefined Index

我是Ajax和PHP的新手。决定创建索引.php(使用 ajax)和 simpan.php

<?php
include 'koneksi.php'; //conn
$target_dir="foto/";
$target_file=$target_dir.basename($_FILES['foto']['name']); //error
move_uploaded_file($_FILES['foto']['tmp_name'],$target_file); //error
$q=$db->prepare("insert into mahasiswa values
(?,?,?,?,?)");
$param=array($_POST['nim'],$_POST['nama'],
            $_POST['alamat'],$_POST['email'],
            $_FILES['foto']['name']); //error
$q->execute($param);
if($q){
    echo "OK";
}else{
    echo "fail";
}

我很困惑它有一些错误:

未定义的索引:在 C:''xampp''htdocs''lat_ajax204''simpan.php 中 第 4 行

未定义的索引:在 C:''xampp''htdocs''lat_ajax204''simpan.php 中 第 5 行

未定义的索引:在 C:''xampp''htdocs''lat_ajax204''simpan.php 中 第 10 行

致命错误:未捕获的 PDOException:SQLSTATE[23000]:完整性 约束冲突:1048 列"foto"不能为空 C:''xampp''htdocs''lat_ajax204''simpan.php:11 堆栈跟踪:#0 C:''xampp''htdocs''lat_ajax204''simpan.php(11): PDOStatement->execute(Array) #1 {main} throw in C:''xampp''htdocs''lat_ajax204''simpan.php 在第 11 行

我在 mahasiswa 表中为 foto 创建了一个 mysql 列,类型是 blob。它有问题吗?但是索引.php完全没有错误。谢谢

使用 isset() 检查表单是否已提交。

http://php.net/manual/en/function.isset.php

<?php
include 'koneksi.php'; //conn
if(isset($_FILES['foto'],$_POST['nim'],$_POST['nama'],$_POST['alamat'],$_POST['email'])) {
  $target_dir="foto/";
  $target_file=$target_dir.basename($_FILES['foto']['name']); //error
  move_uploaded_file($_FILES['foto']['tmp_name'],$target_file); //error
  $q=$db->prepare("insert into mahasiswa values
  (?,?,?,?,?)");
  $param=array($_POST['nim'],$_POST['nama'],
              $_POST['alamat'],$_POST['email'],
              $_FILES['foto']['name']); //error
  $q->execute($param);
  if($q){
      echo "OK";
  }else{
      echo "fail";
  }
}