Как обновить изображение, когда пользователь пытается обновить? - PullRequest
0 голосов
/ 18 мая 2018

editform.php

   <?php
session_start();

if (!isset($_SESSION['id'])) {
    header('location:login.php');

}

?>

                        <?php
                        $nameErr = $emailErr = $usernameErr = $DateOfBirthErr = $departmentErr = $ageErr = $fileToUploadErr = $fileToUploadErrr = $fileToUploadErrrr = $fileToUploadErrrrr = $fileToUploadErrrrrr = "";
                        $name = $email = $username = $DateOfBirth = $department = $age  = $filename  = "";

                        include_once 'connect.php';
                        $id = $_GET['id'];
                        $query = mysqli_query($mysqli, "select * from `users` where userid ='$id'");
                        $row = mysqli_fetch_array($query);

                            //set a default variable to hold the original value if $_POST is not triggered
                        $name = $row['name'];
                        $username = $row['username'];
                        $email = $row['email'];
                        $DateOfBirth = $row['Date_of_birth'];
                        $department = $row['department'];
                        $age = $row['age'];
                       // $filename = $_FILES['filename']['name'];
                        echo "<img alt='image' style='width:180px;height:100px;' src='upload/" . $row['filename'] . "'>";


                            // checking weather the form has been submitted before performing the update query
                        if (isset($_POST['update'])) {

                            //Name Section    
                            if (empty($_POST["name"])) {
                                $nameErr = "Name is required";
                            } else {
                                $name = $_POST["name"];
                              // check if name only contains letters and whitespace
                                if (!preg_match("/^[a-zA-Z ]*$/", $name)) {
                                    $nameErr = "Only letters and white space allowed";
                                }
                            }

                            //E-mail Section
                            if (empty($_POST["email"])) {
                                $emailErr = "Email is required";
                            } else {
                                $email = $_POST["email"];
                            // check if e-mail address is well-formed
                                if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
                                    $emailErr = "Invalid email format";
                                }
                            }

                            //Username Section
                            if (empty($_POST["username"])) {
                                $usernameErr = "Username is required";
                            } else {
                                $username = $_POST["username"];
                             // check if name only contains letters and whitespace
                                if (!preg_match("/^[a-zA-Z ]*$/", $username)) {
                                    $usernameErr = "Only letters and white space allowed";
                                }
                            }

                            //D.O.B Section
                            if (empty($_POST["Date_of_birth"])) {
                                $DateOfBirthErr = "Date Of Birth is required";
                            } else {
                                $DateOfBirth = $_POST["Date_of_birth"];
                            }

                            //Department Section
                            if (empty($_POST["department"])) {
                                $departmentErr = "Department is required";
                            } else {
                                $department = $_POST["department"];
                            }

                            //Age Section
                            if (empty($_POST["age"])) {
                                $ageErr = "Age is required";
                            } else {
                                $age = $_POST["age"];
                            }


                            //UPLOAD FILE
                            $uploaddir = 'upload/';
                            $uploadfile = $uploaddir . basename($_FILES['filename']['name']);
                            $imageFileType = pathinfo($uploadfile, PATHINFO_EXTENSION);

                            if ($_FILES['filename']['name'] != '') {  
                                // Check the image is actaully image or not
                                $check = getimagesize($_FILES["filename"]["tmp_name"]);
                                if ($check == false) {
                                    $fileToUploadErrrrr = "File is not an image.";

                                } 

                                // Check if file already exists
                                if (file_exists($uploadfile)) {
                                    $fileToUploadErrrrrr = "Sorry, file already exists.";
                                }

                                if ($imageFileType != "jpg" && $imageFileType != "png") {
                                    $fileToUploadErr = "Sorry, only JPG,PNG files are allowed.";
                                } elseif ($_FILES['filename']['size'] > 500000) {

                                    $fileToUploadErrrr = "Sorry, your file is too large.";

                                } else {

                                  /*  if ($filename != '') {
                                        $target = "upload/" . $filename;
                                        unlink($target);
                                    }*/

                                    $uploaded = move_uploaded_file($_FILES['filename']['tmp_name'], $uploadfile);
                                    if ($uploaded) {
                                        $file = $_FILES['filename']['name'];
                                    } else {
                                        $file = $filename;
                                    }
                                }
                            }  else {
                                $file = $filename;
                            }


                            if ($nameErr == "" && $emailErr == "" && $usernameErr == "" && $DateOfBirthErr == "" && $departmentErr == "" && $ageErr == "" && $fileToUploadErr == "" && $fileToUploadErrr == "" && $fileToUploadErrrr == "" && $fileToUploadErrrrr == "" && $fileToUploadErrrrrr == "") {
                                $check = "SELECT * FROM users WHERE username = '$username' and userid !='$id'";
                                $rs = mysqli_query($mysqli, $check);
                                $da = mysqli_fetch_array($rs, MYSQLI_NUM);
                                if ($da > 0) {
                                    echo "Username Already in Exists";
                                } else {
                                    if($file=="")
                                    {
                                $sql = "update `users` set name='$name', username='$username', email='$email', Date_of_birth='$DateOfBirth', department='$department', age='$age' where userid ='$id'";
                                if (mysqli_query($mysqli, $sql)) {
                                        echo "Record updated successfully";
                                    } else {
                                        echo "Error updating record: " . mysqli_error(mysqli_query);
                                    }
                                    mysqli_close($mysqli);
                                    }
                                    else{

                                    $sql = "update `users` set name='$name', username='$username', email='$email', Date_of_birth='$DateOfBirth', department='$department', age='$age' , filename='$file' where userid ='$id'";

                                    if (mysqli_query($mysqli, $sql)) {
                                        echo "Record updated successfully";
                                    } else {
                                        echo "Error updating record: " . mysqli_error(mysqli_query);
                                    }
                                    mysqli_close($mysqli);
                                }
                                }
                            }
                        }

                        ?>


                        <!DOCTYPE html>
                        <html>
                        <head>
                            <style>
                                            .error {
                                                color:red;
                                            }

                                            .button {
                                                background-color: #4CAF50;
                                                border: none;
                                                color: white;
                                                padding: 10px 25px;
                                                text-align: center;
                                                text-decoration: none;
                                                display: inline-block;
                                                font-size: 16px;
                                                margin: 4px 2px;
                                                cursor: pointer;
                                            }
                                            .div1 {
                                                background-color: #f2f2f2;
                                                margin-top: -19px;
                                                margin-bottom: -25px;
                                                margin-left: -19px; 
                                            }

                                            .copy {
                                                border-radius: 4px;
                                                padding: 6px 20px;
                                               border-style: ridge;
                                            }

                                            .copy1{
                                                 border-radius: 4px;
                                                 padding: 6px 28px;
                                                 border-style: ridge;
                                            }

                                            .copy2{
                                                 border-radius: 4px;
                                                 padding: 4px 2px;

                                            }
                            </style>
                        </head>
            <body>

                    <div style="padding-left: 250px" class="div1">
                    <h2 style="color:#009999">EDIT :</h2>

                        <form method="POST" action="" enctype="multipart/form-data">
                            <input type="hidden" name="hidden_id" value="<?= $id ?>"/>
                            <label style="color:#0099ff">Name:</label><input class= "copy" style="margin-left: 52px" type="text" value="<?= $name ?>" name="name">
                            <span class="error"> <?php echo $nameErr; ?></span>
                            <br><br>

                            <label style="color:#0099ff">Username:</label><input type="text" class= "copy" style="margin-left:26px" value="<?= $username ?>" name="username">
                            <span class="error"><?php echo $usernameErr; ?></span>
                            <br><br>

                            <label style="color:#0099ff">E-mail:</label><input type="text" class= "copy" style="margin-left: 48px"  value="<?= $email ?>" name="email">
                            <span class="error"><?php echo $emailErr; ?></span>
                            <br><br>

                            <label style="color:#0099ff">Date_of_birth: </label><input type="date" class= "copy1" value="<?= $DateOfBirth ?>" name="Date_of_birth">
                            <span class="error"> <?php echo $DateOfBirthErr; ?></span>
                            <br><br>

                            <label style="color:#0099ff">Department:</label>
                                <select name="department"  class= "copy2" style="margin-left:14px" value="<?= $department ?>">
                                    <option value="EE">Electrical & Electronics</option>
                                    <option value="EC">Electronics & Communication</option>
                                    <option value="ME">Mechanical</option>
                                    <option value="CS">Computer Science</option>
                                    <option value="CV">Civil</option>
                                    <option value="IS">Information Science</option>
                                </select>
                            <span class="error"> <?php echo $departmentErr; ?></span>
                            <br><br>

                            <label style="color:#0099ff">Age:</label><input type="text" class= "copy" style="margin-left:62px" value="<?= $age ?>" name="age">
                            <span class="error"> <?php echo $ageErr; ?></span>
                            <br><br>

                            <label style="color:#0099ff">Select image : </label><input type="file" style="width:180px;height:100px;padding:10px;" name="filename" >

                            <span class="error"><br> <?php echo $fileToUploadErr; ?></span>
                            <span class="error"><br> <?php echo $fileToUploadErrrr; ?></span>
                            <span class="error"><br> <?php echo $fileToUploadErrrrr; ?></span>
                            <span class="error"><br> <?php echo $fileToUploadErrrrrr; ?></span>


                            <input type="submit" class="button" name="update" value="Update"> 
                            <a href="welcome.php">Back</a>
                        </form>

                    </div>

            </body>
            </html>

