"PHP" / Говнокод #19960 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 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 проходит! Дале выскакивает форма редактирования, ввел данные нажимаю Сохранить но ничего не происходит! Просто игнор! Исправьте пж!

Запостил: Andriu Andriu, (Updated )

Комментарии (22) RSS

  • Сам исправляйте, ГК тебе не форум с кучей дибилов которые помогают друг другу, здесь совсем другие дибилы которых объединяет говно
    Ответить
  • 1. Отступы.
    2. Отделение вёрстки от логики.
    3. По возможности использовать подготовленные выражения (prepared statements) в SQL.

    Попытаемся разобрать, что тут происходит:
    <? if($_POST["title"]){
        // какой-то код
        if($num>0){
            mysql_query("UPDATE ...");
            ?><div class="color='red'">Баннер отредактирован</div><?
        }
    }
    
    if($_POST["id"]){
        // какой-то код
        if($num>0){
            $row = mysql_fetch_array(mysql_query("SELECT * FROM banner WHERE id = '".$id."'"));
            // форма сохранения
        }else{
            ?>Баннер не найден<?
        }
    }?>
    <!-- форма поиска -->


    Обе формы делают запрос к тому же самому URL, на котором находятся. Обе формы отправляют единственный параметр id (форма сохранения отправляет id, полученный из базы, который в случае уникального индекса совпадает с ранее полученным).

    Сохранение будет происходить, только если кто-то отправит параметр title.

    Вывод: автор сам не знает, что хочет сделать.
    Ответить
  • Мужик, ты бы хотя бы код отформатировал

    А то так рак мозга не долго получить
    Ответить
  • тут плохо буквально все

    этот код надо обоссать и сжечь
    а тебе нужно никогда (никогда!!!!) даже не пытаться стать программистом
    Ответить
    • Ну, зачем же так категорично. Может, автор учится классе в шестом, для такого возраста это нормально.
      Ответить
      • автор только учица, а его уже научили

        1) мешать HTML, логику и SQL
        2) завязывать код на худшую из БД
        3) делать SQL инъекции

        какой язык кроме ПХП мог научить этому сразу?
        Ответить
    • Если обоссать, плохо гореть будет. Может быть, наоборот, сначала сжечь, а потом обоссать пепел?
      Ответить
  • >> <? require 'config/bd.php'; ?>

    Узнаю почерк адептов Жопова и пРуссакова.
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8