Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Редактирование данных в таблице, Помогите пожалуйста исправить код
Basyrova  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 43423
На форуме: 2 месяца, 8 дней
Карма:




Не понимаю как сделать так, чтобы при создании продукта можно было ввести новую картинку, но при этом чтобы при редактировании старого продукта, если пользователь заливает новую картинку, она обновлялась, а если не заливает, то оставалась старая, которая уже есть в бд. Помогите пожалуйста.
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
<
head>
<
meta charset="WINDOWS-1251">
<
BODY BACKGROUND="background.jpg">
<
title>Изменение характеристик часов</title>
</
head>
<
body>
<
table align='center'>
<
tr><td align='center' ><a href="index.php?zZ=<?php echo $_SESSION['ID'];?>"><b> <button>Назад</button> <b></a>
</
td>
</
tr>
</
table>
<?php
if ($_SESSION['num']==1) {
include_once('check.php');
$db = get_bd();
$button = NULL;
if (isset($_GET['ID'])) {
$ID = $_GET['ID'];
if ($_GET['del']=='ok') {
mysql_query("DELETE FROM watch WHERE ID='$ID'",$db);
mysql_query("DELETE FROM ccount WHERE ID='$ID'",$db);
echo "
<h3 align='center'> Часы удалены <br><br></h3>
"
;
} else {
$query = mysql_query("SELECT * FROM watch c LEFT JOIN ccount cc ON c.ID = cc.ID WHERE c.ID='$ID'",$db);
$data = mysql_fetch_array($query);
$button = forma($data['name'], $data['material'],$data['waterproof'],$data['diameter'],$data['mechanism'],$data['gender'],$data['glass'],$data['countwatch'],$data['price']);
}
}
else {
$button = forma();
}
}
else {
echo "
<h3 align='center'>У вас недостаточно прав.<br><br><a href='index.php?zZ="
.$_SESSION['ID']."'>Вернуться назад</a></h3>
"
;
}
function forma($name='',$material='',$waterproof='',$diameter='',$mechanism='',$gender='',$glass='',$countwatch='',$price=''){
$res = "
<br><br>
<table align=center>
<form method='post' enctype='multipart/form-data'>
<tr>
<td valign=top>
<label>Название</label><br>
<textarea name='name' cols=20 rows='2'>"
.$name."</textarea><br><br>
<label>Материал</label><br>
<textarea name='material' cols=20 rows='2'>"
.$material."</textarea><br><br>
<label>Водостойкость</label><br>
<textarea name='waterproof' cols=20 rows='2'>"
.$waterproof."</textarea><br><br>
<label>Диаметр</label><br>
<textarea name='diameter' cols=20 rows='2'>"
.$diameter."</textarea><br><br>
<label>Механизм </label><br>
<textarea name='mechanism' cols=20 rows='2'>"
.$mechanism."</textarea><br><br>
<label>Пол </label><br>
<textarea name='gender' cols=20 rows='2'>"
.$gender."</textarea><br><br>
<label>Стекло</label><br>
<textarea name='glass' cols=20 rows='2'>"
.$glass."</textarea><br><br>
<label>В наличии </label><br>
<textarea name='countwatch' cols=20 rows='2'>"
.$countwatch."</textarea><br><br>
<label>Цена </label><br>
<textarea name='price' cols=20 rows='2'>"
.$price."</textarea><br><br>

<label>Изображение</label>
<input type='file' name='img'><br>
<input type='submit' name='ok?' value='Готово'>
</td>

</tr>
</form>
</table>
"
;
echo $res;
if (isset($_POST['ok?'])) {
return 1;
} else {
return NULL;
}
}