Привет всем, вы действительно нуждаетесь в помощи людей.На самом деле я создал регистрационную форму, где пользователи могут зарегистрировать свои данные.Форма регистрации абсолютно работает хорошо.и даже пользователи при входе в систему также работают хорошо, но теперь, когда пользователи пытаются обновить его данные, такие как имя, имя пользователя обновляется, но когда пользователь пытается обновить свое изображение, возникает проблема, за исключением изображения оставшейся частиОбновляется, когда дело доходит до изображения, изображение не обновляется, пожалуйста, ребята, это моя скромная просьба ко всем людям, которые просматривают мой вопрос. Пожалуйста, помогите мне решить эту проблему, я пытаюсь исправить это за четыре дняно я не могу этого сделать, пожалуйста, пожалуйста, пожалуйста, помогите мне, мне действительно нужна ваша помощь, пожалуйста

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

При редактировании операции редактирования изображения,

вы должны поместить свой SQL-запрос на обновление с условием if else.

Итак, в основном,

if(empty($image_file_name)){

//query without image column

$sql = "update `users` set name='$name',username='$username', 
email='$email', Date_of_birth='$DateOfBirth', department='$department',
age='$age' where userid ='$id'" ;

//do not forget to execute query here with mysqli_query 

}
if(!empty($image_file_name)){

//query with image column

$sql = "update `users` set name='$name',username='$username', 
email='$email', Date_of_birth='$DateOfBirth', department='$department',age='$age',
image_name='$image_file_name' where userid ='$id'" ;

//do not forget to execute query here with mysqli_query 

}

Также убедитесь, что мыне может предварительно выбрать значение, например текстовое поле, в поле ввода type = 'file', но да, вы можете предварительно просмотреть уже загруженное изображение с тегом img.

Таким образом, вместо

<input type='file' value='<?php echo $filename; ?>' <!--do not use this-->

Вы должны использовать,

<input type='file'> 
<img src='your_already_uploaded_file_path' height='50px' width='50px'> <!--change height width as you wish-->

Также убедитесь, что вам не хватает enctype = "multipart / form-data" , с вашим тегом формы.Итак, не забудьте добавить этот атрибут с тегом формы.Этот атрибут является обязательным при работе с загрузкой файлов.

0 голосов
/ 18 мая 2018

Вы должны добавить атрибут enctype="multipart/form-data" в элемент form:

<form method="POST" action="" enctype="multipart/form-data">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...