sashi34u Posted March 6, 2009 Share Posted March 6, 2009 Dear all, I have been trying to retrieve the location of a image from database and display the image in the browser using PHP. I have written a sort of code for the purpose. All I am getting in my browser after using the code is a long set of ASCII characters with the following warning *Warning*: Cannot modify header information - headers already sent by (output started at C:\wamp\www\mysqli.php:65) in *C:\wamp\www\mysqli.php* on line *237 * I am herewith attaching my code. If anyone can point out the error or give some kind of advice that would be really great. The location of the image is stored in a table by the name IMAGE under the column name Location and here in the code, the location is retrieved under the varibale name $Location. thanks, Sashi <html> <body> <form action="mysqli.php" method="post"> <br> <div align="center"> Building Name:<select name="name"> <option value=""> Select a Building</option> <option value="Agnew Hall">Agnew Hall</option> <option value="Rector Field House">Rector Field House</option> <option value="Richard B. Talbot Educational Resources Center">Richard B. Talbot Educational Resources Center</option> <option value="Robeson Hall">Robeson Hall</option> <option value="Sandy Hall">Sandy Hall</option> <option value="Saunders hall">Saunders hall</option> <option value="Seitz Hall">Seitz Hall</option> <option value="Shanks Hall">Shanks Hall</option> <option value="Shultz Hall">Shultz Hall</option> <option value="Skelton Conference Center">Skelton Conference Center</option> <option value="Williams Hall">Williams Hall</option> <option value="Women's Softball Field">Women's Softball Field</option> <option value="Wright House">Wright House</option> </select> </div> <input type="submit" /> </form> <img src="mysqli.php?"> <?php // Connects to your Database $host="*******"; $user="*****"; $password="******"; $dbname="*******"; $cxn=mysqli_connect($host, $user, $password, $dbname) ; if (!$cxn=mysqli_connect($host, $user, $password, $dbname)) { $error=mysqli_error($cxn); echo "$error"; die(); } else { echo "Connection established successfully"; } //Define the variables for Day and Month $Today=date("l"); $Month=date("F"); $build=$_POST["name"]; $low_speed=2.5; $high_speed=4; $hour=date("G"); $minute=date("i"); if ($minute>=00 && $minute<=14) { $minute=00; } elseif ($minute>=15 && $minute<=29) { $minute=15; } elseif ($minute>=30 && $minute<=44) { $minute=30; } else { $minute=45; } $times="$hour:$minute"; $sql="SELECT buildingname, parking_lot_name, empty_spaces, distance, round(distance/($low_speed*60),1) AS low_time, round(distance/($high_speed*60),1) AS high_time, Location FROM buildings, buildings_lots, parkinglots, occupancy2, Image where (buildings.buildingcode=occupancy2.building AND buildings.buildingcode=buildings_lots.building_code AND parkinglots.parking_lot_code=buildings_lots.parking_lot_code AND parkinglots.parking_lot_code=occupancy2.parking_lot AND Buildings.BuildingCode=Image.BuildingCode) AND buildingname='$build' AND month='$Month' AND day='$Today' AND Time='$times'"; $data = mysqli_query($cxn,$sql); if (!$data=mysqli_query($cxn,$sql)) { $error=mysqli_error($cxn); echo "$error"; die(); } else { echo "<br>"; echo "Query sent successfully"; } echo "<br>"; echo "<h1> PARKING LOT INFORMATION <h1>"; echo "<table border='1' cellspacing='5' cellpadding='2'>"; echo "<tr>\n <th>Building</th>\n <th>Parking Lot</th>\n <th>Estimated Number of Empty Spaces</th>\n <th>Distance (Feet)</th>\n <th>Estimated walking time to the building</th>\n </tr>\n"; while ($row=mysqli_fetch_array($data)) { extract($row); $building = $row[0]; $parking_lot = $row[1]; $Number_of_Empty_Spaces = $row[2]; $Distance = $row[3]; $time_l = $row[4]; $time_h=$row[5]; $location=$row[6]; echo "<tr>\n <td>$building</td>\n <td>$parking_lot</td>\n <td>$Number_of_Empty_Spaces</td>\n <td>$Distance</td>\n <td>$time_h - $time_l mins</td>\n <td>$location</td>\n </tr>\n"; } echo "</table>\n"; $err=1; if ($img = file_get_contents($location, FILE_BINARY)) { if ($img = imagecreatefromstring($img)) $err = 0; } if ($err) { header('Content-Type: text/html'); echo '<html><body><p style="font-size:9px">Error getting image...</p></body></html>'; } else { header('Content-Type: image/jpeg'); imagejpeg($img); imagedestroy($img); } ?> </body> </html> Link to comment https://forums.phpfreaks.com/topic/148305-retrieving-image-location-in-mysql/ Share on other sites More sharing options...
Maq Posted March 7, 2009 Share Posted March 7, 2009 with the following warning *Warning*: Cannot modify header information - headers already sent by (output started at C:\wamp\www\mysqli.php:65) in *C:\wamp\www\mysqli.php* on line *237 You output to the browser before you call the header function. For more detail read here: http://www.phpfreaks.com/forums/index.php/topic,37442.0.html Link to comment https://forums.phpfreaks.com/topic/148305-retrieving-image-location-in-mysql/#findComment-778638 Share on other sites More sharing options...
sashi34u Posted March 7, 2009 Author Share Posted March 7, 2009 Hi, I have studied the pages you have suggested. As I understand from the pages, we should not output anything to the browser before the header using the echo function. Is that right? So when I have looked back in the code, I see that the image retrieved is not printed before the header function. So I did not quite understand where the problem is exactly. Also, I have moved the results table part below the image retrieval code(Just to make sure that I haven't output any stuff before the header) But I still get the same problem. I further deleted all the echo statements that are present before the header (like the connection established successfully and query sent successfully statements). I am just posting the new code below to just let you know what I did. What I did may be stupid but please let me know what I could have or should have done. thanks, Sashi <html> <body> <form action="image.php" method="post"> <br> <div align="center"> Building Name:<select name="name"> <option value=""> Select a Building</option> <option value="Agnew Hall">Agnew Hall</option> <option value="Air Conditioning Facility">Air Conditioning Facility</option> <option value="Ambler Johnston Hall">Ambler Johnston Hall</option> <option value="Architecture Annex">Architecture Annex</option> <option value="Armory">Armory</option> <option value="Art and Design Learning Center">Art and Design Learning Center</option> <option value="Barringer Hall">Barringer Hall</option> <option value="Bio informatics phase I">Bio informatics phase I</option> <option value="Bio informatics phase II">Bio informatics phase II</option> <option value="Bishop-Favrao Hall">Bishop-Favrao Hall</option> <option value="Brodie Hall">Brodie Hall</option> <option value="Building 270F">Building 270F</option> <option value="Burchard Hall">Burchard Hall</option> <option value="Burke Johnston Student Center">Burke Johnston Student Center</option> <option value="Burrows/Burleson Tennis Center">Burrows/Burleson Tennis Center</option> <option value="Burruss Hall">Burruss Hall</option> <option value="War Memorial Hall">War Memorial Hall</option> <option value="Whittemore Hall">Whittemore Hall</option> <option value="William E. Lavery Health Research Center">William E. Lavery Health Research Center</option> <option value="Williams Hall">Williams Hall</option> <option value="Women's Softball Field">Women's Softball Field</option> <option value="Wright House">Wright House</option> </select> </div> <input type="submit" /> </form> <img src="image.php?"> <?php // Connects to your Database $host="localhost"; $user="root"; $password="prreddy"; $dbname="VT_VPM"; $cxn=mysqli_connect($host, $user, $password, $dbname) ; if (!$cxn=mysqli_connect($host, $user, $password, $dbname)) { $error=mysqli_error($cxn); echo "$error"; die(); } //Define the variables for Day and Month $Today=date("l"); $Month=date("F"); $build=$_POST["name"]; $low_speed=2.5; $high_speed=4; $hour=date("G"); $minute=date("i"); if ($minute>=00 && $minute<=14) { $minute=00; } elseif ($minute>=15 && $minute<=29) { $minute=15; } elseif ($minute>=30 && $minute<=44) { $minute=30; } else { $minute=45; } $times="10:$minute"; $sql="SELECT buildingname, parking_lot_name, empty_spaces, distance, round(distance/($low_speed*60),1) AS low_time, round(distance/($high_speed*60),1) AS high_time, Location FROM buildings, buildings_lots, parkinglots, occupancy2, Image where (buildings.buildingcode=occupancy2.building AND buildings.buildingcode=buildings_lots.building_code AND parkinglots.parking_lot_code=buildings_lots.parking_lot_code AND parkinglots.parking_lot_code=occupancy2.parking_lot AND Buildings.BuildingCode=Image.BuildingCode) AND buildingname='$build' AND month='$Month' AND day='$Today' AND Time='$times'"; $data = mysqli_query($cxn,$sql); header('Content-Type: text/html'); $err=1; if ($img = file_get_contents($location, FILE_BINARY)) { if ($img = imagecreatefromstring($img)) $err = 0; } if ($err) { echo 'style="font-size:9px">Error getting image...'; } else { header('Content-Type: image/jpeg'); imagejpeg($img); imagedestroy($img); } echo "<br>"; echo "<h1> PARKING LOT INFORMATION <h1>"; echo "<table border='1' cellspacing='5' cellpadding='2'>"; echo "<tr>\n <th>Building</th>\n <th>Parking Lot</th>\n <th>Estimated Number of Empty Spaces</th>\n <th>Distance (Feet)</th>\n <th>Estimated walking time to the building</th>\n </tr>\n"; while ($row=mysqli_fetch_array($data)) { extract($row); $building = $row[0]; $parking_lot = $row[1]; $Number_of_Empty_Spaces = $row[2]; $Distance = $row[3]; $time_l = $row[4]; $time_h=$row[5]; $location=$row[6]; echo "<tr>\n <td>$building</td>\n <td>$parking_lot</td>\n <td>$Number_of_Empty_Spaces</td>\n <td>$Distance</td>\n <td>$time_h - $time_l mins</td>\n <td>$location</td>\n </tr>\n"; } echo "</table>\n"; ?> </body> </html> Link to comment https://forums.phpfreaks.com/topic/148305-retrieving-image-location-in-mysql/#findComment-778659 Share on other sites More sharing options...
fenway Posted March 9, 2009 Share Posted March 9, 2009 This is not a mysql problem... confirm and I'll move it. You're talking about printing headers! Link to comment https://forums.phpfreaks.com/topic/148305-retrieving-image-location-in-mysql/#findComment-780142 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.