[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нераспознаваемая переменная
Forever
if (isset($_POST['img']))  
// Если поле выбора картинки не пустое - закачиваем её на сервер
$maxwidth = "600";
// максимальная ширина картинок на превью
$foto_dir = "/images/"; // Директория для фотографий товаров
$foto_name = $foto_dir.time()."_".basename
($_FILES['myfile']['name']); // Полное имя файла вместе с путем
$foto_light_name = time()."_".basename
($_FILES['myfile']['name']);
// Имя файла исключая путь
$foto_tag = "<img src=\"$foto_name\" border=\"0\">"; // Готовый тэг для вставки картинки на страницу
$foto_tag_preview = "<img src=\"$foto_name\" border=\"0\" width=\"$maxwidth\">";


Notice: Undefined variable: maxwidth in D:\usr\mosts\site\www1\add_images.php on line 19

Лайн 19 это [php]$foto_tag_preview = "<img src=\"$foto_name\" border=\"0\" width=\"$maxwidth\">"; [php]

При этом все переменные после $maxwidth распознаются. если убрать $maxwidth - то следующая за ней распознаваться не будет и так далее. Если перед $maxwidth прописать любую "левую" переменную - то все хорошо.
Mikhail
Переменная $maxwidth устанавливается только если выполняется условие isset($_POST['img']).
AllesKlar
if (isset($_POST['img']))  
$maxwidth = "600";
$foto_dir = "/images/";

......

это оже самое, что и
if (isset($_POST['img']))  
{
$maxwidth = "600";
}
$foto_dir = "/images/";
....


Т.е. в тело условия у тебя попадает только ОДИН оператор, следующий за условием.

Обрами фигурными скобками все, что толжно быть, при выполнении условия.

_____________
[продано копирайтерам]
Forever
Цитата (AllesKlar @ 11.03.2014 - 17:12)
в тело условия у тебя попадает только ОДИН оператор, следующий за условием.

Обрами фигурными скобками все, что толжно быть, при выполнении условия.




Будем знать. А собственно почему не срабатывает условие? Вот форма загрузки:



<link rel="stylesheet" type="text/css" href="style.css"/>
<html>
<head>
<title>
Загрузка фото</title>
<center><h3>
САЙТ</h3></center>
</head>
<body>

<form
name='form' enctype='multipart/form-data'
method='post' action='add_images.php'>
<p>
<label
class='label'>Выберите картинку</label>
<br>
<input
type='file' name='myfile' id='myfile' class='input'/>
</p>
<br>
<p>
<table>
<tr>
<td>
<input
type='image' src='images/add_images_save.png' title='Сохранить'>
</td>
<td>
<a
href='ind.php' class='add_images'>
<div
class='add_images_text'>НАЗАД</div></a>
</td>
</tr>
</table>
</p>
</form>

</body>
</html>
sergeiss
А с чего бы вдруг возьмётся $_POST['img']? Покажи, где у тебя в форме элемент с таким именем?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
zelenuy
Forever
if (isset($_FILE['myfile']))
$maxwidth = "600";
AllesKlar
Forever
у тебя файл из формы летит в обработчик с именем инпута myfile
А ты его встречашь по имени img


_____________
[продано копирайтерам]
Forever
Цитата (sergeiss @ 11.03.2014 - 17:54)
А с чего бы вдруг возьмётся $_POST['img']? Покажи, где у тебя в форме элемент с таким именем?

Да, делаю по примеру (http://roothelp.ru/lessons_post.php?id=12), тоже думал, то ли я слепой, то ли img-инпута действительно не существует. То ли какой-то хитрый код... в общем, надо подправлять пример.
Forever
Цитата (AllesKlar @ 11.03.2014 - 18:05)
Forever
у тебя файл из формы летит в обработчик с именем инпута myfile
А ты его встречашь по имени img

Кстати замена img на myfile не помогла. Условие выдает False все равно.
Forever
Ой дебииил я... Принимаю как
$_POST['myfile']
, а надо
$_FILES['myfile'];

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.