if ($button != NULL) {

$ID = $_GET['ID'];
$name = $_POST['name'];
$material = $_POST['material'];
$waterproof = $_POST['waterproof'];
$countwatch_new = $_POST['countwatch'];
$diameter = $_POST['diameter'];
$mechanism = $_POST['mechanism'];
$gender = $_POST['gender'];
$glass = $_POST['glass'];
$price = $_POST['price'];
$countshop = $_POST['countshop'];
$url = "";

if (isset($_FILES['img'])) {
$url = saveImg("img");
$url = str_replace('\\', '\\\\', $url);
}

if (isset($_GET['ID'])) {
$query = mysql_query("SELECT countwatch FROM watch WHERE ID='$ID'",$db);
$data = mysql_fetch_array($query);
$countwatch = $countwatch_new;
$update_image = (!empty($url)) ? ", 'image' = '" . mysql_real_escape_string($url) . "'"
$r = mysql_query("UPDATE watch SET name = '$name', material = '$material', waterproof = '$waterproof',countwatch = '$countwatch', diameter = '$diameter',mechanism = '$mechanism',gender = '$gender',glass = '$glass',price = '$price',image='$update_image' WHERE ID='" . (int)$_GET['ID'] . "'",$db);
echo '<META HTTP-EQUIV="Refresh" content="0; URL=kabinet_1.php?ID='.$_SESSION['ID'].'">';
} else {
mysql_query("INSERT INTO watch (name,material,waterproof,countwatch,diameter,mechanism,gender,glass,price,image) VALUES ('$name','$material','$waterproof','$countwatch_new','$diameter','$mechanism','$gender','$glass','$price','$update_image')",$db);
echo '<META HTTP-EQUIV="Refresh" content="0; URL=kabinet_1.php?ID='.$_SESSION['ID'].'">';
}
}


function saveImg($dir) {
$name = substr(basename($_FILES['img']['name']), strrpos(basename($_FILES['img']['name']), "."));
$name = md5(time()) . $name;
$path = $dir . DIRECTORY_SEPARATOR . $name;
copy($_FILES['img']['tmp_name'], $path);
return $path;
}

?>

</body>
</
html>

Попробовала так, но тогда выдается ошибка в 111 строке
Parse error: parse error, unexpected T_VARIABLE in ... on line 111, которая UPDATE, а когда код почему то работал, то старая картинка оставалась при редактировании, но новая не заливалась
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 25 дней
Карма: 30




проверять, пришел ли от пользователя новый файл, валидировать его и заменять. Если не пришел - не заменять smile.gif
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Stave  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 138
Пользователь №: 40254
На форуме: 2 года, 2 месяца, 28 дней
Карма: 4




$update_image = (!empty($url)) ? ", 'image' = '" . mysql_real_escape_string($url) . "'";


--------------------
Если долго в одних стенах живешь, ты с ними сростаешься
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
T1grOK  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2703
Пользователь №: 24406
На форуме: 6 лет, 1 месяц, 17 дней
Карма: 170




dry.gif
Вы еще использует расширение mysql, и функцию mysql_real_escape_string и код получается некрасивым и неудобочитаемым?! Тогда мы идем к вам!


--------------------
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Stave  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 138
Пользователь №: 40254
На форуме: 2 года, 2 месяца, 28 дней
Карма: 4




Цитата (T1grOK @ 26.09.2016 - 19:58)
dry.gif
Вы еще использует расширение mysql, и функцию mysql_real_escape_string и код получается некрасивым и неудобочитаемым?! Тогда мы идем к вам!

Используется готовое решение. И только. Нет смысла судить


--------------------
Если долго в одних стенах живешь, ты с ними сростаешься
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3375
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 170




Цитата (Stave @ 26.09.2016 - 21:28)
Используется готовое решение. И только. Нет смысла судить

есть смысл судить, т.к. однажды хостер объявит, что в целях безопасности он переезжает на php 7, в котором расширения mysql нет


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Basyrova  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 43423
На форуме: 2 месяца, 8 дней
Карма:




Это не рабочий сайт, а просто сайт по учебе, не более того. То бишь безопасность там и не к чему
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
amnyam  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 43437
На форуме: 2 месяца, 5 дней
Карма: 1




Стоит

$update_image = (!empty($url)) ? ", 'image' = '" . mysql_real_escape_string($url) . "'"


И в запросе

price = '$price',image='$update_image' WHERE ID='" . 


Что в итоге приводит к коду

price = '$price',image=', 'image' = '" . mysql_real_escape_string($url)' WHERE ID='" . 


Выкинуть image= из запроса.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса