I have this php photo gallery, however my "mysqli_stmt_prepare" statement seems to be failing in someway. However, when I check my DB, the files that are in accordance to the upload rules, I created in my code, have been uploaded.
The message I get each time I upload a file to the DB is the one corresponding to a failed "mysqli_stmt_prepare", namely as in the code:
echo "SQL statement failed! 1"
<?php
if (isset($_POST['submit'])) {
$newFileName = $_POST['filename'];
//sets the file name to "gallery"
if (empty($_POST['filename'])) {
$newFileName = "gallery";
//adds hyphens to empty spaces
} else {
$newFileName = strtolower(str_replace(" ", "-", $newFileName));
}
$imageTitle = $_POST['filetitle'];
$imageDesc = $_POST['filedesc'];
$file = $_FILES['file'];
$fileName = $file['name'];
$fileType = $file['type'];
$fileTempName = $file['tmp_name'];
$fileError = $file['error'];
$fileSize = $file['size'];
$fileExt = explode(".", $fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array("jpg", "jpeg", "png", "pdf");
if (in_array($fileActualExt, $allowed)) {
if ($fileError === 0) {
if ($fileSize < 200000) {
$imageFullName = $newFileName . "." . uniqid("uniqID", false) . "." . $fileActualExt;
$fileDestination = "../gallery/" . $imageFullName;
include_once "dbh.inc.php";
if (empty($imageTitle || $imageDesc)) {
header("Location: ../gallery.php?upload=empty");
echo "You didn't include the Image Title and Image description!";
exit();
} else {
$sql = "SELECT * FROM gallerytrexatek";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
echo "SQL statement failed! 1";
} else {
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$rowCount = mysqli_num_rows($result);
$setImageOrder = $rowCount + 1;
$sql = "INSERT INTO gallery (titleGallery, descGallery, imgFullNameGallery, orderGallery) VALUES (?, ?, ?, ?);";
if (!mysqli_stmt_prepare($stmt, $sql)) {
echo "SQL statement failed! 2";
} else {
mysqli_stmt_bind_param($stmt, "ssss", $imageTitle, $imageDesc, $imageFullName, $setImageOrder);
mysqli_stmt_execute($stmt);
move_uploaded_file($fileTempName, $fileDestination);
header("Location: ../galleryInPHP.php?upload=success");
}
}
}
} else {
echo "File Size is way to big";
exit();
}
} else {
echo "You had an error with the file";
exit();
}
} else {
echo "The file type you tried to upload is not allowed!";
exit();
}
}
?>
I expect the file to upload without problems. It seems I am overlooking something rather simple.
Hint: There are 3 files connected to this one.
1. The gallery.php where the form exists for images to be uploaded
2. The one which is pasted here
3. the DB handler file
Do'h, there was a problem with one of the file handler files.
Related
I tried to upload video filenames and other variables to the database, but the insert statement won't work. Anyway the videofile-name and the thumbnail-filename are both uploaded to the right folders.
I've checked and there's nothing wrong with the sql statement. But why won't it work can anyone tell me?
PHP code
<?php
session_start();
if (isset($_POST['submit'])) {
$videoName = $_POST['videoName'];
$videoDesc = $_POST['description'];
$category = $_POST['category'];
$level = $_POST['level'];
$userId = $_SESSION['userId'];
$videoFile = $_FILES["videoFile"];
$videoFileName = $videoFile['name'];
$videoFileType = $videoFile['type'];
$videoFileTempName = $videoFile['tmp_name'];
$videoFileError = $videoFile['error'];
$videoFileExt = explode(".", $videoFileName);
$videoFileActualExt = strtolower(end($videoFileExt));
$videoAllowed = array("mp4", "mov", "avi");
$thumbFile = $_FILES["thumbnail"];
$thumbFileName = $thumbFile["name"];
$thumbFileType = $thumbFile["type"];
$thumbFileTempName = $thumbFile["tmp_name"];
$thumbFileError = $thumbFile["error"];
$thumbFileExt = explode(".", $thumbFileName);
$thumbFileActualExt = strtolower(end($thumbFileExt));
$thumbAllowed = array("jpg", "jpeg", "png");
if (in_array($videoFileActualExt, $videoAllowed)) {
if(in_array($thumbFileActualExt, $thumbAllowed)) {
if ($videoFileError === 0) {
if ($thumbFileError === 0) {
$videoFullName = $videoFile . "." . uniqid("", true) . "." . $videoFileActualExt;
$videoFileDestination = "../video/" . $videoFullName;
$thumbFullName = $thumbFile . "." . uniqid("", true) . "." . $thumbFileActualExt;
$thumbFileDestination = "../thumbnail/" . $thumbFullName;
include 'dbh.inc.php';
if(empty($videoName) or empty($videoDesc)) {
header("Location: ../uploadVideo.php?upload=empty");
exit();
} else {
move_uploaded_file($videoFileTempName, $videoFileDestination);
move_uploaded_file($thumbFileTempName, $thumbFileDestination);
$sql = "INSERT INTO video (filnavn, thumbnail, videoName, descript, idMusician, categoryName, idLevel) VALUES ('$videoFullName', '$thumbFullName', '$videoName', '$videoDesc', $userId, '$category', $level);";
mysqli_query($conn, $sql);
header("Location: ../uploadVideo.php?upload=success");
exit();
}
} else {
echo "You had a thumbnail error!";
exit();
}
} else {
echo "You had a video error!";
exit();
}
} else {
echo "You need to upload a proper thumbnail file type";
exit();
}
} else {
echo "You need to upload a proper video file type!";
exit();
}
} else {
}
You cannot insert or in this way in the if() condition, you must always use the logical operator as
if(empty($videoName) || empty($videoDesc))
Because of that your execution of code must have stopped at that point.
I'm having trouble with an image upload form, with most images it works just fine but with larger image files I get a Column 'userimage' cannot be null error.
I have changed the following values in my php.ini file;
post_max_size
upload_max_filesize
memory_limit
I'm using a prepared statement(I've just included a small section here);
$sql = "INSERT INTO gallery (user, area, userimage, socialurl) VALUES (?, ?, ?, ?)";
if($stmt = $conn->prepare($sql)){
$stmt->bind_param("ssss", $user, $area, $userimage, $socialurl);
I've tried searching but I can't find a similar problem.
My code, I've edited out some that isn't relevant to make the question shorter;
<?php
$error = "";
$dangererror = "";
$successmsg = "";
require("config/connect.php");
if (isset($_POST['submit'])){
if(empty($_POST['user'])) {
$error .= "User is required<br>";
}
if(empty($_POST['area'])) {
$error .= "Location is required<br>";
}
if(isset($_FILES["userimage"]) && $_FILES["userimage"]["error"] == 0){
$allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png");
echo $_FILES["userimage"]["name"];
$userimage = $_FILES["userimage"]["name"];
echo $userimage;
$filetype = $_FILES["userimage"]["type"];
$targetDir = "uploads/";
$targetFilePath = $targetDir . $userimage;
$targetThumbFilePath = "uploads/thumbs/";
if(!file_exists("uploads/" . $_FILES["userimage"]["name"])){
// Verify file extension
$ext = pathinfo(strtolower($userimage), PATHINFO_EXTENSION);
if(array_key_exists($ext, $allowed)) {
$maxsize = 5000000;
if($_FILES['userimage']['size'] < $maxsize) {
if (move_uploaded_file($_FILES["userimage"]["tmp_name"], $targetFilePath)){
$successmsg .= "<div class='alert alert-success'>Image - " . $userimage . " - Uploaded Successfully!</div>";
$upload = 'uploads/' . $_FILES["userimage"]["name"];
list ($width, $height, $type) = getimagesize ($upload);
//switches content-type and calls the imagecreatefrom... function
<!------------- cut ------->
//switches content-type and saves thumbnail
<!------------- cut ------->
}
} else {
echo "test";
$error .= "File Exceeds 5mb Limit<br>";
}
} else {
$error .= "Invalid File Format<br>";
}
} else {
$error .= "The Filename " . $_FILES["userimage"]["name"] . " already exists - please rename your picture before uploading<br>";
}
}
if($_POST['socialpage'] != ""){
//switches content-type and saves thumbnail
<!------------- cut ------->
}
if($error) {
$dangererror = "<div class='alert alert-danger'>";
$dangererror .= $error;
$dangererror .= "</div>";
}
else {
// Prepare an insert statement
$sql = "INSERT INTO gallery (user, area, userimage, socialurl) VALUES (?, ?, ?, ?)";
if($stmt = $conn->prepare($sql)){
// Set parameters
$user = $_REQUEST['user'];
$area = $_REQUEST['area'];
// Bind variables to the prepared statement as parameters
$stmt->bind_param("ssss", $user, $area, $userimage, $socialurl);
// Attempt to execute the prepared statement
if($stmt->execute()){
$successmsg .= "<div class='alert alert-success'>Image Added Successfully!</div>";
} else{
echo "ERROR: Could not execute query: $sql. " . $conn->error;
}
} else{
echo "ERROR: Could not prepare query: $sql. " . $conn->error;
}
// Close statement
$stmt->close();
// Close connection
$conn->close();
}
}
?>
Your problem is that you have no else clause on this if:
if(isset($_FILES["userimage"]) && $_FILES["userimage"]["error"] == 0){
As a result, if $_FILES['userimage'] is unset, or if there is an error (i.e. $_FILES["userimage"]["error"] != 0), your $error variable remains an empty string and so you attempt to make an INSERT even though you haven't set the value of $userimage. You need to add an else clause something like this:
elseif (isset($_FILES['userimage']) {
// must have been an error uploading i.e. $_FILES["userimage"]["error"] != 0
$error .= "Error uploading file, error code = " . $_FILES["userimage"]["error"];
}
else {
// no uploaded file!
$error .= "No file uploaded!";
}
The problem was that when I set the following options in the php.ini file;
post_max_size
upload_max_filesize
memory_limit
I set the values too high as;
If the upload_max_filesize is larger than post_max_size, you must increase post_max_size so that it is bigger than upload_max_size.
I am trying to set up a profile page where user can upload a profile picture. The problem I a having is that when the status is changed from 1 to 0 the image changes from a default profile image to a small black box with an "x" in it. Everything else works fine. I thought it might be the css but it is not. If anyone can assist, it would greatly appreciated. Thank you.
Profile.php:
<?php
$id= $_GET['id'];
$sql = "SELECT * FROM user WHERE id='$id'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$sqlImg = "SELECT * FROM profileImg WHERE id='$id'";
$resultImg = mysqli_query($conn, $sqlImg);
while ($rowImg = mysqli_fetch_assoc($resultImg)) {
echo "<div class='userProfileImage'>";
if ($rowImg['status'] == 0 ) {
echo "<img src='images/profile".$id.".jpg'>";
} else {
echo "<img src='images/profile_default.jpg'>";
}
echo "<p>".$row['first']."</p>";
echo "</div>";
}
}
} else {
echo "There are no users yet!";
}
uploadProfile.php:
<?php
session_start();
include '../dbh.php';
$id = $_SESSION['id'];
$userID = $id;
if (isset($_POST['submit'])) {
$file = $_FILES['file'];
$fileName = $_FILES['file']['name'];
$fileTmpName = $_FILES['file']['tmp_name'];
$fileSize = $_FILES['file']['size'];
$fileERROR = $_FILES['file']['error'];
$fileType = $_FILES['file']['type'];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'gif', 'png', 'mov', 'mpeg4', 'mp4', 'avi', 'wmv', 'mpegps', 'flv', '3gpp', 'webm');
if (in_array($fileActualExt, $allowed)) {
if ($fileERROR === 0) {
if ($fileSize < 500000) {
$fileNameNew = "profile".$id.".".$fileActualExt;
$fileDestination = '../uploads/'.$fileNameNew;
$sql = "UPDATE profileImg SET status=0 WHERE id='$id'";
$result = mysqli_query($conn, $sql);
move_uploaded_file($fileTmpName, $fileDestination);
header("Location: ../profile.php?id=$userID");
} else {
echo "Your file is too large";
}
} else {
echo "There was an error uploading your file";
}
} else {
echo "You cannot upload files of this type";
}
}
?>
Files are being uploaded to uploads as line below
$fileDestination = '../uploads/'.$fileNameNew;
and img src is
echo "<img src='images/profile".$id.".jpg'>";
Please update you code.
Edit: you are allowing multiple extensions to be uploaded and on profile.php single extension is used to load the picture.
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 6 years ago.
Improve this question
i am updating name , email in DB of registered user through php form. its working fine.
class.usr.php
public function update($uname,$email, $tax)
{
try {
$stmt = $this->conn->prepare('UPDATE tbl_users SET userName = ?, userEmail = ? , tax = ? WHERE userID = ? ');
$stmt->execute(array($uname,$email, $tax , $_SESSION['userSession']));
return $stmt->fetch();
} catch(PDOException $e) {
echo '<p class="bg-danger">'.$e->getMessage().'</p>';
}
form
<form action="profile.php" method="POST" enctype="multipart/form-data">
Name :
<input type="text" name="txtuname" value="<?php echo $row['userName'] ?>" /><br/>
Email :
<input type="text" name="txtemail" value="<?php echo $row['userEmail'] ?>" /><br>
Image
<input type="file" name="photo" id="fileSelect"><br>
<input type="submit" name="submit" value="Save" />
</form>
form related code to save in db
<?php
$user_home = new USER();
if(!$user_home->is_logged_in())
{
header("Location: index.php");
die();
}
if (isset($_POST['submit'])) {
// new data
$uname = $_POST['txtuname'];
$email = $_POST['txtemail'];
$tax = trim($_POST['tax']); // image url path
$uid = (isset($_SESSION['userSession']) ? intval($_SESSION['userSession']) : 0);
if ($uid > 0 && $user_home->update($uname,$email, $tax, $uid))
{
header("Location: profile1.php");
die();
}
}
$stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
?>
after this, now i am uploading an image to folder through same php form successfully with below code.
<?php
if(isset($_FILES["photo"]["error"])){
if($_FILES["photo"]["error"] > 0){
echo "Error: " . $_FILES["photo"]["error"] . "<br>";
} else{
$allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png");
$filename = $_FILES["photo"]["name"];
$filetype = $_FILES["photo"]["type"];
$filesize = $_FILES["photo"]["size"];
// Verify file extension
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!array_key_exists($ext, $allowed)) die("Error: Please select a valid file format.");
// Verify file size - 5MB maximum
$maxsize = 5 * 1024 * 1024;
if($filesize > $maxsize) die("Error: File size is larger than the allowed limit.");
// Verify MYME type of the file
if(in_array($filetype, $allowed)){
// Check whether file exists before uploading it
if(file_exists("upload/" . $_FILES["photo"]["name"])){
echo $_FILES["photo"]["name"] . " is already exists.";
} else{
move_uploaded_file($_FILES["photo"]["tmp_name"], "upload/" . $_FILES["photo"]["name"]);
echo "Your file was uploaded successfully.";
}
} else{
echo "Error: There was a problem uploading your file - please try again.";
}
}
} else{
echo "";
}
?>
now images are just saving in folders, what i need is i want that image path to save in database and assign that image path to uploaded user in database. so that one registered user can update the existing image, but not upload one more image.
i tried below code , but not working:
<?php
$folder = "upload/";
$file = basename( $_FILES['image']['name']);
$full_path = $folder.$file;
$tax= $full_path;
if(in_array($filetype, $allowed)){
// Check whether file exists before uploading it
if(file_exists("upload/" . $_FILES["photo"]["name"])){
echo $_FILES["photo"]["name"] . " is already exists.";
} else{
move_uploaded_file($_FILES["photo"]["tmp_name"], "upload/" . $_FILES["photo"]["name"]);
echo "Your file was uploaded successfully.";
}
} else{
echo "Error: There was a problem uploading your file - please try again.";
}
}
} else{
echo "";
}
?>
db columns : userName, userEmail, tax , photo
with help of google i done all above, i am new to php, so please kindly help me.
Here is another solution:
First of all execute this query manually to add the new column:
ALTER TABLE `tbl_users` ADD `photo` VARCHAR(255) NOT NULL ;
Then this is the php code:
<?php
$dbConn = new Database();
$dbConn->dbConnection();
$user_home = new USER();
function uploadUserPhoto($uid) {
global $dbConn;
if(isset($_FILES["photo"]["error"])) {
if($_FILES["photo"]["error"] > 0) {
echo "Error: " . $_FILES["photo"]["error"] . "<br>";
} else {
$allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png");
$filename = $_FILES["photo"]["name"];
$filetype = $_FILES["photo"]["type"];
$filesize = $_FILES["photo"]["size"];
$userDir = $uid;
// Verify file extension
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!array_key_exists($ext, $allowed)) die("Error: Please select a valid file format.");
// Verify file size - 5MB maximum
$maxsize = 5 * 1024 * 1024;
if($filesize > $maxsize) die("Error: File size is larger than the allowed limit.");
// Verify MYME type of the file
if(in_array($filetype, $allowed)) {
if(!is_dir('upload/'.$uid)) {
mkdir('upload/'.$uid);
}
$photoname = time().$uid.'_photo'.'.'.$ext;
// delete all the files in this directory
$files = glob('upload/'.$uid.'/*'); // get all file names
foreach($files as $file){ // iterate files
if(is_file($file))
unlink($file); // delete file
}
// Upload the photo
move_uploaded_file($_FILES["photo"]["tmp_name"], "upload/" . $uid . '/'. $photoname);
$updateData = array(':userID' => $uid, ':photo' => $photoname);
$stmt = $dbConn->conn->prepare("UPDATE tbl_users SET photo=:photo WHERE userID=:uid");
$stmt->execute($updateData);
echo "Your file was uploaded successfully.";
} else {
echo "Error: There was a problem uploading your file - please try again.";
}
}
} else {
echo "";
}
}
if(!$user_home->is_logged_in())
{
header("Location: index.php");
die();
}
if (isset($_POST['submit'])) {
// new data
$uname = $_POST['txtuname'];
$email = $_POST['txtemail'];
$tax = trim($_POST['tax']); // image url path
$uid = (isset($_SESSION['userSession']) ? intval($_SESSION['userSession']) : 0);
if ($uid > 0 && $user_home->update($uname,$email, $tax, $uid))
{
uploadUserPhoto($uid);
header("Location: profile1.php");
die();
}
}
$stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
?>
There is $dbConnection variable which is the connection to the DB but because I don't know the rest of your code you should replace it with your proper db connection variable.
The photo of the user is saved in photo column in tbl_users and for every user is created sub dir in uploads dir. The subdir is the userID. So for example for user with userID = 1 its upload path will be uploads/1/<filename>.
File name is generated dynamically - this avoids caching of uploaded photo with the same name for example ... and it is better approach.
You have to make a change in code for displaying the photo because now its filename is in the DB and there is subdir in uploads (which is the userID of the user)
Add new function for saving files and use global php var $_FILES
1
Add new column to your DB to store file path, let's name it photo
2
Add new functions for your user class:
<?php
class User {
...
const PATH_PHOTOS = '/path/to/photo/folder/';
const BASE_URL = 'http://YOUR_DOMAIN_NAME:YOUR_PORT/YOUR_PATH/';
public function add_photo($file)
{
$ext = pathinfo($file['name'], PATHINFO_EXTENSION);
$file['new_name'] = uniqid(rand(), true) . ".$ext";
if (!$this->_upload_file($file))
return false;
return $this->_remove_previous_photo()->_add_file_to_db(self::PATH_PHOTOS . basename($file['new_name']));
}
protected function _remove_previous_photo()
{
$photo = $this->get_photo();
if ($photo)
unlink($photo);
return $this;
}
public function get_photo()
{
global $_SESSION;
$stmt = $this->conn->prepare('SELECT photo FROM tbl_users WHERE userID = ? ');
$stmt->execute(array($_SESSION['userSession']));
$result = $stmt->fetch();
return reset($result);
}
public function get_photo_url()
{
$pathInfo = pathinfo($this->get_photo());
$last_dir = end(explode(DIRECTORY_SEPARATOR, $pathInfo['dirname']));
return self::BASE_URL . "$last_dir/" . basename($this->get_photo());
}
protected function _upload_file($file)
{
$uploadfile = self::PATH_PHOTOS . $file['new_name'];
return move_uploaded_file($file['tmp_name'], $uploadfile);
}
protected function _add_file_to_db($file_path)
{
try {
$stmt = $this->conn->prepare('UPDATE tbl_users SET photo = ? WHERE userID = ? ');
return $stmt->execute(array($file_path, $_SESSION['userSession']));
} catch (PDOException $e) {
echo '<p class="bg-danger">' . $e->getMessage() . '</p>';
}
}
...
}
?>
3
The main file should look like this:
<?php
$user_home = new USER();
if(!$user_home->is_logged_in())
{
header("Location: index.php");
die();
}
if (isset($_POST['submit'])) {
// new data
$uname = $_POST['txtuname'];
$email = $_POST['txtemail'];
$tax = trim($_POST['tax']); // image url path
$uid = (isset($_SESSION['userSession']) ? intval($_SESSION['userSession']) : 0);
if ($uid > 0 && $user_home->update($uname,$email, $tax, $uid) && $user_home->add_photo($_FILES['photo']))
{
header("Location: profile1.php");
die();
}
}
$stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
?>
Hope this helps
I have Data entry form where user insert there data along with upload three category image file .In present situation Data insert and image upload is working fine but works separately for example its appear echo"insert successfully" for both data & image insertion.I want it works together . Here i present my script :
enter code here
<?php
if (isset($_POST['submit'])) {
$date=$_POST["date"];
$agentid=$_POST["agentid"];
$formno=$_POST["formno"];
$bank=$_POST["bank"];
$ptype=$_POST["ptype"];
$cardno=$_POST["cardno"];
$cname=$_POST["cname"];
$fname=$_POST["fname"];
$mname=$_POST["mname"];
$dob=$_POST["dob"];
$phone=$_POST["phone"];
$votarid=$_POST["votarid"];
$sex=$_POST["sex"];
$email=$_POST["email"];
$district=$_POST["district"];
$thana=$_POST["thana"];
$con=mysqli_connect("localhost","root","admin","myapps");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql= "INSERT INTO `kyc`( `date`,`agentid`,`formno`, `bank`, `ptype`,
`cardno`,`cname`, `fname`, `mname`, `dob`, `phone`, `votarid`,`sex`,
`email`, `district`, `thana`)
VALUES('$date','$agentid',$formno,'$bank','$ptype','$cardno','$cname','$fname',
'$mname','$dob',$phone,$votarid,'$sex','$email','$district','$thana')";
$result = mysqli_query($con,$sql); //check for errors
$sql="UPDATE card SET status='1',agentid='$agentid',salesdate='$date' WHERE
$cardno=cardno";
$result = mysqli_query($con,$sql);
echo "One raw Successfully inserted";
mysqli_close($con);
}
?>
<?php
if(isset($_FILES['files'])){
$res = upload_multiple_file($_FILES['files'],"KYCFILE",$formno);
//echo $res;
}
function upload_multiple_file($file,$file_dir="KYCFILE",$formno=null) {
$overwrite=0;
$allowed_file_type= array("JPG","jpg", "jpeg", "png", "gif");
$max_file_size = 2097152;
$max_file_size_check=0;
foreach($_FILES['files']['name'] as $fkey=> $fname){
$ext = pathinfo($fname, PATHINFO_EXTENSION);
if (!in_array($ext, $allowed_file_type)) {
return "unsupported file format";
break;
}
}
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp_name =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
//if($max_file_size_check >0) {
if($file_size > $max_file_size){
$fsize=$max_file_size/1048576;
return 'File size must be less than '.$fsize.' MB';
break;
}
//}
if(is_dir($file_dir)==false){
$status = mkdir("$file_dir", 0700);
if($status < 1){
return "unable to create diractory $file_dir ";
}
}
$new_file_path=$file_dir."/".$formno;
if(is_dir($new_file_path)==false){
$status = mkdir("$new_file_path", 0700);
if($status < 1){
return "unable to create diractory $file_dir ";
}
}
if(is_dir($new_file_path)){
/*switch($key)
$file_name="photo".str_split(""
case:0*/
echo $file_name;
$splitted_filename=explode(".",$file_name);
$file_ext=$splitted_filename[1];
switch($key) {
case 0:
$file_name_new="photo.".$file_ext;
break;
case 1:
$file_name_new="voter_id.".$file_ext;
break;
case 2:
$file_name_new="KYC_form.".$file_ext;
break;
}
if($overwrite < 1){
move_uploaded_file($file_tmp_name,"$new_file_path/".$formno."_".$file_name_new);
}
}
// $file_upload_query="INSERT into user_uploads
(`u_id`,`file_name`,`file_type`)
VALUES('$user_id','$file_name','$file_size','$file_type'); ";
//mysql_query($file_upload_query);
}
return "One raw Successfully inserted";
header("refresh:2;url=kycapps.php" );
}
?>
Updated code
<?php
if (isset($_POST['submit'])) {
$date=$_POST["date"];
$agentid=$_POST["agentid"];
$formno=$_POST["formno"];
$bank=$_POST["bank"];
$ptype=$_POST["ptype"];
$cardno=$_POST["cardno"];
$cname=$_POST["cname"];
$fname=$_POST["fname"];
$mname=$_POST["mname"];
$dob=$_POST["dob"];
$phone=$_POST["phone"];
$votarid=$_POST["votarid"];
$sex=$_POST["sex"];
$email=$_POST["email"];
$district=$_POST["district"];
$thana=$_POST["thana"];
$con=mysqli_connect("localhost","root","admin","myapps");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql= "INSERT INTO `kyc`( `date`,`agentid`,`formno`, `bank`, `ptype`,
`cardno`,`cname`, `fname`, `mname`, `dob`, `phone`, `votarid`,`sex`,
`email`, `district`, `thana`)
VALUES('$date','$agentid',$formno,'$bank','$ptype','$cardno','$cname','$fname',
'$mname','$dob',$phone,$votarid,'$sex','$email','$district','$thana')";
$result = mysqli_query($con,$sql); //check for errors
$sql="UPDATE card SET status='1',agentid='$agentid',salesdate='$date' WHERE
$cardno=cardno";
$result = mysqli_query($con,$sql);
if(isset($_FILES['files'])){
$res = upload_multiple_file($_FILES['files'],"KYCFILE",$formno);
//echo $res;
}
echo "One raw Successfully inserted";
mysqli_close($con);
header("refresh:2;url=kycapps.php" );
}
function upload_multiple_file($file,$file_dir="KYCFILE",$formno=null) {
$overwrite=0;
$allowed_file_type= array("JPG","jpg", "jpeg", "png", "gif");
$max_file_size = 2097152;
$max_file_size_check=0;
foreach($_FILES['files']['name'] as $fkey=> $fname){
$ext = pathinfo($fname, PATHINFO_EXTENSION);
if (!in_array($ext, $allowed_file_type)) {
return "unsupported file format";
break;
}
}
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp_name =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
//if($max_file_size_check >0) {
if($file_size > $max_file_size){
$fsize=$max_file_size/1048576;
return 'File size must be less than '.$fsize.' MB';
break;
}
//}
if(is_dir($file_dir)==false){
$status = mkdir("$file_dir", 0700);
if($status < 1){
return "unable to create diractory $file_dir ";
}
}
$new_file_path=$file_dir."/".$formno;
if(is_dir($new_file_path)==false){
$status = mkdir("$new_file_path", 0700);
if($status < 1){
return "unable to create diractory $file_dir ";
}
}
if(is_dir($new_file_path)){
/*switch($key)
$file_name="photo".str_split(""
case:0*/
echo $file_name;
$splitted_filename=explode(".",$file_name);
$file_ext=$splitted_filename[1];
switch($key) {
case 0:
$file_name_new="photo.".$file_ext;
break;
case 1:
$file_name_new="voter_id.".$file_ext;
break;
case 2:
$file_name_new="KYC_form.".$file_ext;
break;
}
if($overwrite < 1){
move_uploaded_file($file_tmp_name,"$new_file_path/".$formno."_".$file_name_new);
}
}
// $file_upload_query="INSERT into user_uploads
(`u_id`,`file_name`,`file_type`)
VALUES('$user_id','$file_name','$file_size','$file_type'); ";
//mysql_query($file_upload_query);
}
}