В ней поля id, title, text, img.
Есть форма
<form name="form1" method="post" action="add_lesson.php">
<p>
<label>Введите слово<br>
<input type="text" name="title" id="title">
</label>
</p>
<p>
<label>Расшифровка<br>
<input type="text" name="text" id="text">
</label>
</p>
<p>
<label>Картинка<br>
<input type="file" name="img" id="img">
</label>
</p>
<p>
<label>
<input type="submit" name="submit" id="submit" value="Занести данные в базу">
</label>
</p>
</form>
Файл add_lesson.php
if (isset($title) && isset($text) && isset($img))
{
$result = mysql_query ("INSERT INTO post (title,text,img) VALUES ('$title','$text','$img')");
if ($result == 'true') {echo "<p>Данные занесены в базу</p>";}
else {echo "<p>Данные НЕ занесены в базу</p>";}
}
else
{
echo "<p>Вы ввели не всю информацию. Вернитесь и заполните все поля</p>";
}
Выводим данные.
<form name="form1" method="post" action="index.php">
<p>
<label>Введите слово<br>
<input type="text" name="title" id="title">
</label>
</p>
<p>
<label>
<input type="submit" name="submit" id="submit" value="Проверить">
</label>
</p>
</form>
<?
$search=$_POST['title'];
$sql=mysql_Query("select title, text, img from post WHERE title LIKE '".$search."' limit 1");
$row=mysql_fetch_array($sql);
if ($row)
{
echo $row['title']." - ".$row['text']. " - " .$row['img'];
}else
{
echo "Такого слова нет в этом словаре!";
}
?>
Вместо картинки выводится ее название. В чем моя ошибка? Спасибо.
Спустя 1 час, 18 минут, 55 секунд (4.03.2009 - 07:33) modobaks написал(а):
Ошибки нет, что засунули, то и получаете.
А вообще нужно в параметрах формы поставить, вот это enctype = "multipart/form-data" для файлов, а потом уже разбирать массив $_FILES.
А вообще нужно в параметрах формы поставить, вот это enctype = "multipart/form-data" для файлов, а потом уже разбирать массив $_FILES.
Спустя 1 час, 48 минут, 20 секунд (4.03.2009 - 09:21) klik2 написал(а):
Цитата |
потом уже разбирать массив $_FILES. |
Разобрал на части, по винтикам. Все равно не работает :-)
Спустя 12 минут, 28 секунд (4.03.2009 - 09:34) Bezdna написал(а):
Цитата (klik2 @ 4.03.2009 - 03:14) |
Вместо картинки выводится ее название |
Значит при вводе в форму вводишь название, а не ссылку на картинку.
Спустя 1 минута, 10 секунд (4.03.2009 - 09:35) sergeiss написал(а):
Цитата |
Вместо картинки выводится ее название. В чем моя ошибка? Спасибо. |
Тебе же уже ответили: что положил в БД, то и достал. А положил ты в БД название картинки (точнее, даже не название своей картинки, а какую-то непонятную строку). Ее же, эту строку, и достал.
А что хотел - саму картинку показать? Тогда по-другому надо делать. Совершенно по-другому!!!!!!!
Надо взять присланный файл, сохранить его, а потом выводить через тэг IMG.
Как именно ты "разобрал по винтикам $_FILES"? В первом тексте этого нету. Вообще.
Спустя 3 часа, 59 минут, 40 секунд (4.03.2009 - 13:35) klik2 написал(а):
Цитата |
А что хотел - саму картинку показать? Тогда по-другому надо делать. Совершенно по-другому!!!!!!! Надо взять присланный файл, сохранить его, а потом выводить через тэг IMG. |
Спасибо тебе, добрый человек. Если бы я знал за что этот файл взять, куда его положить, а уж тем более, как его вывести через тэг img. то я бы на этом форуме в разделе "PHP для знатоков" на твои бы вопросы отвечал, а не в данном разделе тусовался.
Спустя 22 минуты, 9 секунд (4.03.2009 - 13:57) sergeiss написал(а):
Интересный ответ, однако
Ты спросил "В чем моя ошибка?" - ты получил ответ. Ошибка в том, что половину делаешь неправильно.
Ты говоришь "Разобрал массив $_FILES по винтикам" - но не показываешь код. Поэтому непонятно, как ты его "разбирал". Потому что если бы ты на самом деле разбирался с этим "до винтиков", то тогда бы знал "за что этот файл взять, куда его положить".
Кстати, тэг IMG - это HTML, а не ПХП.
И чего ты хочешь получить?
Чтобы подсказали? - нет проблем Показывай свой измененный код, спрашивай, что именно непонятно. Только конкретно, а не "объясните мне основы ПХП". За объяснением основ ПХП - плиз гоу то хэлп, адрес хэлпа у меня в подписи.
Или чтобы за тебя сделали? - тогда тебе в раздел "Предлагаю работу".
Ты спросил "В чем моя ошибка?" - ты получил ответ. Ошибка в том, что половину делаешь неправильно.
Ты говоришь "Разобрал массив $_FILES по винтикам" - но не показываешь код. Поэтому непонятно, как ты его "разбирал". Потому что если бы ты на самом деле разбирался с этим "до винтиков", то тогда бы знал "за что этот файл взять, куда его положить".
Кстати, тэг IMG - это HTML, а не ПХП.
И чего ты хочешь получить?
Чтобы подсказали? - нет проблем Показывай свой измененный код, спрашивай, что именно непонятно. Только конкретно, а не "объясните мне основы ПХП". За объяснением основ ПХП - плиз гоу то хэлп, адрес хэлпа у меня в подписи.
Или чтобы за тебя сделали? - тогда тебе в раздел "Предлагаю работу".
Спустя 39 минут, 58 секунд (4.03.2009 - 14:37) klik2 написал(а):
Восхищен умом и красноречием твоим!!! :-)
Цитата |
Ты спросил "В чем моя ошибка?" - ты получил ответ. Ошибка в том, что половину делаешь неправильно. |
Хороший ответ! :-)
Кладу файл:
<?php
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
if(copy($_FILES["filename"]["tmp_name"],
"files/".$_FILES["filename"]["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES["filename"]["name"]);
echo("<br>Размер файла: ");
echo($_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES["filename"]["type"]);
} else {
echo("Ошибка загрузки файла");
}
?>
Дальше то что с ним делать?
Спустя 28 минут, 5 секунд (4.03.2009 - 15:05) sergeiss написал(а):
Что с этим делать, говоришь? Выкинь Причем, серьезно говорю.
1. В форме у тебя указано
1. В форме у тебя указано
HTML |
<input type="file" name="img" id="img"> |
а потом ты используешь 'filename'. Ты уж определись: img или filename использовать.
2. Для копирования файла надо использовать move_uploaded_file (), а не copy().
3. Если файл успешно загружен и сохранен, то тогда пишешь в БД его имя.
4. При выводе информации в тэге IMG, в поле SRC указываешь имя загруженной картинки.
Измененный код из твоего первого сообщения этой темы:
PHP |
if ($row) |
Спустя 22 минуты, 5 секунд (4.03.2009 - 15:27) klik2 написал(а):
Мне все это воедино никак не собрать.
Цитата |
3. Если файл успешно загружен и сохранен, то тогда пишешь в БД его имя. |
Как имя в базу данных записать?
У меня в результате появляется вместо картинки квадратик, а если в свойства этого квадратика посмотреть, то путь к картинке выводится такой:
d:webempphpBB1B.tmp
Спустя 5 минут, 14 секунд (4.03.2009 - 15:32) sergeiss написал(а):
Для записи имени файла.
Из твоего кода:
Из твоего кода:
PHP |
$result = mysql_query ("INSERT INTO post (title,text,img) VALUES ('$title','$text', ... )"); |
Вместо многоточия надо поставить имя загруженного файла, того, с каким файл был записан на диск.
И покажи, как у тебя в данный момент обрабатываются загруженные файлы
Спустя 1 минута, 45 секунд (4.03.2009 - 15:34) sergeiss написал(а):
Да, и еще. У тебя предполагается, что глобальные переменные включены...
Но лучше будет так сделать:
$title=$_POST['title'];
и аналогично для все переменных, передаваемых через POST.
Но лучше будет так сделать:
$title=$_POST['title'];
и аналогично для все переменных, передаваемых через POST.
Спустя 5 минут, 8 секунд (4.03.2009 - 15:39) klik2 написал(а):
Цитата |
Для записи имени файла. Из твоего кода: PHP $result = mysql_query ("INSERT INTO post (title,text,img) VALUES ('$title','$text',... )"); Вместо многоточия надо поставить имя загруженного файла, того, с каким файл был записан на диск. |
Вручную что-ли писать?
Спустя 1 минута, 53 секунды (4.03.2009 - 15:41) klik2 написал(а):
Цитата |
Но лучше будет так сделать: $title=$_POST['title']; и аналогично для все переменных, передаваемых через POST. |
Ну, а это то зачем еще? Что бы было?
Спустя 9 минут, 26 секунд (4.03.2009 - 15:50) sergeiss написал(а):
Цитата (klik2 @ 4.03.2009 - 15:39) | ||
Вручную что-ли писать? |
Сюда, в запрос - вручную
Типа $_FILES['img']['name'] - если именно с этим именем файл был записан на диск.
Я же уже спросил: дай скрипт, как он у тебя сейчас работает с файлом! Тогда уже оттуда можно будет четко увидеть ответ на этот вопрос.
И еще. В форме должен быть указан один параметр
HTML |
<form enctype="multipart/form-data" .... |
, чтобы эта форма могла отправлять файлы. Это у тебя сделано? В начальном посте темы этого не было.
Спустя 1 минута, 50 секунд (4.03.2009 - 15:52) sergeiss написал(а):
Цитата (klik2 @ 4.03.2009 - 15:41) | ||
Ну, а это то зачем еще? Что бы было? |
Это для того, чтобы ты потом не задавал вопросы типа "А почему мой скрипт перестал работать, когда я всего лишь перенес его с локального хоста в интернет"?
Спустя 7 минут, 50 секунд (4.03.2009 - 16:00) klik2 написал(а):
Цитата |
Сюда, в запрос - вручную wink.gif |
А при загрузке другой картинки? Переписывать имя?
Цитата |
И еще. В форме должен быть указан один параметр HTML <form enctype="multipart/form-data" .... , чтобы эта форма могла отправлять файлы. Это у тебя сделано? В начальном посте темы этого не было. |
Сделано.
Спустя 1 минута, 13 секунд (4.03.2009 - 16:01) klik2 написал(а):
Цитата |
Это для того, чтобы ты потом не задавал вопросы типа "А почему мой скрипт перестал работать, когда я всего лишь перенес его с локального хоста в интернет"? |
Я сразу в интернете "творю" :-)
Спустя 2 минуты, 30 секунд (4.03.2009 - 16:04) klik2 написал(а):
Видимо. не дорос я еще до создания подобного скрипта :-)
Спустя 11 минут, 37 секунд (4.03.2009 - 16:15) sergeiss написал(а):
Цитата (klik2 @ 4.03.2009 - 16:00) | ||
А при загрузке другой картинки? Переписывать имя? |
Анекдот в тему
Идет парень, везет коляску. Из нее раздаются громки детские вопли. Парень достаточно громко приговаривает: "Спокойно, Вася... Спокойно, Вася... Успокойся, Вася...."
Проходящая мимо бабуля говорит: "Молодой человек! Так вы ребеночка-то не успокоите".
Он отвечает: "Бабушка, вы не поняли..... Вася - это я!"
Вот и я тоже приговариваю: "Спокойно, Ипполит, спокойно..."
-----------
Короче говоря, я же написал
Цитата |
Типа $_FILES['img']['name'] - если именно с этим именем файл был записан на диск. |
То есть, запрос должен быть
PHP |
$result = mysql_query ("INSERT INTO post (title,text,img) VALUES ('$title','$text', '".$_FILES['img']['name']."' )"); |
ЛИБО ДРУГОЕ ИМЯ!!! Я же пока не знаю, как ты переписал файл на сервер, с каким именем.
А вообще... Загрузи хэлп (у меня в подписи) и там найди и почитай про $_FILES. Там всё ясно и понятно написано.
Спустя 32 минуты, 35 секунд (4.03.2009 - 16:48) klik2 написал(а):
Ты думаешь, я не знаю, как тяжело, таким как ты, что-то объяснять полному "чайнику"? Знаю. Только не думай, что полному "чайнику" легко слушать объяснения от таких, как ты.
Сразу оговорюсь данный скрипт, который я пытаюсь сотворить, не имеет для меня никакого практического значения. Просто разбираюсь.
Итак, первоначально стояла следующая передо мной задача (точнее, я ее сам себе поставил). Создать админку, через которую можно заносить в базу слова и их значение, а затем по слову, выводить данное слово со значением. С этой задачей, я хоть коряво и с помощью подсказок ( http://phpforum.ru/index.php?showtopic=16291 ) справился.
Админка: http://www.spbwork.com/post/admin/
Страница вывода данных: http://www.spbwork.com/post
Усложнил себе задачу. Вместе со словом и расшифровкой слова загружать и выводить картинку. Вот собственно и вся загвоздка.
Сразу оговорюсь данный скрипт, который я пытаюсь сотворить, не имеет для меня никакого практического значения. Просто разбираюсь.
Итак, первоначально стояла следующая передо мной задача (точнее, я ее сам себе поставил). Создать админку, через которую можно заносить в базу слова и их значение, а затем по слову, выводить данное слово со значением. С этой задачей, я хоть коряво и с помощью подсказок ( http://phpforum.ru/index.php?showtopic=16291 ) справился.
Админка: http://www.spbwork.com/post/admin/
Страница вывода данных: http://www.spbwork.com/post
Усложнил себе задачу. Вместе со словом и расшифровкой слова загружать и выводить картинку. Вот собственно и вся загвоздка.
Спустя 1 минута, 14 секунд (4.03.2009 - 16:49) klik2 написал(а):
Цитата |
А вообще... Загрузи хэлп (у меня в подписи) и там найди и почитай про $_FILES. Там всё ясно и понятно написано. |
А это я уже все прочитал. Если бы там было все ясно и понятно написано, то на хрена вообще подобные форумы были бы нужны?
_____________