尝试从 php FORM 上传到 MYSQL 数据库时出错
Error when trying to upload from php FORM into MYSQL database
我在网页上工作,我需要将我的 MySql dtatabse 与 php 连接起来,我设法做到了,但我无法将数据从网页上传到数据库,我明白了错误
Notice: Undefined index: Naziv in
C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 15
Notice: Undefined index: Naslov in
C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 16
Notice: Undefined index: Vrsta_lesa in
C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 17
Notice: Undefined index: Kontakt in
C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 18
Notice: Undefined index: Ocena in
C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 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代码(upload.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,我是初学者。感谢您的帮助,谢谢。
编辑
您到处都在使用 $_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 条件
if(isset($_POST['Naziv']) && $_POST['Naziv']!='')
{
//put your whole database code here...
}
您必须进行如下更改,因为您的表单 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']);
我在网页上工作,我需要将我的 MySql dtatabse 与 php 连接起来,我设法做到了,但我无法将数据从网页上传到数据库,我明白了错误
Notice: Undefined index: Naziv in C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 15
Notice: Undefined index: Naslov in C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 16
Notice: Undefined index: Vrsta_lesa in C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 17
Notice: Undefined index: Kontakt in C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 18
Notice: Undefined index: Ocena in C:\xampp\htdocs\HlodInfo\Skripte\upload.php on line 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代码(upload.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,我是初学者。感谢您的帮助,谢谢。
编辑
您到处都在使用 $_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 条件
if(isset($_POST['Naziv']) && $_POST['Naziv']!='')
{
//put your whole database code here...
}
您必须进行如下更改,因为您的表单 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']);