Программа состоит из формы,ее валидатора и выхода.Пользователь выбирает изображение оно обрабатывается и должно появится на другой странице,но возникла проблема при получении изображения из БД.Браузер раньше выводил Cannot modify header information но после перемещения header("Content-type: image/*"); перед <!doctype html> он просто автоматически скачивает файл(во всех браузерах).Подскажите как решить эту проблему без метода GET.Идея в том чтобы использовать этот скрипт в расширении на wordpress где админ будет вводить информацию и выбирать картинку на своей странице в админ панели а пользователь будет видеть эту картинку и информацию в виджете на главной странице. Форма: Код (Text): <head> <meta charset="UTF-8"> <title>Form</title> <style> form { display:block; margin:0 auto; width:250px; } </style> </head> <body> <form enctype="multipart/form-data" method="post" action="image-validator.php"> Изображение: <input type="file" name="userfile[]" /> <input type="submit" value="Загрузить" /> </form> <form method="post" action="compete-validator.php" name="form" > <p>Описние:<input id="descr" name="descr" type="text" size="20" value="описание"></p> <p>Ссылка<input id="link" name="url" type="url" size="20" value="http://tan.lv"></p> <p><input id="save" type="submit" name="submit" value="Сохранить"><input type="button" id="clear" value="стереть"></p> </form> </body> </html> Валидатор: Код (Text): <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Test</title> </head> <body> <p>PHP test validator</p> <p><a href="form.php">Вернутся к форме</a></p> <p><a href="test.php">Перейти к тесту результата</a></p> <?php include 'img_func.php'; //... // Используя ранее определенную функцию get_image присваиваем // переменным содержимое файлов $image_loaded=get_image(0); if ($image_loaded == ''){ unset($image_loaded); } // Соединение с сервером БД $mysqli = new mysqli("localhost", "root", "", "test"); if ($mysqli->connect_errno) { echo "Не удалось подключиться к MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } echo 'Соединение установлено... ' .$mysqli->host_info . "\n</br>"; // Проверяем, установлены ли переменные if (isset($image_loaded)){ /* Здесь пишем что можно заносить информацию в базу. В нашем случае в базе существует два поля типа MEDIUMBLOB:img_before и img_after */ if(!$mysqli->query("UPDATE `imagees` SET `img_loaded`='$image_loaded'")) { echo "Не удалось создать таблицу: (" . $mysqli->errno . ") " . $mysqli->error; } } else{ if ($ErrorDescription == ''){ echo "Вы ввели не всю информацию, поэтому изображения в базу не могут быть добавлены."; }else{echo $ErrorDescription;} } mysqli_close($mysqli); ?> </body> </html> Выход: Код (Text): <? header("Content-type: image/*"); ?> <!doctype html> <html> <head> <link rel="stylesheet" type="text/css" href="res/style.css"> <script src="res/jquery-2.1.0.min.js"></script> <script src="res/widget_events.js"></script> <meta charset="utf-8"> <title>Test</title> </head> <body><? // Соединение с сервером БД $con = new mysqli("localhost", "root", "", "test"); if ($con->connect_errno) { echo "Не удалось подключиться к MySQL: (" . $con->connect_errno . ") " . $con->connect_error; } $mysqli = "SELECT `img_loaded` FROM `imagees` WHERE `id`='1'"; $result=mysqli_query($con,$mysqli); if ( mysqli_num_rows( $result ) == 1 ) { $image = mysqli_fetch_array($result); // Отсылаем браузеру заголовок, сообщающий о том, что сейчас будет передаваться файл изображения // И передаем сам файл echo $image['img_loaded']; } mysqli_close($con); ?><ul id="widget_2"> <li><span id="events_toggle">Ближайшие мероприятия</span> <div id="closest_events"> <div id="events_bg"> <img src="wp-content/themes/Project_TAN/images/news_line/image_12.jpg" width="150" height="100" alt="event_img"> <p>24 ноября 2013г. состоится международный турнир для мол...</p> <a href="#">Подробнее</a> </div> </div> <span id="fr_events_toggle">Следующие мероприятия</span> <div class="further_events"> <img src="wp-content/themes/Project_TAN/images/news_line/image_12.jpg" width="100" height="100" alt="event_img"> <p>Fudzi cup</p> <p>25.03.2014</p> <a href="#">Подробнее</a> <div class="clear"></div> </div> <div class="further_events"> <img src="wp-content/themes/Project_TAN/images/news_line/image_12.jpg" width="100" height="100" alt="event_img"> <p>Fudzi cup</p> <p>25.03.2014</p> <a href="#">Подробнее</a> <div class="clear"></div> </div> <span id="adults">Для взрослых</span> <div class="adults"> <img src="wp-content/themes/Project_TAN/images/news_line/1269878970_zen.jpg" width="100" height="100" alt="event_img"> <a href="#">Тренировки для взрослых</a> <div class="clear"></div> </div></li> </ul> </body> </html> Заранее спасибо за ответы!И не судите строго,я новичек в php! P.S. Сервер работает на локалке denwer, а не на хостинге,если это как-то сильно влияет,пожалуйста отпишитесь.
Хранить непосредственно изображение в базе - довольно тухлая идея. Сохраняйте файл где-нибудь на сервере, давайте ему случайное имя (хотя бы хеш от его имени, времени загрузки и случайной строки), и этот хеш записывайте в БД, потом по нему обращайтесь.