1

I'm creating a customer management system, I have already added an image into my database, but now what i want is to retrieve those image on my edit page, but my code not working may be I'm making mistakes as I'm in new in this field. Kindly help me in this case.

No error displaying, but image not appearing.

Thanks!

<?php
require_once('includes\database.php');
?>

<?php
$id = $_GET['id'];

$query = "SELECT * FROM customer
                INNER JOIN customer_address
                ON customer.id=customer_address.customer
                WHERE customer.id=$id";
$mysqli->query($query);

if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
        $name = $row['name'];
        $email = $row['email'];
        $phone = $row['phone'];
        $password = $row['password'];
        $image = $row['image'];
        $address = $row['address'];
        $Country = $row['Country'];
        $City = $row['City'];
        $Zip_code = $row['Zip_code'];
    }

    $result->close();
} else {

    echo "error";
}
?>

<?php
if ($_POST) {

    $id = $_GET['id'];

    $name = mysqli_real_escape_string($mysqli, $_POST['name']);
    $email = mysqli_real_escape_string($mysqli, $_POST['email']);
    $phone = mysqli_real_escape_string($mysqli, $_POST['phone']);
    $password = md5(mysqli_real_escape_string($mysqli, $_POST['password']));
    $image = $_FILES['image']['name'];
    $tmp_image = $_FILES['image']['tmp_name'];
    $address = mysqli_real_escape_string($mysqli, $_POST['address']);
    $Country = mysqli_real_escape_string($mysqli, $_POST['Country']);
    $City = mysqli_real_escape_string($mysqli, $_POST['City']);
    $Zip_code = mysqli_real_escape_string($mysqli, $_POST['Zip_code']);

    $sql = "UPDATE customer SET 
        name='$name',
        email='$email',
        phone='$phone',
        password='$password',
        image='$image'
        WHERE id=$id";

    $mysqli->query($sql);

    $sql = "UPDATE customer_address SET 
        address='$address',
        Country='$Country',
        City='$City',
        Zip_code='$Zip_code'
        WHERE customer=$id";

    $mysqli->query($sql) or die();
    $msg = "Record updated";
    header('url: index.php');

    exit;
}
?>

<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>CManager | Edit Customer</title>
        <!-- Bootstrap core CSS -->
        <link href="css/bootstrap.min.css" rel="stylesheet">
        <!-- Custom styles for this template -->
        <link href="css/jumbotron-narrow.css" rel="stylesheet">
    </head>
    <body>
        <div class="container">
            <div class="header">
                <ul class="nav nav-pills pull-right">
                    <li class="active"><a href="index.php">Home</a></li>
                    <li><a href="add_customer.php">Add Customer</a></li>
                </ul>
                <h3 class="text-muted">Store CManager</h3>
            </div>

            <div class="row marketing">
                <div class="col-lg-12">
                    <h2>Edit Info</h2>
                    <table class="table table-striped">

                        <form method="POST">
                            <table>
                                <tr>
                                    <td>Name:</td>
                                    <td><input type="text" name="name" required="true" value="<?php echo $name; ?>"></td>
                                </tr>

                                <tr>
                                    <td>Email:</td>
                                    <td><input type="email" name="email" required="true" value="<?php echo $email; ?>"></td>
                                </tr>

                                <tr>
                                    <td>Phone:</td>
                                    <td><input type="phone" name="phone" required="true" value="<?php echo $phone; ?>"></td>
                                </tr>

                                <tr>
                                    <td>Password:</td>
                                    <td><input type="password" name="password" required="true" value="<?php echo $password; ?>"></td>
                                </tr>

                                <tr>
                                    <td>Image:</td>
                                    <td><img src="<?php echo $row->image; ?>" height="100px" height="100px"></td>
                                </tr>

                                <tr><td><h2>Other Details:</h2><td></tr>
                                <tr>
                                    <td>Address:</td>
                                    <td><input type="text" name="address" value="<?php echo $address; ?>"></td>
                                </tr>
                                <tr>
                                    <td>Country:</td>
                                    <td><input type="text" name="Country" value="<?php echo $Country; ?>"></td>
                                    </select> 
                                </tr>
                                <tr>
                                    <td>City:</td>
                                    <td><input type="text" name="City" value="<?php echo $City; ?>"></td>
                                    </select>
                                </tr>
                                <tr>
                                    <td>Zip Code:</td>
                                    <td><input type="text" name="Zip_code" value="<?php echo $Zip_code; ?>"></td>
                                </tr>

                                <tr><td><input type="submit" value="update" name="submit"></td></tr>

                            </table>
                        </form>
                    </table>
                </div>
            </div>
            <div class="footer">
                <p>&copy; Company 2014</p>
            </div>
        </div> 
    </body>
</html> 
2
  • 2
    Instead of storing the image into the database, just store the image name and upload the same in your project directory...... Commented Sep 21, 2017 at 6:56
  • And please visit bobby-tables.com and learn about SQL injectio. escaping isn't enough. Commented Sep 21, 2017 at 7:03

3 Answers 3

1

As you are getting value of image from the query $image = $row['image']; so you should use $image instead of $row['image'] or $row->image.

Try below line of code, this may help you.

<td><img src="path/to/image/<?php echo $image; ?>" height="100px" height="100px"></td>
Sign up to request clarification or add additional context in comments.

Comments

1

Try this

<tr><td>Image:</td><td><img src="<?php echo $image; ?>" height="100px" height="100px"></td>

Hope this will work for you

Comments

0

It will be better if you save image name in database table and image upload in directory folder then you can do it easily . but in your problem first define $image

<?php
require_once('includes\database.php');

$image = '';
$id= $_GET['id'];

/* your code */

then update

<td><img src="<?php echo $row->image; ?>" height="100px" height="100px"></td>

to

<td><img src="<?php echo $image; ?>" height="100px" height="100px"></td>

if your $image variable contain full image path and image upload in folder then it will work, or use youruploadfolder/<?php echo $image; ?>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.