簡體   English   中英

PHP 錯誤:未定義索引

[英]PHP error: Undefined Index

我是 Ajax 和 PHP 的新手。 決定創建 index.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";
}

我很困惑它有一些錯誤:

未定義索引:第 4 行 C:\\xampp\\htdocs\\lat_ajax204\\simpan.php 中的 foto

未定義索引: foto in C:\\xampp\\htdocs\\lat_ajax204\\simpan.php 第 5 行

未定義索引:foto in C:\\xampp\\htdocs\\lat_ajax204\\simpan.php 第 10 行

致命錯誤:未捕獲的 PDOException:SQLSTATE[23000]:違反完整性約束:1048 列 'foto' 在 C:\\xampp\\htdocs\\lat_ajax204\\simpan.php:11 中不能為 null 堆棧跟蹤:#0 C:\\xampp\\htdocs\\ lat_ajax204\\simpan.php(11): PDOStatement->execute(Array) #1 {main} 在第 11 行的 C:\\xampp\\htdocs\\lat_ajax204\\simpan.php 中拋出

我在 mahasiswa 表中為 foto 創建了一個 mysql 列,類型是 blob。 它會造成問題嗎? 但是 index.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";
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM