Php 卡在oop上传图像+插入
对不起,如果我的问题不好,我的英语不好 注意:忽略sql注入过滤 我正在使用我自己创建的插入函数来插入数据库 但是我被这些代码困住了 我想将图像上载到../images目录。如果插入时包含图像,则会插入文本,但不会上载图像 我认为这个问题没有进入讨论阶段Php 卡在oop上传图像+插入,php,mysql,image,oop,upload,Php,Mysql,Image,Oop,Upload,对不起,如果我的问题不好,我的英语不好 注意:忽略sql注入过滤 我正在使用我自己创建的插入函数来插入数据库 但是我被这些代码困住了 我想将图像上载到../images目录。如果插入时包含图像,则会插入文本,但不会上载图像 我认为这个问题没有进入讨论阶段 if(!empty($gambar)) { $dir="../images/"; $tmp=$_FILES['gambar']['tmp_name']; $namafile=time().".jpg"; $
if(!empty($gambar))
{
$dir="../images/";
$tmp=$_FILES['gambar']['tmp_name'];
$namafile=time().".jpg";
$ukuran=$_FILES['gambar']['size'];
$file_type=$_FILES['gambar']['type'];
move_uploaded_file($tmp,$dir.$namafile);
$this->perintah="insert into ".$tbl." (".$kol.",gambar) values (".$isi.",".$namafile.")";
$q=mysql_query($this->perintah);
}
但是
else
{
$this->perintah="insert into ".$tbl." (".$kol.") values (".$isi.")";
$q=mysql_query($this->perintah);
}
我必须声明变量
$gambar = $_FILES['gambar'];
还有表单标签
<form method='post' action='controller.php?act=inputsiswa' name='siswa' enctype='multipart/form-data'>
我可以向您声明变量吗
public function insert($tbl,$kol,$isi,$gambar = null)
或
还是什么
我所有的密码
model.php
public function insert($tbl,$kol,$isi,$gambar)
{
if(!empty($gambar))
{
$dir="../images/";
$tmp=$_FILES['gambar']['tmp_name'];
$namafile=time().".jpg";
$ukuran=$_FILES['gambar']['size'];
$file_type=$_FILES['gambar']['type'];
move_uploaded_file($tmp,$dir.$namafile);
$this->perintah="insert into ".$tbl." (".$kol.",gambar) values (".$isi.",".$namafile.")";
$q=mysql_query($this->perintah);
}
else
{
$this->perintah="insert into ".$tbl." (".$kol.") values (".$isi.")";
$q=mysql_query($this->perintah);
}
echo '<script> alert("Data Berhasil Dimasukkan!"); top.location="index.php?act='.htmlentities($_GET['act']).'";</script>';
if(!$q)
{
echo "<script> alert(\"Gagal Coy !\"); top.location=\"index.php\";</script>";
exit();
}
}
content.php
<form method='post' action='controller.php?act=inputsiswa' name='siswa' enctype='multipart/form-data'>
NISN<br /><input type='text' name='nisn' class='text' required/><br />
Username<br /><input type='text' name='username' class='text' required/><br />
Password<br /><input type='password' name='password' class='text' required/><br />
Ulangi Password<br /><input type='password' name='password2' class='text' required/><br />
Nama Lengkap<br /><input type='text' name='nama' class='text' required/><br />
Tempat Lahir<br /><input type='text' name='tempat_lahir' class='text' required/><br />
Tanggal Lahir <br /><input type='text' name='tanggal_lahir' class='text' required/><br />
Jenis Kelamin <br />
<select name ='jenkel'>
<option value=''>pilih jenis kelamin..</option>
<option value='Pria'>Pria</option>
<option value='Wanita'>Wanita</option>
</select>
<br>
Kelas<br>
<select name='kelas'>
<option value ='0'>pilih kelas..</option>";
$tbl='tbl_kelas';
$isi = $as->select($tbl,'*');
while($r=mysql_fetch_array($isi)){
echo"<option value=$r[id_kelas]>$r[kelas]</option>";
}
echo"</select><br />
Jurusan<br>
<select name='jurusan'>
<option value ='0'>pilih jurusan..</option>";
$tbl='tbl_jurusan';
$isi = $as->select($tbl,'*');
while($r=mysql_fetch_array($isi)){
echo"<option value=$r[id_jurusan]>$r[jurusan]</option>";
}
echo"</select><br />
Tipe Kelas<br>
<select name='tipekelas'>
<option value ='0'>pilih tipe kelas..</option>";
$tbl='tbl_tipe_kelas';
$isi = $as->select($tbl,'*');
while($r=mysql_fetch_array($isi)){
echo"<option value=$r[id_tipe_kelas]>$r[tipe_kelas]</option>";
}
echo"</select><br />
Golongan Darah<br>
<select name='goldar'>
<option value ='0'>pilih golongan darah..</option>";
$tbl='tbl_goldar';
$isi = $as->select($tbl,'*');
while($r=mysql_fetch_array($isi)){
echo"<option value=$r[id_goldar]>$r[nama_goldar]</option>";
}
echo"</select><br />
Alamat<br />
<textarea name='alamat'></textarea><br />
Kode Pos <br /><input type='text' name='kodepos' class='text' /><br />
Kontak <br /><input type='text' name='kontak' class='text' required/><br />
Email <br /><input type='text' name='email' class='text' /><br />
Foto <br /><input type='file' name='gambar' class='text'/><br /><br>
<div style='width:500px; margin-top:-10px;'><input class='graybutton' type='submit' value='Tambahkan'> <input class='graybutton' type='reset' value='Ulangi'></div>
</form>";
在HTML中,您有:
Foto <br /><input type='file' name='gambar' class='text'/><br /><br>
$file = $_POST['gambar'];
也许我错过了你正在做的事情,但肯定应该是:
$file = $_FILES['gambar'];
还是我遗漏了什么?加利,我们都是诺布。但是,请给我们更多的细节,你的问题,而不是它不工作,你卡住了 是的,从您的代码中,Ralfe的答案是一种可能性,Kemal Fadillah关于查询失败的评论是另一种可能性 在我看来,如果您正在向服务器上传图像,请确保服务器的目录可由应用程序(例如PHP)写入
请注意SQL注入,因为您将用户的输入插入MySQL服务器而不进行任何过滤。您想将图像存储在MySQL中吗?或者mysql中的图像路径,以及某个目录中的图像。我想在目录中存储图像,并在mysql中插入图像路径。到底是什么不起作用?查询失败了吗?或者图像没有移动到指定的上传目录?请提供更多详细信息,这与oop无关。@KemalFadillah没有图像的查询是有效的,但有图像的查询是无效的,我更新了一个问题。关于sql注入,如果我的所有代码都完成了,我想稍后再添加。谢谢上传图像是有效的,现在的问题是图像名称没有插入数据库:D
Foto <br /><input type='file' name='gambar' class='text'/><br /><br>
$file = $_POST['gambar'];
$file = $_FILES['gambar'];