/
/
home
/
u523034047
/
domains
/
gmcrudrapur.com
/
public_html
/
admin
Server: in-mum-web1112.main-hosting.eu (62.72.28.111)
You: 216.73.216.4
PHP 8.3.16
Dir:
/home/u523034047/domains/gmcrudrapur.com/public_html/admin
Edit:
/home/u523034047/domains/gmcrudrapur.com/public_html/admin/visaapproval.php
<?php include('conn.php'); session_start(); if (!isset($_SESSION['username'])) { header('Location: index.php'); exit; } $msg = ''; if (isset($_POST['sub'])) { // ✅ Secure input $name = trim($_POST['t1']); $name = mysqli_real_escape_string($connection, $name); // ✅ File info $file = $_FILES['file']; $allowedExt = ['jpg', 'jpeg', 'png']; $maxSize = 500 * 1024; // 500KB // ❌ No file selected if (empty($file['name'])) { $msg = "Please select an image file."; } else { // ✅ Extension check $ext = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)); // ✅ MIME type check $allowedMime = ['image/jpeg', 'image/png']; $mime = mime_content_type($file['tmp_name']); // ✅ Validate image if (!in_array($ext, $allowedExt)) { $msg = "Only JPG, JPEG, PNG files allowed."; } elseif (!in_array($mime, $allowedMime)) { $msg = "Invalid image file."; } elseif ($file['size'] > $maxSize) { $msg = "Image size must be less than 500KB."; } elseif ($file['error'] !== 0) { $msg = "File upload error."; } else { // ✅ Check real image if (!getimagesize($file['tmp_name'])) { $msg = "File is not a valid image."; } else { // ✅ Unique file name $newFileName = 'visa_' . time() . '_' . rand(1000,9999) . '.' . $ext; $uploadPath = 'visastudent/' . $newFileName; // ✅ Upload file if (move_uploaded_file($file['tmp_name'], $uploadPath)) { // ✅ Prepared Statement (SQL Injection Safe) $stmt = $connection->prepare( "INSERT INTO visaapproval (name, image) VALUES (?, ?)" ); $stmt->bind_param("ss", $name, $newFileName); if ($stmt->execute()) { $msg = "Image uploaded successfully."; } else { $msg = "Database error."; unlink($uploadPath); // rollback } $stmt->close(); } else { $msg = "Failed to upload image."; } } } } } ?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Admin</title> <!-- BOOTSTRAP STYLES--> <link href="assets/css/bootstrap.css" rel="stylesheet" /> <!-- FONTAWESOME STYLES--> <link href="assets/css/font-awesome.css" rel="stylesheet" /> <!-- CUSTOM STYLES--> <link href="assets/css/custom.css" rel="stylesheet" /> <!-- GOOGLE FONTS--> <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css' /> </head> <body> <div id="wrapper"> <div class="navbar navbar-inverse navbar-fixed-top"> <?php include ('header.php');?> </div> <!-- /. NAV TOP --> <nav class="navbar-default navbar-side" role="navigation"> <?php include ('menu.php');?> </nav> <!-- /. NAV SIDE --> <div id="page-wrapper" > <div id="page-inner"> <div class="row"> <div class="col-md-12"> <h2>Upload Images </h2> </div> </div> <!-- /. ROW --> <hr /> <!-- /. ROW --> <div class="panel panel-primary" data-collapsed="0"> <div class="panel-heading"> <div class="panel-title" > <i class="entypo-plus-circled"></i> Gallery Entry </div> </div> <form method="post" action="" enctype="multipart/form-data"> <div class="panel-body"> <div class="form-group"> <label for="field-1" class="col-sm-3 control-label"> Name</label> <div class="col-sm-5"> <input type="text" class="form-control" name="t1" data-validate="required" data-message-required="Value Required" value="" autofocus> </div> </div></br> <div class="form-group"> <label for="field-1" class="col-sm-3 control-label">Image</label> <div class="col-sm-5"> <input type="file" name="file" id="file"> </div> </div></br> <?php if($msg !='') { ?> <div style="width=100%" class="row cvmsgok"><?php echo $msg; ?></div> <?php } elseif($msgno !='') { ?> <div style="width=100%" class="row cvmsgno"><?php echo $msgno; ?></div> <?php } ?> </br></br> </br> <div class="form-group" align="center"> <div class="col-sm-8"> <input type="submit" class="btn btn-info" name="sub" value="Save"> <input type="Reset" class="btn btn-danger" name="sub1" value="Reset"> </div> </div></br> </form> </div> </div> <div class="panel panel-primary" data-collapsed="0"> <div class="panel-heading"> <div class="panel-title" > <i class="entypo-plus-circled"></i> Status </div> </div> <div class="panel-body"> <div style="overflow-x:auto;"> <div class="col-lg-12 col-md-12"> <div class="table-responsive"> <table class="table"> <thead> <tr> <th>#</th> <th> Image</th> <th>Name</th> <th>Action</th> </tr> </thead> <?php $sql="select * from visaapproval order by id desc"; $query=mysqli_query($connection,$sql); $count=1; while($fetch = mysqli_fetch_array($query)){ ?> <tbody> <tr class="info"> <td><?php echo $count++;?></td> <td><img src="visastudent/<?php echo $fetch[2]?>"height="50px" width="50px"; ></td> <td><?php echo $fetch[1];?></td> <td><a href="update1.php?id=<?php echo $fetch[0];?>"><p align="center">Edit</p> </tr> </tbody> <?php } ?> </table> </div> </div> </div> </div> </div> </div> </div> <!-- /. PAGE INNER --> </div> <!-- /. PAGE WRAPPER --> </div> <div class="footer"> <?php include ('footer.php');?> </div> <!-- /. WRAPPER --> <!-- SCRIPTS -AT THE BOTOM TO REDUCE THE LOAD TIME--> <!-- JQUERY SCRIPTS --> <script src="assets/js/jquery-1.10.2.js"></script> <!-- BOOTSTRAP SCRIPTS --> <script src="assets/js/bootstrap.min.js"></script> <!-- CUSTOM SCRIPTS --> <script src="assets/js/custom.js"></script> </body> </html>
Ukuran: 8.7 KB