簡體   English   中英

PHP:獲取圖像路徑並將其存儲到數據庫

[英]PHP : Get Image Path and Store to Database

我有問題。 請看看我的main.php和upload.php

main.php

<?php
include "include/db_connection.php";
$id     = isset($_GET['id']) ? $_GET['id'] : "";

if ($id=="") {
        echo "<script>alert('Pilih Mahasiswa yang Ingin Unggah Berkas!');</script>";
        echo "<meta http-equiv='refresh' content='0; url=?page=tugas2'>";
    } else {
        $query = mysql_query("SELECT mahasiswa.nim, mahasiswa.nama, mahasiswa.jurusan 
                              FROM mahasiswa 
                              WHERE mahasiswa.nim = '$id'");
        while ($hisal=mysql_fetch_array($query)){
                    $nim    = $hisal['nim'];
                    $nama   = $hisal['nama'];
                    $jur    = $hisal['jurusan'];
                }   
            }
?>
<table>
    <tr>
        <td>NIM</td>
        <td>:</td>
        <td><?php echo $nim;?></td>
    </tr>
    <tr>
        <td>Nama</td>
        <td>:</td>
        <td><?php echo $nama;?></td>
    </tr>
    <tr>
        <td>Jurusan</td>
        <td>:</td>
        <td><?php echo $jur;?></td>
    </tr>
</table><br><br>


<form enctype="multipart/form-data" method="POST" action="?page=upload">
    <table border="1" width="50%">
        <tr>
            <td align="center">Jenis Berkas</td>
            <td align="center">Berkas</td>
            <td align="center">Aksi</td>
        </tr>
        <tr>
            <td align="center">Foto</td>
            <td align="center"><input type="file" name="foto" accept="image/jpeg"></td>
            <td align="center"><?php echo"<a href='?page=prosesUbah2&id=$hisal[nim];'>Ubah</a> | 
                           <a href='?page=prosesHapus2&id=$id' onclick='return confirm(\"Anda yakin ingin menghapus berkas dari nim $id ?\")'>Hapus</a>"
                ?>
            </td>
        </tr>
        <tr>
            <td align="center">Scan KTM</td>
            <td align="center"><input type="file" name="ktm" accept="image/jpeg"></td>
            <td align="center"><?php echo"<a href='?page=prosesUbah2&id=$id'>Ubah</a> | 
                           <a href='?page=prosesHapus2&id=$id' onclick='return confirm(\"Anda yakin ingin menghapus berkas dari nim $id ?\")'>Hapus</a>"
                ?>
            </td>
        </tr>
        <tr>

            <td colspan="3" align="center"><input type="submit" name="Unggah" id="Unggah" value="Unggah Berkas"></td>

        </tr>
    </table>
</form>

upload.php

<?php
include "include/db_connection.php";
$id     = isset($_GET['id']) ? $_GET['id'] : "";
$file       = "uploads/".$_FILES["foto"]["name"];

if ($_FILES["foto"]["error"] > 0 && $id==""){
    echo "<script>alert('Upload Failed')</script>";
    echo "<meta http-equiv='refresh' content='0; url=?page=tugas2'>";
    } else {
        move_uploaded_file($_FILES["foto"]["tmp_name"], "uploads/".$_FILES["foto"]["name"]);
        $sql=mysql_query("INSERT INTO mahasiswa VALUE ('','','','','','','$file','','') WHERE mahasiswa.nim='$id'");

        if ($sql){
            echo "<script>alert('Upload Gambar Sukses')</script>";
            echo "<meta http-equiv='refresh' content='0; url=?page=tugas2'>";
            } else{
                echo "<script>alert('Upload Failed')</script>";
                echo "<meta http-equiv='refresh' content='0; url=?page=tugas2'>";
                }
        }

?>

圖像文件已復制到上載文件夾,但其路徑未存儲在數據庫中。 當我單擊“ Unggah Berkas”按鈕時,警報顯示“ Upload Failed”,但圖像已復制到上載文件夾。 你能幫助我嗎? 不管怎么說,還是要謝謝你。

更新

我已經改變了

<form enctype="multipart/form-data" method="POST" action="?page=upload&id=<?php echo $id; ?>">

     //my code

</form>

和這個

    <?php
    include "include/db_connection.php";
    $id         = isset($_GET['id']) ? $_GET['id'] : "";
    $file       = "uploads/".$_FILES["foto"]["name"];

    if ($_FILES["foto"]["error"] > 0 || $id==""){
        echo "<script>alert('Upload Failed')</script>";
        echo "<meta http-equiv='refresh' content='0; url=?page=tugas2'>";
        } else {
            move_uploaded_file($_FILES["foto"]["tmp_name"], "uploads/".$_FILES["foto"]["name"]);
            $sql=mysql_query("INSERT INTO mahasiswa VALUE ('','','','','','','$file','','') WHERE mahasiswa.nim='$id'");    
            } 
?>

仍然不存儲到數據庫中

路徑無法存儲在表中,因為您沒有在URL中發送id 您的<form>標記應如下所示:

<form enctype="multipart/form-data" method="POST" action="upload.php?id=<?php echo $id; ?>">

    // your code

</form>

更新:

並更改您的if條件,如下所示:

if($_FILES["foto"]["error"] > 0 || $id==""){

    // error

}else {

    // no error

}   

重新編輯:

這將是您的目錄結構:

include
    |--db_connection.php
uploadform
    |--main.php
    |--upload.php
uploads


main.php

假設用戶的ID為12,則必須這樣調用main.php, main.php?id = 12

<?php
    require_once("../include/db_connection.php");
    $id     = isset($_GET['id']) ? $_GET['id'] : "";

    if ($id=="") {
            echo "<script>alert('Pilih Mahasiswa yang Ingin Unggah Berkas!');</script>";
            echo "<meta http-equiv='refresh' content='0; url=?page=tugas2'>";
        } else {
            $query = mysql_query("SELECT mahasiswa.nim, mahasiswa.nama, mahasiswa.jurusan 
                                  FROM mahasiswa 
                                  WHERE mahasiswa.nim = '$id'");
            while ($hisal=mysql_fetch_array($query)){
                $nim    = $hisal['nim'];
                $nama   = $hisal['nama'];
                $jur    = $hisal['jurusan'];
            }   
    }
?>
<table>
    <tr>
        <td>NIM</td>
        <td>:</td>
        <td><?php echo $nim;?></td>
    </tr>
    <tr>
        <td>Nama</td>
        <td>:</td>
        <td><?php echo $nama;?></td>
    </tr>
    <tr>
        <td>Jurusan</td>
        <td>:</td>
        <td><?php echo $jur;?></td>
    </tr>
</table><br><br>


<form enctype="multipart/form-data" method="POST" action="upload.php?id=<?php echo $id; ?>">
    <table border="1" width="50%">
        <tr>
            <td align="center">Jenis Berkas</td>
            <td align="center">Berkas</td>
            <td align="center">Aksi</td>
        </tr>
        <tr>
            <td align="center">Foto</td>
            <td align="center"><input type="file" name="foto" accept="image/jpeg"></td>
            <td align="center"><?php echo"<a href='?page=prosesUbah2&id=$hisal[nim];'>Ubah</a> | 
                           <a href='?page=prosesHapus2&id=$id' onclick='return confirm(\"Anda yakin ingin menghapus berkas dari nim $id ?\")'>Hapus</a>"
                ?>
            </td>
        </tr>
        <tr>
            <td align="center">Scan KTM</td>
            <td align="center"><input type="file" name="ktm" accept="image/jpeg"></td>
            <td align="center"><?php echo"<a href='?page=prosesUbah2&id=$id'>Ubah</a> | 
                           <a href='?page=prosesHapus2&id=$id' onclick='return confirm(\"Anda yakin ingin menghapus berkas dari nim $id ?\")'>Hapus</a>"
                ?>
            </td>
        </tr>
        <tr>

            <td colspan="3" align="center"><input type="submit" name="Unggah" id="Unggah" value="Unggah Berkas"></td>

        </tr>
    </table>
</form>


upload.php

<?php

    require_once("../include/db_connection.php");
    $id     = isset($_GET['id']) ? $_GET['id'] : "";
    $file       = "uploads/".$_FILES["foto"]["name"];

    if ($_FILES["foto"]["error"] > 0 || $id==""){
        echo "<script>alert('Upload Failed')</script>";
        echo "<meta http-equiv='refresh' content='0; url=?page=tugas2'>";
    } else {
        move_uploaded_file($_FILES["foto"]["tmp_name"], "../uploads/".$_FILES["foto"]["name"]);
        $sql=mysql_query("INSERT INTO mahasiswa VALUE ('','','','','','','$file','','') WHERE mahasiswa.nim='$id'");

        if ($sql){
            echo "<script>alert('Upload Gambar Sukses')</script>";
            echo "<meta http-equiv='refresh' content='0; url=?page=tugas2'>";
        } else{
            echo "<script>alert('Upload Failed')</script>";
            echo "<meta http-equiv='refresh' content='0; url=?page=tugas2'>";
        }
    }

?>

只需更改查詢

$sql=mysql_query("INSERT INTO mahasiswa VALUE ('','','','','','','$file','','') WHERE mahasiswa.nim='$id'");

$sql=mysql_query("UPDATE mahasiswa SET foto='$foto' WHERE mahasiswa.nim='$id'");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM