За последние 24 часа нас посетили 22886 программистов и 1264 робота. Сейчас ищет 751 программист ...

Редактирование строк php в mysql - PHP БД

Тема в разделе "PHP для новичков", создана пользователем wolf777, 11 авг 2015.

  1. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    написал такой скриптик редактирования строк в бд, подскажите почему данные text и url не видны в строках?
    Код (PHP):
    1. // если запрос 
    2. if(isset($_GET['edition'])){
    3.  
    4. $url=htmlspecialchars($_POST['url']);
    5. $text=htmlspecialchars($_POST['text']);
    6.  
    7. $result = mysql_query("UPDATE tb_ads_100x100 SET `url`='$url', `text` = '$text', WHERE `id`='".$_GET['icq']."'"); 
    8. if ($result == 'true'){
    9. echo skin_redir_msg(self_url(''),'успешно изменено');
    10. }else{
    11. echo skin_redir_msg(self_url(''),'Ошибка редактирования!!!');
    12. }
    13. }
    14.     
    15. If (isset($_GET['edit'])) {
    16. $sql=mysql_query("SELECT url, text FROM tb_ads_100x100 WHERE `id`='".$id."'");  
    17. ?>
    18. <center>
    19. {SKIN_FRAME_START}
    20. <table cellspacing="0" class="print" style="width:100%">
    21. <tr><th class="title" colspan="5">
    22. Редактор</th></tr>
    23. <?
    24. echo '<form method="post" action="edition&icq='.$_GET['icq'].'"> 
    25. <tr>
    26. <th class="p">
    27. <div class="label">url:</div>
    28. <input name="url" type="text" value="'.$m['url'].'"/></th>
    29. <tr>
    30. <th class="p">
    31. <div class="label">описание:</div>
    32. <input name="text" type="text" value="'.$m['text'].'"/></th>
    33. <tr>
    34. </table>
    35. <center>
    36. <tr><td class="p">';
    37. echo param_submit('Сохранить',"location.href='".self_url()."'",'Сбросить');
    38. ?>
    39. </center></td></tr>
    40. </center></form>
    41. {SKIN_FRAME_END}
    42. <? } ?>
    на скрине видно
    http://uploads.ru/MCDSv.png
     
  2. ol.vo

    ol.vo Активный пользователь

    С нами с:
    5 авг 2015
    Сообщения:
    47
    Симпатии:
    0
    Я не увидел в вашем коде места, где вы что то присваиваете $m['url'] и $m['text']. А без этого, понятное дело, в полях не будет никаких данных.
     
  3. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    так сделал

    Код (PHP):
    1. If (isset($_GET['edit'])) {
    2. $sql="SELECT url, text FROM tb_ads_100x100 WHERE `id`='".$id."'";  
    3. $query = mysql_query($sql);
    4. while($row=mysql_fetch_array($query)){
    5. $url=$row['url'];
    6. $text=$row['text'];
    7. }
    все равно не пишет ничего

    Добавлено спустя 7 минут 55 секунд:
    так прописал, тож не пашет

    Код (PHP):
    1. If (isset($_GET['edit'])) {
    2. $sql=mysql_query("SELECT url, text FROM tb_ads_100x100 WHERE `id`='".$id."'");  
    3. $text=htmlspecialchars($_POST['text']);
    4. $url=htmlspecialchars($_POST['url']); 
     
  4. ol.vo

    ol.vo Активный пользователь

    С нами с:
    5 авг 2015
    Сообщения:
    47
    Симпатии:
    0
    Так напишите
    Код (PHP):
    1. <input name="url" type="text" value="'.$url.'"/></th> 
    вместо
    Код (PHP):
    1. <input name="url" type="text" value="'.$m['url'].'"/></th> 
     
  5. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    я так пробовал, решил проверить

    Код (PHP):
    1. $text=htmlspecialchars($_POST["text"]);
    2. $url=htmlspecialchars($_POST["url"]);
    3. If (isset($_GET['edit'])) {
    4. $sql="SELECT url, text FROM tb_ads_100x100 WHERE `id`='".$id."'";  
    5. $query=mysql_query($sql);
    6. while($row=mysql_fetch_array($query)){
    7. $url=$row['url']; 
    8. $text=$row['text'];
    9. }
    10.  
    11. ?>
    12. <center>
    13. {SKIN_FRAME_START}
    14. <table cellspacing="0" class="print" style="width:100%">
    15. <tr><th class="title" colspan="5">
    16. Редактор</th></tr>
    17. <?
    18. echo "бла бла бла", $url;
    19. ?>
    20. <?
    21. echo '<form method="post" action="red_ads?edition&id='.$_GET['id'].'"> 
    22. <tr>
    23. <th class="p">
    24. <div class="label">url:</div>
    25. <input name="url" type="text" value="'.$url.'"/></th>
    26. <tr>
    27. <th class="p">
    28. <div class="label">описание:</div>
    29. <input name="text" type="text" value="'.$text.'"/></th>
    30. <tr>
    31. </table>
    32. <center>
    33. <tr><td class="p">';
    34. echo param_submit('Сохранить',"location.href='".self_url()."'",'Сбросить');
    35. ?>
    36. </center></td></tr>
    37. </center></form>
    38. {SKIN_FRAME_END}
    39. <? } ?>
    и записал
    echo "бла бла бла", $url;

    выводится только бла бла бла, а вот переменная не выводится вообще, почему то переменная не передается
     
  6. ol.vo

    ol.vo Активный пользователь

    С нами с:
    5 авг 2015
    Сообщения:
    47
    Симпатии:
    0
    Тут несколько вариантов:
    -В $_POST["url"] пустая строка/не существует, а $_GET['edit'] не существует и код в блоке if не выполняется.
    -В базе данных в поле url пустая строка/NULL.

    Для таких проверок создана функция var_dump()
    var_dump() позволит точно выяснить, какого типа переменная (NULL, string "").
    А E_ALL спасет от обращения к несуществующим переменным.
     
  7. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    -В базе данных в поле url пустая строка/NULL.

    этот вариант точно отпадает, потому что скрипт большой и везде url работает, тока в новом файле не работает
     
  8. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    wolf777, Вт авг 26, 2014 - по моему у вас мозги не работают, за год вы не смогли освоить такие простые вещи?
    Пейте, курите, ману, чтобы извилины расшевелить.
     
  9. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Волчок, у тебя в коде 'косяк на косяке', что говорить уже про
    Код (Text):
    1. if ($result == 'true')
    ;)
     
  10. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    Уважаемые rodent90 и p@R@dox 55RU, если вы такие умные то помогли бы а не трындели тут умники, косяков на косяках как тут умник сказал, у меня нету, и PHP я освоил не хуже вашего!
    __________
    ol.vo проверил я так как вы писали var_dump()

    вот вывод string(22) "http://www.softtime.ru" string(6) "cfgdfg" все выводится нормально, а вот в поля не выводится из за чего так может быть?

    Добавлено спустя 2 минуты 21 секунду:
    все я разобрался, теперь все работает, тему можно закрывать, огромное спасибо ol.vo
    за помощь
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Гордыня и самоуверенность, граничащая с верой в непогрешимость - проводники на пути в никуда. Так, на будущее. Не можешь в принятие критики - общайся сам с собой. Сам сабя нахваливай. Сам себе радуйся. Реальный же мир, увы, работает не так.
     
  12. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    Fell-x27 а вы привыкли на всех гнать) я ж про это молчу)))
    __
    я разве тут кого то оскорблял или гнал на кого то? с чего это вдруг я должен выслушивать критику? я просил помощи, а не чтоб мне высказывали как я программирую, пусть каждый следит за собой и своими действиями!
    ___
    те кто действительно мог мне помочь они помогли, а не гнали что типа вот мы хорошо знаем а ты такой секой ниче не знаешь, потому что видно что эти люди действительно знают язык программирования и не пытаются якать
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    wolf777 это раздел для новичков, тут будут учить и подсказывать как делать удобнее.
     
  14. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    denis01 я понимаю, ну учить это не значит ведь, что будут говорить

    что этому человеку не понравилось? что я результат приравниваю к логики? и что тут такого? если результат равен истинно то работает, иначе ложь.

    а про косяк на косяке заметил он один и все)

    или это

    разве человек который это писал что то знает? помоему этот человек тока привык судить людей и критиковать, а на большее не способен
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  16. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    если запрос верный то выводим то что под условием

    тоже самое просто
    Код (PHP):
    1. if ($result){
    2. бла бла бла
    3. } 
    ___
    или чтоб не верный
    ____
    Код (PHP):
    1. if (!$result) {
    2.     echo "('Неверный запрос: ')";
    3. }
    4.  
    5. if ($result == 'false') {
    6.     echo "('Неверный запрос: ')";
    7. } 
     
  17. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Критика - не попытка оскорбить. Попытка указать на недостатки, чтобы ты мог их исправить. То, что тебя любая критика оскорбляет - сугубо твои проблемы. Твои и твоего самолюбия. Критика - это опора на пути к совершенству, не отталкивай ее и не обижайся, потому что это помощь. А ты, кажется, этого и хотел, нет? Ну-ка:
    Действительно, просил.

    Давай рассмотрим твой пример, что там делается:
    Если планируется, что переменная $result - это булев тип, то у тебя получается следующее:
    1) Берем выражение bool == string;
    2) Производим конвертацию операндов к самому жирному типу, то есть к string, в данном случае;
    3) Получаем выражение string==string;
    4) Посимвольно проверяем равенство двух строк;
    5) Оператор == возвращает bool результат;
    6) Отдаем этот bool результат оператору if;

    Ты видишь, сколько лишнего алгоритмического мусора на пустом месте ты наплодил? Это все равно что взять бочку спирта, хрен знает как пытаться ее продать, а после продажи пойти и пропить деньги.

    А если сделать так: if($result), то у тебя автоматом значение bool сразу передается оператору if. Более того, в таком случае, даже если там не bool, даже если там строка или объект огромный, они автоматом будут приравняны к bool. Конвертация в bool - простейшая из возможных, бесплатная.

    Был бы ты
    , не говорил бы, что
    , и не обижался.