【问题标题】:PHP Notice: Undefined index and Form Fields errorPHP 注意:未定义的索引和表单字段错误
【发布时间】:2014-06-28 02:09:49
【问题描述】:

我正在尝试创建员工数据库,但由于输入表单返回错误,我被卡住了,我正在使用 Bootstrap 和验证器插件。

我已经检查了所有字段(除了 foto_pelamar 的输入文件和 pendidikan_pelamar 的选择形式),并且我认为我的输入文件和选择形式的字段代码不正确

附:我没有检查字段是否为空就离开了提交脚本,我只是在测试向 MySQL 插入数据。

这是我的代码:

input.php

<!DOCTYPE html>
<html lang="en">
  <head><?php session_start();?>
    <title>Dashboard</title>

    <link href="/gyankapratama/css/bootstrap.css" rel="stylesheet">

    <link href="/gyankapratama/css/sb-admin.css" rel="stylesheet">
    <link rel="stylesheet" href="/gyankapratama/font-awesome/css/font-awesome.min.css">
    <link rel="stylesheet" href="/gyankapratama/css/datepicker3.css">

    <script src="/gyankapratama/js/jquery.js"></script>
    <script src="/gyankapratama/js/moment.min.js"></script>
    <script src="/gyankapratama/js/bootstrap-datepicker.js"></script>
    <script src="/gyankapratama/js/bootstrap.js"></script>
    <script src="/gyankapratama/js/bootstrapValidator.js"></script>

    <?php $Today= date("d/m/Y");?>

    <script type="text/javascript">
    var Today="<?php echo $Today; ?>";
$(document).ready(function() {
$('#datepicker').datepicker({
    format: 'dd/mm/yyyy',
    endDate: Today
});

    $('#html5Form').bootstrapValidator({
        feedbackIcons: {
            valid: 'fa fa-check',
            invalid: 'fa fa-times',
            validating: 'fa fa-refresh'
        }
    });

});
</script>

    <link rel="icon" 
      type="image/png" 
      href="/gyankapratama/img/favicon.png">
  </head>

  <body>

    <div id="wrapper">

      <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">

        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="index.php">Administrator Dashboard</a>
        </div>


        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <ul class="nav navbar-nav side-nav">
            <li><a href="index.php"><i class="fa fa-dashboard"></i> Dashboard</a></li>
            <li class="active"><a href="input.php"><i class="fa fa-edit"></i> Input Pelamar</a></li>
            <li><a href="daftar.php"><i class="fa fa-table"></i> Daftar Pelamar</a></li>
            <li><a href="arsip.php"><i class="fa fa-briefcase"></i> Arsip Pelamar</a></li>

            <!-- Super Admin Role --> 
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-group"></i> Administrator <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="daftar_adm.php">Daftar Administrator</a></li>
                <li><a href="add_adm.php">Tambah Administrator</a></li>\
              </ul>
            </li>

          </ul>

          <ul class="nav navbar-nav navbar-right navbar-user">
            <li class="dropdown user-dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <?php echo $_SESSION['username']; ?> <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="profile.php"><i class="fa fa-user"></i> Profile</a></li>
                <li class="divider"></li>
                <li><a href="logout.php"><i class="fa fa-power-off"></i> Log Out</a></li>
              </ul>
            </li>
          </ul>
        </div>
      </nav>

      <div id="page-wrapper">

        <div class="row">
          <div class="col-lg-12">
            <h1>Pelamar <small> Input data baru</small></h1>
            <ol class="breadcrumb">
              <li><i class="fa fa-home"></i> Dashboard</li>
              <li class="active">Input Pelamar</li>
            </ol>
          </div>
        </div>

        <div class="row">
        <div class="col-lg-12">
          <form id="html5Form" class="form-horizontal" action="input_script.php" method="post" enctype="multipart/form-data" data-bv-message="Masukkan tidak valid">


