|
|
|
| Здравствуйте, народ. Помогите пожалуйста разобраться почему выводит ошибку. Есть форма добавления новой услуги в раздел (new_trans.php) и есть обработчик информации(add_trans,php)
new_trans.php
<form method="POST" action="add_trans.php" enctype="multipart/form-data">>
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<p>
<label>Группа:<br>
<select name='group'>
<option value='0'>
<?
$rows = mysql_query('SELECT * FROM uslug;');
while($row=mysql_fetch_array($rows)){
echo '<option value="'.$row[id].'">'.$row[title];
}
?>
</option>
</select>
</label>
</p>
<p>
<label>Название траспорта: <br>
<input name="name" type="text" size="45"></input>
</label>
</p>
<p>
<label>Год выпуска <br>
<input name="year" type="text" size="45"></input>
</label>
</p>
<p>
<label>Мест в транспорте: <br>
<input name="mest" type="text" size="45"></input>
</label>
</p>
<p>
<label>Опции траспорта:<br>
<textarea name="option" cols="60" rows="5" id="text"></textarea>
</label>
</p>
<p>
<label>Цена аренды: <br>
<input name="arenda" type="text" size="45"></input>
</label>
</p>
<p>
<label>Цена на Трансфер (3+1): <br>
<input name="transfer" type="text" size="45"></input>
</label>
</p>
<p>
<label>Загрузить фото:<br>
<input name="filename" size="45" type="file" >
</label>
</p>
<input name="id" type="hidden" value="$myrow[id]">
<p>
</p>
<p><input type="submit" value="Редактировать"></p><br>
</form>
|
и файл обработчик (add_trans.php)
if (isset($_POST['filename'])) {$filename = $_POST['filename']; if ($filename == '') {unset($filename);} }
if (isset($_POST['group'])) {$usl_id = $_POST['group']; if ($usl_id == '') {unset($usl_id);} }
if (isset($_POST['photo'])) {$photo = $_POST['photo']; if ($photo == '') {unset($photo);} }
if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);} }
if (isset($_POST['year'])) {$year = $_POST['year']; if ($year == '') {unset($year);} }
if (isset($_POST['mest'])) {$mest = $_POST['mest']; if ($mest == '') {unset($mest);} }
if (isset($_POST['option'])) {$option = $_POST['option']; if ($option == '') {unset($option);} }
if (isset($_POST['arenda'])) {$arenda = $_POST['arenda']; if ($arenda == '') {unset($arenda);} }
if (isset($_POST['transfer'])) {$transfer = $_POST['transfer']; if ($transfer == '') {unset($transfer);} }
if (isset($_POST['id'])) {$id = $_POST['id'];}
<?php
/* Начало. Скрипт добавления фото.*/
if($_FILES["filename"]["size"] > 1024*10*1024)
{
echo ("Размер файла превышает 10 мегабайт");
exit;
}
if(copy($_FILES["filename"]["tmp_name"],
"http://fla/image/".$_FILES["filename"]["name"]))
{
echo("<b>Файл успешно загружен!</b><br><br>");
echo("<b>Характеристики файла:</b><br>");
echo("<b>Имя файла:</b> ");
echo($_FILES["filename"]["name"]);
echo("<br><b>Размер файла (кб.):</b> ");
echo($_FILES["filename"]["size"]);
echo("<br><b>Тип файла:</b> ");
echo($_FILES["filename"]["type"]);
$photo=$_FILES["filename"]["name"];
}
else {
echo("<p><b>Ошибка загрузки файла...</b>");
echo("<br><b>Причина: </b>");
if($_FILES["filename"]['error'] == 1)
{
echo ("загружаемый файл превышает размер, установленный директивой upload_max_filesize в файле настроек php.ini");
}
if($_FILES["filename"]['error'] == 2)
{
echo ("загружаемый файл превышает размер, установленный элементом MAX_FILE_SIZE формы html");
}
if($_FILES["filename"]['error'] == 3)
{
echo ("файл был загружен частично");
}
if($_FILES["filename"]['error'] == 4)
{
echo ("Файл не был загружен ");
}
}
/* Конец. Скрипт добавления фото.*/
if (isset($usl_id) && isset($name) && isset($year) && isset($mest) && isset($option) && isset($arenda) && isset($transfer) && isset($photo))
{
/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO car (`usl_id`,`name`,`year`,`mest`,`option`,`arenda`,`transfer`,`photo`) VALUES ('$usl_id','$name','$year','$mest','$option','$arenda','$transfer','$photo')");
if ($result == 'true') {echo "<p>Транспорт успешно добавлен в базу.</p> " ; }
else {echo "<p>Транспорт не добавлен в базу.</p>";}
}
else
{
echo "<p>Транспорт не добавлен в базу.<br> <b>Причина: </b>Заполнены не все поля. </p>";
}
?>
|
И на обработчике выдает ошибку... :
Notice: Undefined index: filename in ПУТЬ.. строка
Он не может найти передаваемую переменную... почему? Вроде форма передает... В чем возможна проблема? | |
|
|
|
|
|
|
|
для: shmel79
(19.12.2008 в 11:26)
| | Вы написали столько букаф, но почему то остановились на самом интересном.
Notice: Undefined index: filename in ПУТЬ.. строка?????? | |
|
|
|
|
|
|
|
для: Николай2357
(19.12.2008 в 11:30)
| | Выдает ошибки в строках:
Notice: Undefined index: filename in :
<?
if($_FILES["filename"]["size"] > 1024*10*1024)
if(copy($_FILES["filename"]["tmp_name"],
"http://fla/image/".$_FILES["filename"]["name"]))
if($_FILES["filename"]['error'] == 1)
if($_FILES["filename"]['error'] == 2)
if($_FILES["filename"]['error'] == 3)
if($_FILES["filename"]['error'] == 4)
?>
|
| |
|
|
|
|
|
|
|
для: shmel79
(19.12.2008 в 11:39)
| | Во первых не нужно пользоваться функцией copy, чтоб не было проблем, пользуйтесь move_uploaded_file()
Во вторых, зря Вы пишете разные кавычки вот тут:
<?
if($_FILES["filename"]['error'] == 4)
|
А в третьих, нельзя указывать абсолютный путь:
<?
"http://fla/image/".$_FILES["filename"]["name"])
|
| |
|
|
|
|
|
|
|
для: Николай2357
(19.12.2008 в 11:52)
| | Ок.. ну проблема-то не в этом. Почему-то не может найти filename.. толи не передается.... хотя вроде в форме указано что filename переменная передается в обработчик... и там выводиться в photo.. И значение photo уже заноситься в базу. А выдает эти Notice... | |
|
|
|
|
|
|
|
для: shmel79
(19.12.2008 в 12:00)
| | Плюньте вы на вывод ошибок, думаете юзеру очень интересно, почему не загружено? Последуйте совету sim5, проверьте на отсутствие ошибок, потом пишите файл на сервер. А вывести можно просто, "ошибка загрузки, попробуйте ещё раз." к примеру. К тому же вторая ошибка у Вас дублируется. А если есть ошибка, то и нотисы не заставят себя ждать, надо это Вам? | |
|
|
|
|
|
|
|
для: shmel79
(19.12.2008 в 11:39)
| | А во-первых, надо сперва удостовериться, что $_FILES["filename"]['error'] = 0, а уже затем во-вторых - проверять размеры и т.п... | |
|
|
|
|
|
|
|
для: sim5
(19.12.2008 в 11:58)
| | Ок.. ну проблема-то не в этом. Почему-то не может найти filename.. толи не передается.... хотя вроде в форме указано что filename переменная передается в обработчик... и там выводиться в photo.. И значение photo уже заноситься в базу. А выдает эти Notice... | |
|
|
|
|
|
|
|
для: shmel79
(19.12.2008 в 12:59)
| | А вы вместо этого длинного кода напишите проще: print_r($_FILES); Получаете файл? | |
|
|
|