如何使用PHP,JavaScript,Bootstrap上传文件并保存到数据库

时间:2014-06-11 06:12:09

标签: javascript php jquery twitter-bootstrap

大家.. 我有使用javascript的问题。 我想使用Modal(bootstrap),PHP和javascript制作CRUD。但不幸的是,直到现在我无法上传文件并将其保存到数据库。我有3个文件(索引,表单,javascript,进程)这里是我的代码:

对于模态(索引)

<div id="dialog-admin" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModalLabel"></h3>
</div>
<!-- tempat untuk menampilkan form admin -->
<div class="modal-body"></div>
<div class="modal-footer">
    <button class="btn btn-danger" data-dismiss="modal" aria-hidden="true">Batal</button>
    <button id="simpan-admin" class="btn btn-success">Simpan</button>
</div>

此表单文件的代码:

<form class="form-horizontal" id="form-admin" enctype="multipart/form-data" >
<div> ... bla bla bla.. field.. </div>
<div class="control-group">
    <label class="control-label" for="ava">Image</label>
    <div class="controls">
        <input type="file" id="ava" name="ava" value="<?php echo $ava ?>" required="required" />
    </div>
</div>

此代码适用于javascript:

$("#simpan-admin").bind("click", function(event) {
        var url = "admin-proses.php";

        // mengambil nilai dari inputbox, textbox dan select
        var v_username = $('input:text[name=username]').val();
        var v_email = $('input:text[name=email]').val();
        var v_pass = $('input:text[name=pass]').val();
        var v_ava = $('input:file[name=ava]').val();

        // mengirimkan data ke berkas transaksi admin-proses.php untuk di proses
        $.post(url, {username: v_username, email: v_email, pass: v_pass, ava:v_ava, id: id} ,function() {
            // tampilkan data admin yang sudah di perbaharui
            // ke dalam <div id="data-admin"></div>
            $("#data-admin").load(main);

            // sembunyikan modal dialog
            $('#dialog-admin').modal('hide');

            // kembalikan judul modal dialog
            $("#myModalLabel").html("Tambah Data Admin");
        });
    });

以及此文件处理代码:

require 'dbase.php';
$id = $_POST['id'];
$username   = $_POST['username'];
$email  = $_POST['email'];
$pass   = $_POST['pass'];

$imageName = $_FILES['ava']['name'];
$imageSize = $_FILES['ava']['size'];
$imageError = $_FILES['ava']['error'];


    if ($imageSize > 0 || $imageError == 0){
        $move = move_uploaded_file($_FILES['ava']['tmp_name'], '../uploads/ava/'.$imageName);
        if ($move){
            echo 'success';
        } else {
            echo 'failed';
        }
    } else {
        echo 'failed to save file to DB : '.$imageError;

    }


        mysql_query("INSERT INTO tb_admin VALUES('','$username','$email','$pass','$imageName')") or die (mysql_error());
你可以帮帮我吗? 谢谢 方面

2 个答案:

答案 0 :(得分:0)

检查帖子是否在jquery中正确完成。一步一步调试。确保获取所有输入字段值。

答案 1 :(得分:0)

我建议你应该去W3Schools这个链接:

http://www.w3schools.com/php/php_file_upload.asp

它涵盖了文件上传的所有基础知识。

对于数据库,请仔细阅读:

http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/uploading-files-to-mysql-database.aspx