<div class="form-group">
<label class="col-lg-3 control-label">Nama Lengkap</label>
<div class="col-lg-5">
<input type="text" class="form-control" placeholder="Nama Lengkap"
data-bv-notempty="true"
data-bv-notempty-message="Nama tidak bisa dikosongkan"
pattern="[a-zA-Z]+"
data-bv-regexp-message="Nama hanya bisa menggunakan alfabet"
name="nama_pelamar" id="nama_pelamar" required/>
</div>
</div>

<div class="form-group">
<label class="col-lg-3 control-label">Jenis Kelamin</label>
<div class="col-lg-5">
<input type="radio" name="kelamin_pelamar" id="kelamin_pelamar" value="Laki-Laki" required/> Laki-Laki
<input type="radio" name="kelamin_pelamar" id="kelamin_pelamar" value="Perempuan" /> Perempuan
</div>
</div>

<div class="form-group">
        <label class="col-lg-3 control-label">Tempat, Tanggal Lahir</label>
        <div class="col-md-2">
            <input type="text" class="form-control" placeholder="Tempat Lahir"
data-bv-notempty-message="Nama Tempat Lahir tidak bisa dikosongkan"
pattern="[a-zA-Z]+"
data-bv-regexp-message="Nama Tempat Lahir hanya bisa menggunakan karakter alfabet"
name="tempat_pelamar" id="tempat_pelamar" required/>
        </div>
        <div class="col-md-3">
        <div class="input-group date" id="datepicker">
            <input type="text" class="form-control" data-date-format="dd/mm/yyyy" placeholder="Tanggal Lahir" name="lahir_pelamar" id="lahir_pelamar"
            data-bv-date-message="Tanggal lahir tidak valid"
            required/>
                <span class="input-group-addon">
                    <span class="fa fa-calendar"></span>
                </span>
            </div>

        </div>
    </div>

    <div class="form-group">
        <label class="col-lg-3 control-label">Berat, Tinggi Badan</label>
        <div class="col-md-2">
            <input type="text" class="form-control" placeholder="Kilogram"
data-bv-notempty-message="Berat Badan tidak bisa dikosongkan"
pattern="[0-9]+" data-bv-lessthan="true" data-bv-lessthan-value="150"
data-bv-stringlength="true" data-bv-stringlength-max="3"
data-bv-regexp-message="Berat badan hanya bisa menggunakan angka"
data-bv-lessthan-message="Berat badan tidak normal"
name="berat_pelamar" id="berat_pelamar" required/>
        </div>
        <div class="col-md-3">
            <input type="text" class="form-control" placeholder="Centimeter"
data-bv-notempty-message="Tinggi Badan tidak bisa dikosongkan"
pattern="[0-9]+" data-bv-lessthan="true" data-bv-lessthan-value="250"
data-bv-stringlength="true" data-bv-stringlength-max="3
data-bv-regexp-message="Tinggi badan hanya bisa menggunakan angka"
data-bv-lessthan-message="Tinggi badan tidak normal"
name="tinggi_pelamar" id="tinggi_pelamar" required/>
        </div>
    </div>

<div class="form-group">
<label class="col-lg-3 control-label">Alamat Lengkap</label>
<div class="col-lg-5">
<input type="text" class="form-control" placeholder="Alamat Lengkap"
data-bv-notempty-message="Alamat tidak bisa dikosongkan"
pattern="[a-zA-Z0-9]+"
data-bv-regexp-message="Alamat hanya bisa menggunakan karakter alfanumerik"
name="alamat_pelamar" id="alamat_pelamar" required/>
</div>
</div>

<div class="form-group">
        <label class="col-lg-3 control-label">Kecamatan, Kota</label>
        <div class="col-md-2">
            <input type="text" class="form-control" placeholder="Kecamatan"
data-bv-notempty-message="Kecamatan tidak bisa dikosongkan"
pattern="[a-zA-Z]+"
data-bv-regexp-message="Kecamatan hanya bisa menggunakan alfabet"
name="kec_pelamar" id="kec_pelamar" required/>
        </div>
        <div class="col-md-3">
            <input type="text" class="form-control" placeholder="Kota"
