Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当尝试将上传文件的路径插入MySQL时,会创建一个副本_Javascript_Php_Jquery_Html_Mysql - Fatal编程技术网

Javascript 当尝试将上传文件的路径插入MySQL时,会创建一个副本

Javascript 当尝试将上传文件的路径插入MySQL时,会创建一个副本,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,我试图将一个用户上传的图像($picpath)、一个用户输入($uname)和一个内容可变的html文件($profilepath)的路径插入MySQL表,如下所示: <?php $target_dir = 'uploads/'; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; if(isset($_POST["submit"])) { $check = ge

我试图将一个用户上传的图像($picpath)、一个用户输入($uname)和一个内容可变的html文件($profilepath)的路径插入MySQL表,如下所示:

<?php
$target_dir = 'uploads/';
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;


if(isset($_POST["submit"])) {

$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}

$temp = explode(".", $_FILES["fileToUpload"]["name"]);
$imageFileType = end($temp);

$random = uniqid();

$imgname = "img$random.$imageFileType";
$picpath = "uploads/$imgname";

if ($uploadOk == 0) {
echo "sorry not able to upload file";
}
else {
    if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], "uploads/ . $imgname)) {
        echo "the file " .$imgname. " has been uploaded!";
    }
    else {
        echo "sorry there was an error.";
    }
}


$uname = $_POST['uname'];


$filecount = count(glob("usertest/*.html"));

$filename = "user" .($filecount+1).".html";

$profilepath = "usertest/$filename";

$myfile = fopen("usertest/$filename", "w") or die("unable to create file");

$html = "<html><body><h1>this is" .$uname."'s profile</h1></body></html>";

fwrite($myfile, $html);

fclose($myfile);


$servername = "127.0.0.1";
$username = "username";
$password = "Password";
$dbname = "database";

// Create connection
$conn =  new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}



$sql = "INSERT INTO users(id, name, profilepath, picpath) VALUES (NULL, '$uname','$picpath', '$profilepath')";



if ($conn->query($sql) === TRUE) {

    echo "New record created!";
}


else {
    echo "Error.";
}




$conn->close();





?>
以此类推(随机图像编号是由数字组成的)。真奇怪!我还应该补充一点,有时这两个图像会有相同的uniqid()(如上所示),有时则不会。 我尝试了我能在网上找到的一切,但似乎没有人遇到过这个问题! 任何帮助都将不胜感激!
谢谢


编辑:

这就是html应该是什么样子(它更简单,而且没有js!):


选择要上载的图像:

它使用相同的PHP。

实际上并不奇怪!你发送数据两次!(使用post和ajax!)因此您的表单发送两次。从表单标记中清除ajax函数或操作和方法,如下所示:

<!DOCTYPE html>
<html>
<head>

<script type="text/javascript" src="jquery-3.1.1.js"></script>
<script>

$('.button').click(function(){
     var unameValue = $('input:text').val();
     var actionValue = $(this).val();
     var ajaxurl = 'upload.php',
     data = {
        'uname': unameValue,

     };
     $.post(ajaxurl, data, function(response) {
         alert("success!!!!");
     });
     });
     </script>
     </head
     <body>
     <form method="POST">
     <input id="userinput" type="text" name="uname" value="peter" />


     </form>  

<form >
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" class="button" value="submit" />
</form>
</body>
</body>
</html>

$('.button')。单击(函数(){
var unameValue=$('input:text').val();
var actionValue=$(this.val();
var ajaxurl='upload.php',
数据={
“uname”:unevalue,
};
$.post(ajaxurl、数据、函数(响应){
警惕(“成功!!”);
});
});

谢谢这真的把我引向了正确的方向!我不得不留下post内容,但我拿走了jquery并将所有输入放在同一个表单中。我将编辑我的答案…再次感谢@鲁本吉利亚尼很棒!如果我的回答完全有帮助,请接受我的回答answer@RubenGiuliani你为什么忽视我的回答?
ID   Name    picpath              profilepath

1    Peter   usertest/user1.html  uploads/img19ckdovj239si.
2            usertest/user2.html  uploads/img19ckdovj239si.png
3    George  usertest/user3.html  uploads/img19ckdovuv34yu.
             usertest/user4.html  uploads/img19ckdovuv34yu.png
<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload"/>
    <input id="userinput" type="text" name="uname" value="peter" />
    <input type="submit" class="button" value="submit" />
</form>
</body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>

<script type="text/javascript" src="jquery-3.1.1.js"></script>
<script>

$('.button').click(function(){
     var unameValue = $('input:text').val();
     var actionValue = $(this).val();
     var ajaxurl = 'upload.php',
     data = {
        'uname': unameValue,

     };
     $.post(ajaxurl, data, function(response) {
         alert("success!!!!");
     });
     });
     </script>
     </head
     <body>
     <form method="POST">
     <input id="userinput" type="text" name="uname" value="peter" />


     </form>  

<form >
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" class="button" value="submit" />
</form>
</body>
</body>
</html>