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> Quote 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 Quote 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> Quote 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! Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.