data-bv-notempty-message="Kota tidak bisa dikosongkan"
pattern="[a-zA-Z]+"
data-bv-regexp-message="Kota hanya bisa menggunakan alfabet"
name="kota_pelamar" id="kota_pelamar" required/>
        </div>
    </div>

<div class="form-group">
<label class="col-lg-3 control-label">Nomor Telepon</label>
<div class="col-lg-5">
<input type="text" class="form-control" placeholder="Nomor Telepon"
data-bv-notempty-message="Telepon tidak bisa dikosongkan"
pattern="[0-9]+"
data-bv-phone-message="Telepon hanya bisa menggunakan karakter alfanumerik"
name="telepon_pelamar" id="telepon_pelamar" required/>
</div>
</div>

<div class="form-group">
<label class="col-lg-3 control-label">Status</label>
<div class="col-lg-5">
<input type="radio" name="status_pelamar" id="status_pelamar" value="Menikah" required/> Menikah
<input type="radio" name="status_pelamar" id="status_pelamar" value="Belum Menikah" /> Belum Menikah
<input type="radio" name="status_pelamar" id="status_pelamar" value="Janda/Duda" /> Janda/Duda
</div>
</div>

<div class="form-group">
<label class="col-lg-3 control-label">Pendidikan Terakhir</label>
<div class="col-lg-2">
<select class="form-control" name="pendidikan_member" id="pendidikan_member" required>
<option value="" disabled selected>Pendidikan</option>
<option value="SD">SD</option>
<option value="SMP">SMP</option>
<option value="SMA/SMK">SMA/SMK</option>
<option value="D1">D1</option>
<option value="D2">D2</option>
<option value="D3">D3</option>
<option value="D4">D4</option>
<option value="S1">S1</option>
<option value="S2">S2</option>
<option value="S3">S3</option>
</select>
</div>
</div>

<div class="form-group">
<label class="col-lg-3 control-label">Tujuan Perusahaan</label>
<div class="col-lg-5">
<input type="text" class="form-control" placeholder="Perusahaan yang Dituju"
data-bv-notempty-message="Nama Perushaan tidak bisa dikosongkan"
pattern="[a-zA-Z0-9]+"
data-bv-regexp-message="Nama Perushaan hanya bisa menggunakan karakter alfanumerik"
name="perusahaan_pelamar" id="perusahaan_pelamar" required/>
</div>
</div>


<div class="form-group">
<label class="col-lg-3 control-label">Foto pelamar: <br/><small><i>"Max 1 MByte (png,jpg,gif)"</small><i></label> 
<div class="col-lg-5">
<input type="file" class="form-control" name="foto_pelamar" id="foto_pelamar" accept="image/*" required/>
</div>
</div>


<div class="form-group">
<label class="col-lg-9 col-lg-offset-3">
<!-- <input type="reset" class="btn btn-default"  value="Kosongkan"/> -->
<input type="submit" class="btn btn-default"  value="Tambah"/>
</div>


</div>
</form>

        </div


      </div>

    </div>


  </body>
</html>

这是提交的脚本:

input_script.php

<?php
include "connect.php";

$handle = fopen ($_FILES['foto_pelamar']['tmp_name'], "r");

