PHP में user_name का उपयोग करके उपयोगकर्ता का प्रोफ़ाइल चित्र कैसे प्राप्त करें?

प्रोग्रामिंग


मैंने एक उपयोगकर्ता प्रोफ़ाइल विकसित की है जहां वह अपने पहले लॉगिन पर अपनी तस्वीर अपलोड कर सकता है। उसका प्रोफ़ाइल चित्र एक फ़ोल्डर में सहेजा जाता है और छवि पथ डेटाबेस में सहेजा जाता है। अब मैं उस छवि को उसके उपयोगकर्ता_नाम का उपयोग करके लाना चाहता हूं, जिसे मैंने अद्वितीय बना दिया है। जब उपयोगकर्ता अपना प्रोफ़ाइल चित्र सहेजता है, तो एक छिपे हुए सबमिट बटन के माध्यम से, मैं डेटाबेस में उसका उपयोगकर्ता नाम सहेजता हूं।
लेकिन यह छवि कोड लाने का काम नहीं करता

मैंने क्या प्रयास किया है:

यह मेरा पूर्ण स्वागत है. php फ़ाइल जहां उपयोगकर्ता लॉग अपना प्रोफ़ाइल चित्र बदलता है और उसका प्रोफ़ाइल विवरण देखता है।

<?php include('config.php');?>
<?php
    // index.php
    session_start();
    if(!isset($_SESSION['username']))

     {
        header("Location: login.php");
        exit();
    }
    $username = $_SESSION['username'];
    $sql = "SELECT *  FROM services WHERE user_name = '".$_SESSION['username']."'";
    $result = $con->query($sql);

    if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        ?>
 <!-- Save username and profile picture-->   

<link rel="stylesheet" type="text/css" href="css/welcome_php.css">
<?php include('header.php');?>

<div class="container">
    <div class="row">
        <div class="col-md-7 ">
            <div class="panel panel-default">
                <div class="panel-heading">
                  <a style="float: right" href="logout.php">class="fa fa-sign-out">  Logout</a>
                 <center> <h4 >User Profile</h4></center>

               </div>
                    <div class="panel-body">

                        <div class="box box-info">

                            <div class="box-body">
                                <div class="col-sm-6">
                                    
                                        <form method="post" action="ajaxupload.php" enctype="multipart/form-data">
                                          <h5 style="color:#a66a6a;">Set your profile picture</h5>
                                          <input type="file" name="Filename"> 
                                          <input type="hidden" name="Description"  value="<?php echo $row ['user_name']; ?>" />
                                          <br/>
                                          <input TYPE="submit" name="upload" value="Submit" class="btn1" />
                                        </form>

   
                                    

              
                                </div>
                                

            <div class="col-sm-6">
            <h4 style="color:#a66a6a;"><?php echo $row ['name']; ?></h4></span>
              <span><p><?php echo $row ['service']; ?></p></span>            
            </div>
            <div class="clearfix"></div>
            <hr style="margin:5px 0 5px 0;">
  
              
<div class="col-sm-5 col-xs-6 tital " >Name</div><div class="col-sm-7 col-xs-6 "><?php echo $row ['name']; ?></div>
     <div class="clearfix"></div>
<div class="bot-border"></div>

<div class="col-sm-5 col-xs-6 tital " >User Name</div><div class="col-sm-7"> <?php echo $row ['user_name']; ?></div>
  <div class="clearfix"></div>
<div class="bot-border"></div>

<div class="col-sm-5 col-xs-6 tital " >Password</div><div class="col-sm-7"> <?php echo $row ['password']; ?></div>
  <div class="clearfix"></div>
<div class="bot-border"></div>

<div class="col-sm-5 col-xs-6 tital " >email</div><div class="col-sm-7"><?php echo $row ['email']; ?></div>

  <div class="clearfix"></div>
<div class="bot-border"></div>

<div class="col-sm-5 col-xs-6 tital " >District</div><div class="col-sm-7"><?php echo $row ['district']; ?></div>

  <div class="clearfix"></div>
<div class="bot-border"></div>

<div class="col-sm-5 col-xs-6 tital " >City</div><div class="col-sm-7"><?php echo $row ['city']; ?></div>

 <div class="clearfix"></div>
<div class="bot-border"></div>

<div class="col-sm-5 col-xs-6 tital " >Address</div><div class="col-sm-7"><?php echo $row ['address']; ?></div>

<div class="clearfix"></div>
<div class="bot-border"></div>

<div class="col-sm-5 col-xs-6 tital " >Service</div><div class="col-sm-7"><?php echo $row ['service']; ?></div>
<div class="clearfix"></div>
<div class="bot-border"></div>

<div class="col-sm-5 col-xs-6 tital " >Years</div><div class="col-sm-7"><?php echo $row ['years']; ?></div>
<div class="clearfix"></div>
<div class="bot-border"></div>

