【问题标题】:Error when trying to upload from php FORM into MYSQL database尝试从 php FORM 上传到 MYSQL 数据库时出错
【发布时间】:2015-05-09 00:31:04
【问题描述】:

我正在处理网页,我需要将我的 MySql dtatabse 与 php 连接,我设法做到了,但我被困在将数据从网页上传到数据库中,我收到错误

注意:未定义的索引:Naziv in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 15 行

注意:未定义索引:Naslov in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 16 行

注意:未定义索引:Vrsta_lesa in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 17 行

注意:未定义索引:Kontakt in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 18 行

注意:未定义索引:Ocena in C:\xampp\htdocs\HlodInfo\Skripte\upload.php 在第 19 行

我的代码: (admin.html) 表格:

  <form action="Skripte/upload.php" method="post" enctype="multipart/form-data">
       Naziv: <input type="text" name="Naziv">::
       Naslov <input type="text" name="Naslov">:: <br>
       Vrsta Lesa: <input type="text" name="Vrsta_lesa">::
       Kontakt <input type="text" name="Kontakt">::
       Ocena <input type="text" name="Ocena"> <br>

        <input type="submit" value="OK">
  </form>

PHP 代码(上传.php)

<?php



     $dbLink = new mysqli('localhost', 'root', '', 'hlodinfo');
        if(mysqli_connect_errno()) 
            die("MySQL connection failed: ". mysqli_connect_error());



        // Gather all required data
        $naziv = $dbLink->real_escape_string($_FILES['Naziv']['text']);
        $naslov = $dbLink->real_escape_string($_FILES['Naslov']['text']);
        $vrsta_lesa = $dbLink->real_escape_string($_FILES['Vrsta_lesa']['text']);
        $kontakt = $dbLink->real_escape_string($_FILES['Kontakt']['text']);
        $ocena = $dbLink->real_escape_string($_FILES['Ocena']['text']);


         // Create the SQL query
         $query = "INSERT INTO `odkupnik` ( `Naziv`, `Naslov`, `Vrsta_lesa`, `Kontakt`, `Ocena` )


                   VALUES ('{$naziv}', '{$naslov}', {$vrsta_lesa}, '{$kontakt}','{$ocena}')";


         $result = $dbLink->query($query);


         // Close the mysql connection
           $dbLink->close();


?>

我仍在学习 PHP 和 javascript,而且我是初学者。感谢您的帮助,谢谢。

【问题讨论】:

标签: php mysql database apache phpmyadmin


【解决方案1】:

编辑

你到处都在使用$_FILES...应该是$_POST

        $naziv = $dbLink->real_escape_string($_POST['Naziv']);
        $naslov = $dbLink->real_escape_string($_POST['Naslov']);
        $vrsta_lesa = $dbLink->real_escape_string($_POST['Vrsta_lesa']);
        $kontakt = $dbLink->real_escape_string($_POST['Kontakt']);
        $ocena = $dbLink->real_escape_string($_POST['Ocena']);

如果条件,请将您的mysql insert code 放在下面

if(isset($_POST['Naziv']) && $_POST['Naziv']!='')
{
  //put your whole database code here...
}

【讨论】:

  • OP 在他们的表单中使用 enctype 属性,所以很明显他想上传文件。
【解决方案2】:

您必须进行如下更改,因为您的表单 http 方法是 POST

    // Gather all required data
    $naziv = $dbLink->real_escape_string($_POST['Naziv']);
    $naslov = $dbLink->real_escape_string($_POST['Naslov']);
    $vrsta_lesa = $dbLink->real_escape_string($_POST['Vrsta_lesa']);
    $kontakt = $dbLink->real_escape_string($_POST['Kontakt']);
    $ocena = $dbLink->real_escape_string($_POST['Ocena']);

【讨论】:

    猜你喜欢
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    相关资源
    最近更新 更多