$foto_pelamar = fread ($handle, filesize($_FILES['foto_pelamar']['tmp_name']));

   fclose ($handle);
   // Input image to database
   $foto_pelamar = mysql_real_escape_string($foto_pelamar);
   $type_foto = $_FILES['foto_pelamar']['type'];
   $nama_pelamar = $_POST['nama_pelamar'];
   $nama_pelamar = trim($nama_pelamar);
   $kelamin_pelamar = $_POST['kelamin_pelamar'];
   $kelamin_pelamar = trim($kelamin_pelamar);
   $tempat_pelamar = $_POST['tempat_pelamar'];
   $tempat_pelamar = trim($tempat_pelamar);
   $lahir_pelamar = $_POST['lahir_pelamar'];
   $lahir_pelamar = trim($lahir_pelamar);
   $berat_pelamar = $_POST['berat_pelamar'];
   $berat_pelamar = trim($berat_pelamar);
   $tinggi_pelamar = $_POST['tinggi_pelamar'];
   $tinggi_pelamar = trim($tinggi_pelamar);
   $alamat_pelamar = $_POST['alamat_pelamar'];
   $alamat_pelamar = trim($alamat_pelamar);
   $kec_pelamar = $_POST['kec_pelamar'];
   $kec_pelamar = trim($kec_pelamar);
   $kota_pelamar = $_POST['kota_pelamar'];
   $kota_pelamar = trim($kota_pelamar);
   $telepon_pelamar = $_POST['telepon_pelamar'];
   $telepon_pelamar = trim($telepon_pelamar);
   $status_pelamar = $_POST['status_pelamar'];
   $status_pelamar = trim($status_pelamar);
   $pendidikan_pelamar = isset($_POST["pendidikan_pelamar"]) ? $_POST['pendidikan_pelamar'] : '';
   $pendidikan_pelamar = trim($pendidikan_pelamar);
   $perusahaan_pelamar = $_POST['perusahaan_pelamar'];
   $perusahaan_pelamar = trim($perusahaan_pelamar);


   $sql = 'insert into pelamar (nama_pelamar,kelamin_pelamar,tempat_pelamar,lahir_pelamar,berat_pelamar,tinggi_pelamar,alamat_pelamar,kec_pelamar,kota_pelamar,telepon_pelamar,status_pelamar,pendidikan_pelamar,perusahaan_pelamar,foto_pelamar) VALUES ("' . $nama_pelamar . '","' . $kelamin_pelamar  . '","' . $tempat_pelamar  . '","' . $lahir_pelamar  . '","' . $berat_pelamar  . '","' . $tinggi_pelamar  . '","' . $alamat_pelamar . '","' . $kec_pelamar . '","' . $kota_pelamar . '","' . $telepon_pelamar . '","' . $status_pelamar . '","' . $pendidikan_pelamar . '","' . $perusahaan_pelamar . '","' . $foto_pelamar . '")';

  if ( !(mysql_query($sql)) ) {
      echo "<h2>Data gagal ditambahkan</h2>";
      //echo "<meta http-equiv='refresh' content='1; url=input.php'>";
   }

   else {
      echo "<h2>Data berhasil ditambahkan</h2>";
      //echo "<meta http-equiv='refresh' content='1; url=input.php'>";
   }
?>

请帮我解决这个问题,也许不是脚本,而是导致问题的输入表单。我已经尝试修复选择表单和文件提交,但不是正常工作,而是布局被破坏并且引导验证不起作用。

更新 3:input_script 上的错字

  • 我删除了两行不应该存在的行。
  • 仍然可能来自选择表单的错误

显示错误 注意:未定义索引:第 34 行 E:\xampp\htdocs\gyankapratama\administrator\input_script.php 中的 pendidikan_pelamar

Data gagal ditambahkan

问候,

IndraWP

【问题讨论】:

  • 请将完整的错误添加到您的问题中。
  • 我仍然没有看到错误信息

标签: javascript php jquery mysql forms


【解决方案1】:

将您的 Pendidikan Terakhir 名称从 pendidikan_member 更改为 pendidikan_pelamar,使其与您的 PHP 脚本 ($_POST["pendidikan_pelamar"]) 匹配。

来自

<select class="form-control" name="pendidikan_member" id="pendidikan_member" required>

<select class="form-control" name="pendidikan_pelamar" id="pendidikan_pelamar" required>

【讨论】:

  • 谢谢,但另一个错误是读取 foto_pelamar 返回到:警告:fread(): Length parameter must be greater than 0 in E:\xampp\htdocs\gyankapratama\administrator\input_script.php 在线25 读取临时文件时出错
  • @IndraWiraPramana 该错误与本文中的问题无关。先在这里查看stackoverflow.com/questions/17717506/…,如有必要,请打开一个新问题
猜你喜欢
  • 2014-06-01
  • 2011-05-26
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多