Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Ошибка при занесении картинки в базу

Сообщения:  [1-10]    [11-20]  [21-27] 

 
 автор: juliya   (22.03.2006 в 10:26)   письмо автору
 
   для: Trianon   (21.03.2006 в 15:43)
 

Спасибо большое Trianon и Loki!!!!!! У меня все выводится! Все поняла. Сделала вывод в отдельном файле. Еще раз спасибо!

   
 
 автор: Trianon   (21.03.2006 в 15:43)   письмо автору
 
   для: juliya   (21.03.2006 в 15:25)
 

А как Вы его вызываете?
Крайне странно, потому что у меня этот код всё замечательно рисует.

А что написано в
output started at ...) in ... 
на месте многоточий? И зачем Вы их многоточиями заменили?

Причин может быть две. Либо в файле перед <? находятся пробельные символы, либо какой-то вывод происходит во включаемом файле connect_db.php И то и другое - недопустимо.

   
 
 автор: juliya   (21.03.2006 в 15:25)   письмо автору
 
   для: Trianon   (21.03.2006 в 14:58)
 

Опять ругается на заголовок header("Content-Type: image/jpeg");
и выдает ту же гадость

   
 
 автор: Trianon   (21.03.2006 в 15:05)   письмо автору
 
   для: juliya   (21.03.2006 в 14:55)
 

Потому что нельзя мешать в один вывод и текстовые данные html-кода с таблицей и двоичные данные конкретной картинки. Либо вызов скрипта формирует text/html и разрисовывает таблицу, или даже просто строку <img src=?id=1> , либо вызов скрипта формирует код image/jpeg и тогда на выходе будет тело одной картинки. Конкретной.

   
 
 автор: Trianon   (21.03.2006 в 14:58)   письмо автору
 
   для: juliya   (21.03.2006 в 14:00)
 

<? include "connect_db.php";
  
$id intval($_GET["id"]);

  
$query "SELECT * FROM vsm_notebook where f_id =" .$id;
  
$result mysql_query($query);
  if((
$row mysql_fetch_array($result)) != 0)
  {  
header("Content-Type: image/jpeg");
     echo 
$row["f_photo"];
  }else echo 
'No photo for id = '.$id;
?>

   
 
 автор: juliya   (21.03.2006 в 14:55)   письмо автору
 
   для: Loki   (21.03.2006 в 14:11)
 

Я не очень понимаю, почему не получится? Ведь другие данные выводятся из базы также.
У меня сделано так: выводятся частичные данные записей из базы. Рядом ссылка подробнее. Сюда передается id и в новом окне выводятся уже все данные по этой записи. И тут выводится фото (у меня пока нет).

   
 
 автор: Loki   (21.03.2006 в 14:11)   письмо автору
 
   для: juliya   (21.03.2006 в 14:00)
 

Так не получится: 1 скрипт = 1 картинка (почти как на выборах:)
то есть
<?
<img src=image.php?id=1>

а вот image.php и должен отвечать за показ картинки
<?
include "connect_db.php"
  
$id $_GET["id"]; 
$query "SELECT * FROM vsm_notebook where f_id =" .$id
  
$result mysql_query($query); 
 
$row mysql_fetch_array($result);
 
header("Content-Type: image/jpeg"); 
 print 
$row["f_photo"]; 

вот... кажется ничего не напутал.

   
 
 автор: Trianon   (21.03.2006 в 14:08)   письмо автору
 
   для: juliya   (21.03.2006 в 14:00)
 

сейчас попробую исправить. А Вы поглядите пока этот. У меня с прошлого Вашего появления (2 марта) осталось :)

<?php
include "connect_db.php"
  


  
$f_id 0;
  if(isset(
$_GET['f_id']))
     
$f_id += $_GET['f_id'];
  if(
$f_id != 0)
  {
    
header ("Content-type: image/jpeg");
    
$res=mysql_query(" SELECT  f_photo  FROM  vsm_notebook WHERE f_id = $f_id "$dbcnx);
    if((
$row=@mysql_fetch_array($res)) != 0)
       echo 
$row['f_photo'];
    exit;
  }
  
