- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
<? require 'config/bd.php'; ?>
<?
if($_POST["title"]){
$id = intval($_POST["id"]);
$title = intval($_POST["title"]);
$num = mysql_num_rows(mysql_query("SELECT id FROM banner WHERE id = '".$id."'"));
if($num>0){
mysql_query("UPDATE banner SET url = '$url', img = '$img', title = '$title', day = '$day', active = '".$_POST["active"]."', active_to = '$active_to' WHERE id = '".$id."'");
?>
<div class="color='red'">Баннер отредактирован</div>
<?
}
}
if($_POST["id"]){
$id = intval($_POST["id"]);
$title = intval($_POST["title"]);
$num = mysql_num_rows(mysql_query("SELECT id FROM banner WHERE id = '".$id."'"));
if($num>0){
$row = mysql_fetch_array(mysql_query("SELECT * FROM banner WHERE id = '".$id."'"));
?>
<form method="post" action="">
<strong>ID:</strong> <?=$row['id'];?><br>
<strong>Ссылка перехода:</strong> <?=$row['url'];?><br>
<strong>Ссылка на баннер:</strong> <?=$row['img'];?><br>
<strong>Заголовок:</strong> <?=$row['title'];?><br>
<strong>Дней:</strong> <input type="text" size="5" name="id" value="<?=$row['day'];?>">
<strong>Активен?:</strong><select name="active"><option value="1" <? if($row["active"]==1){?>selected="selected"<? }?>>Да</option><option value="0" <? if($row["active"]==0){?>selected="selected"<? }?>>Нет</option></select><br>
<strong>Активен до:</strong> <input type="text" size="10" name="id" value="<?=$row['active_to'];?>">
<input type="hidden" name="id" value="<?=$row['id'];?>">
<input type="submit" value="Сохранить">
</form>
<?
}else{
?>
Баннер не найден
<?
}
}?>
<form method="post" action="">
Введите ID баннера: <input type="text" name="id">
<input type="submit" value="Поиск">
</form>
Что здесь не так? Первую часть поиск по ID проходит! Дале выскакивает форма редактирования, ввел данные нажимаю Сохранить но ничего не происходит! Просто игнор! Исправьте пж!
guest 07.05.2016 19:25 # +11
inkanus-gray 07.05.2016 20:04 # +5
2. Отделение вёрстки от логики.
3. По возможности использовать подготовленные выражения (prepared statements) в SQL.
Попытаемся разобрать, что тут происходит:
Обе формы делают запрос к тому же самому URL, на котором находятся. Обе формы отправляют единственный параметр id (форма сохранения отправляет id, полученный из базы, который в случае уникального индекса совпадает с ранее полученным).
Сохранение будет происходить, только если кто-то отправит параметр title.
Вывод: автор сам не знает, что хочет сделать.
guesto 07.05.2016 23:50 # 0
gost 07.05.2016 20:05 # +1
kegdan 07.05.2016 20:14 # +7
А то так рак мозга не долго получить
guesto 07.05.2016 23:38 # 0
этот код надо обоссать и сжечь
а тебе нужно никогда (никогда!!!!) даже не пытаться стать программистом
gost 07.05.2016 23:43 # +1
guesto 07.05.2016 23:48 # +3
1) мешать HTML, логику и SQL
2) завязывать код на худшую из БД
3) делать SQL инъекции
какой язык кроме ПХП мог научить этому сразу?
inkanus-gray 07.05.2016 23:52 # 0
guesto 07.05.2016 23:53 # 0
inkanus-gray 07.05.2016 23:57 # 0
guesto 08.05.2016 00:00 # 0
3_dar 07.05.2016 23:59 # 0
> БД
JS конечно
guesto 08.05.2016 00:02 # +1
kerman 08.05.2016 01:06 # 0
guesto 08.05.2016 01:09 # 0
а плохо что к ней привязали
roman-kashitsyn 08.05.2016 10:11 # 0
Что значит "привязали"? Не пишут запросы через 2 слоя абстрагирования от БД?
bormand 08.05.2016 11:01 # +4
Заюзали устаревшие mysql_* функции, которые даже подготовленные запросы не умеют.
З.Ы. `Ну` `хоть` `не` `волосатый` `код`, `и` `то` `cчастье`.
inkanus-gray 08.05.2016 11:33 # +4
inkanus-gray 07.05.2016 23:43 # +10
gost 08.05.2016 14:27 # +2
Keeper 09.05.2016 15:59 # 0
Узнаю почерк адептов Жопова и пРуссакова.