<div class="col-sm-5 col-xs-6 tital " >Details</div><div class="col-sm-7"><?php echo $row ['details']; ?></div>

<center><a href="update_userinfo.php" class="btn" role="button">Update</a></center>


<?php
        }
        }
        ?>

<?php

 $sql="SELECT image_path FROM images where user_name = '".$_SESSION['username']."'";
 
      $result = $con->query($sql);

      $file_name=$row['file_name'];
      $image_path=$row['image_path'];//here you get path where you store image for user1

    ?>    
          
  <img src=<?php echo"$image_path";?> width=500 height=400> <br>      

यह AJAX अपलोड फ़ाइल है जो छवि को ddatabse में सहेजती है

<?php
	$fileExistsFlag = 0; 
	$fileName = $_FILES['Filename']['name'];
	$link = mysqli_connect("localhost","root","","construction") or die("Error ".mysqli_error($link));
	/* 
	*	Checking whether the file already exists in the destination folder 
	*/
	$query = "SELECT file_name FROM images WHERE file_name='$fileName'";	
	$result = $link->query($query) or die("Error : ".mysqli_error($link));
	while($row = mysqli_fetch_array($result)) {
		if($row['filename'] == $fileName) {
			$fileExistsFlag = 1;
		}		
	}
	/*
	* 	If file is not present in the destination folder
	*/
	if($fileExistsFlag == 0) { 
		$target = "uploads/";		
		$fileTarget = $target.$fileName;	
		$tempFileName = $_FILES["Filename"]["tmp_name"];
		$fileDescription = $_POST['Description'];	
		$result = move_uploaded_file($tempFileName,$fileTarget);
		/*
		*	If file was successfully uploaded in the destination folder
		*/
		if($result) { 
			echo "Your file <html>".$fileName."</html> has been successfully uploaded";		
			$query = "INSERT INTO images(image_path,file_name,user_name) VALUES ('$fileTarget','$fileName','$fileDescription')";
			$link->query($query) or die("Error : ".mysqli_error($link));			
		}
		else {			
			echo "Sorry !!! There was an error in uploading your file";			
		}
		mysqli_close($link);
	}
	/*
	* 	If file is already present in the destination folder
	*/
	else {
		echo "File <html>".$fileName."</html> already exists in your folder. Please rename the file and try again.";
		mysqli_close($link);
	}	
?>

समाधान 1

युक्त कोई भी कोड न दिखाने के बारे में मेरी टिप्पणी के अलावा img_src चर।

HTML विशेषता मानों को उद्धृत किया जाना चाहिए (ब्राउज़र उन्हें आमतौर पर बिना उद्धरण के भी स्वीकार करते हैं लेकिन यह मान्य HTML नहीं है) और यदि उनमें रिक्त स्थान या आरक्षित वर्ण हैं तो उन्हें उद्धृत किया जाना चाहिए:

पीएचपी
<?php echo '<img src="' . $image_path . '" width="500" height="400">'; ?>

[EDIT]

ऐसा लगता है कि यह कोड कॉपी करके एक साथ चिपकाया गया है और उम्मीद के मुताबिक काम नहीं करेगा:

पीएचपी
$sql="SELECT image_path FROM images where user_name = '".$_SESSION['username']."'";

// Executing the query and assigning to $result
// OK so far but it misses checking for errors
$result = $con->query($sql);

// What is $row?
// The query result has been stored in $result!
// There is probably something missing like
//$row = $result->fetch_row(); 
// Finally, the above SQL query returns only one field: image_path
// So 'file_name' will never be present
$file_name=$row['file_name'];
$image_path=$row['image_path'];//here you get path where you store image for user1

यदि उपरोक्त को डेटाबेस से पथ वापस करने के लिए तय किया गया है (या यदि नहीं तो कुछ फीडबैक प्रिंट करें), तो पथ का उपयोग किया जा सकता है img टैग प्रदान करता है कि फ़ाइलें मौजूद हैं और वेब सर्वर के दस्तावेज़ रूट (“https://www.codeproject.com/” से शुरू) या वर्तमान पृष्ठ के सापेक्ष एक पथ है।
[/EDIT]

समाधान 2

आपकी मदद के लिए बहुत बहुत धन्यवाद @जोचेन। आपकी टिप्पणियों पर विचार करने के बाद मैंने निम्नलिखित के रूप में कोड बनाया

मैं

<?php

 $sql="SELECT * FROM images where user_name = '".$_SESSION['username']."'";
 $result = $con->query($sql);

    if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        ?>
      
      <?php echo '<img src="' . $row['image_path']. '" width="500" height="400">'; ?>

    
   <?php
        }
        }
        ?> 

コメント

タイトルとURLをコピーしました