?>
  <html><body>
  <?php
  
{
     if(isset(
$_REQUEST['del'])&&count($_REQUEST['del']))
     {
         
$selected implode(',',$_REQUEST['del']);
         
$query "DELETE from vsm_notebook WHERE f_id IN ($selected)";
         
$result mysql_query($query);
        if (!
$result)
           echo 
"Error on delete: " .mysql_error();
     }
     if(isset(
$_FILES['photo']['tmp_name']))
     {
        
$photo $_FILES['photo']['tmp_name'];
        
$file fopen($photo"r");
        
$buffer fread($filefilesize($photo));
        
fclose($file);
        if (empty(
$error))
        {
  
$query "INSERT INTO vsm_notebook (f_surname, f_date_time, f_photo)VALUES('"
                
.mysql_escape_string($_POST['surname'])."', NOW(),'"
                
.mysql_escape_string($buffer)."')";
        
$result mysql_query($query);
        if (!
$result)
           echo 
"Error on insert: " .mysql_error();
     }
   }

   
$result=mysql_query(" SELECT  f_id,f_surname, f_date_time  FROM  vsm_notebook"$dbcnx);
   if(
$result == 0)
       echo 
"error in select:"mysql_error();
    
$total 0;
    while((
$row=mysql_fetch_array($result)) != 0)
    {
       if(!
$total++)
           echo 
"<form method=post>";
       
$f_id $row['f_id'];
       
$f_surname $row['f_surname'];
       
$f_date_time $row['f_date_time'];
       echo 
""
       
"<input type=checkbox name=del[] value=$f_id />"
       
"<a target=_blank href='?f_id=$f_id'>$f_date_time</a> "
       
"<img src='?f_id=$f_id' />"
       
htmlspecialchars($f_surname)
       . 
"<br/>\r\n";
    }
    if(
$total)
        echo 
"<input type=submit value='Delete selected rows'></form>\r\n";
    echo 
"Total: $total rows";
  }
  
?>

  <form method=post enctype=multipart/form-data >
  Photo:  <input type=file name=photo  />
  Surname: <input name=surname>
   <input type=submit value="Add to gallery" /></form>
</body></html>

   
 
 автор: juliya   (21.03.2006 в 14:00)   письмо автору
 
   для: Trianon   (21.03.2006 в 13:52)
 


<? include "connect_db.php";
  
$id $_GET["id"];
  
$query "SELECT * FROM vsm_notebook where f_id =" .$id;
  
$result mysql_query($query);
 while (
$row mysql_fetch_array($result))
 {
    
$id $row["f_id"];
    
$surname $row["f_surname"];
    
$photo$row["f_photo"];
    
$date_time=$row["f_date_time"];
?>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
    <tr bgcolor="#F8F8F8">
        <td width="70%" height="20"><b><? print $surname;?></b></td>
        <td width="30%" valign="bottom" align="right" ><nobr><p class="date">&#238;&#242;: <b>
        <? print $row["f_date_time"]; ?></b></nobr></td>
    </tr>
    <?if (!empty($photo))
        {print 
"<tr><td valign=top><nobr><p class=print>";
                
//header("Content-Type: image/jpeg"); 
                
print "&#212;&#238;&#242;&#238;:".$photo."</td>";
                print 
"<td>&nbsp;</td>
    </tr>"
;}?>    
</table><br>

Может ошибка в этой строчке $photo= $row["f_photo"]; ?

   
 
 автор: Trianon   (21.03.2006 в 13:52)   письмо автору
 
   для: juliya   (21.03.2006 в 13:42)
 


print "Foto:".$photo."</td>"; 


это не код. это маленькая его строчка, вокруг которой имеются ошибки.

   

Сообщения:  [1-10]    [11-20]  [21-27] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования