написал такой скриптик редактирования строк в бд, подскажите почему данные text и url не видны в строках? Код (PHP): // если запрос if(isset($_GET['edition'])){ $url=htmlspecialchars($_POST['url']); $text=htmlspecialchars($_POST['text']); $result = mysql_query("UPDATE tb_ads_100x100 SET `url`='$url', `text` = '$text', WHERE `id`='".$_GET['icq']."'"); if ($result == 'true'){ echo skin_redir_msg(self_url(''),'успешно изменено'); }else{ echo skin_redir_msg(self_url(''),'Ошибка редактирования!!!'); } } If (isset($_GET['edit'])) { $sql=mysql_query("SELECT url, text FROM tb_ads_100x100 WHERE `id`='".$id."'"); ?> <center> {SKIN_FRAME_START} <table cellspacing="0" class="print" style="width:100%"> <tr><th class="title" colspan="5"> Редактор</th></tr> <? echo '<form method="post" action="edition&icq='.$_GET['icq'].'"> <tr> <th class="p"> <div class="label">url:</div> <input name="url" type="text" value="'.$m['url'].'"/></th> <tr> <th class="p"> <div class="label">описание:</div> <input name="text" type="text" value="'.$m['text'].'"/></th> <tr> </table> <center> <tr><td class="p">'; echo param_submit('Сохранить',"location.href='".self_url()."'",'Сбросить'); ?> </center></td></tr> </center></form> {SKIN_FRAME_END} <? } ?> на скрине видно http://uploads.ru/MCDSv.png
Я не увидел в вашем коде места, где вы что то присваиваете $m['url'] и $m['text']. А без этого, понятное дело, в полях не будет никаких данных.
так сделал Код (PHP): If (isset($_GET['edit'])) { $sql="SELECT url, text FROM tb_ads_100x100 WHERE `id`='".$id."'"; $query = mysql_query($sql); while($row=mysql_fetch_array($query)){ $url=$row['url']; $text=$row['text']; } все равно не пишет ничего Добавлено спустя 7 минут 55 секунд: так прописал, тож не пашет Код (PHP): If (isset($_GET['edit'])) { $sql=mysql_query("SELECT url, text FROM tb_ads_100x100 WHERE `id`='".$id."'"); $text=htmlspecialchars($_POST['text']); $url=htmlspecialchars($_POST['url']);
Так напишите Код (PHP): <input name="url" type="text" value="'.$url.'"/></th> вместо Код (PHP): <input name="url" type="text" value="'.$m['url'].'"/></th>
я так пробовал, решил проверить Код (PHP): $text=htmlspecialchars($_POST["text"]); $url=htmlspecialchars($_POST["url"]); If (isset($_GET['edit'])) { $sql="SELECT url, text FROM tb_ads_100x100 WHERE `id`='".$id."'"; $query=mysql_query($sql); while($row=mysql_fetch_array($query)){ $url=$row['url']; $text=$row['text']; } ?> <center> {SKIN_FRAME_START} <table cellspacing="0" class="print" style="width:100%"> <tr><th class="title" colspan="5"> Редактор</th></tr> <? echo "бла бла бла", $url; ?> <? echo '<form method="post" action="red_ads?edition&id='.$_GET['id'].'"> <tr> <th class="p"> <div class="label">url:</div> <input name="url" type="text" value="'.$url.'"/></th> <tr> <th class="p"> <div class="label">описание:</div> <input name="text" type="text" value="'.$text.'"/></th> <tr> </table> <center> <tr><td class="p">'; echo param_submit('Сохранить',"location.href='".self_url()."'",'Сбросить'); ?> </center></td></tr> </center></form> {SKIN_FRAME_END} <? } ?> и записал echo "бла бла бла", $url; выводится только бла бла бла, а вот переменная не выводится вообще, почему то переменная не передается
Тут несколько вариантов: -В $_POST["url"] пустая строка/не существует, а $_GET['edit'] не существует и код в блоке if не выполняется. -В базе данных в поле url пустая строка/NULL. Для таких проверок создана функция var_dump() var_dump() позволит точно выяснить, какого типа переменная (NULL, string ""). А E_ALL спасет от обращения к несуществующим переменным.
-В базе данных в поле url пустая строка/NULL. этот вариант точно отпадает, потому что скрипт большой и везде url работает, тока в новом файле не работает
wolf777, Вт авг 26, 2014 - по моему у вас мозги не работают, за год вы не смогли освоить такие простые вещи? Пейте, курите, ману, чтобы извилины расшевелить.
Уважаемые rodent90 и p@R@dox 55RU, если вы такие умные то помогли бы а не трындели тут умники, косяков на косяках как тут умник сказал, у меня нету, и PHP я освоил не хуже вашего! __________ ol.vo проверил я так как вы писали var_dump() вот вывод string(22) "http://www.softtime.ru" string(6) "cfgdfg" все выводится нормально, а вот в поля не выводится из за чего так может быть? Добавлено спустя 2 минуты 21 секунду: все я разобрался, теперь все работает, тему можно закрывать, огромное спасибо ol.vo за помощь
Гордыня и самоуверенность, граничащая с верой в непогрешимость - проводники на пути в никуда. Так, на будущее. Не можешь в принятие критики - общайся сам с собой. Сам сабя нахваливай. Сам себе радуйся. Реальный же мир, увы, работает не так.
Fell-x27 а вы привыкли на всех гнать) я ж про это молчу))) __ я разве тут кого то оскорблял или гнал на кого то? с чего это вдруг я должен выслушивать критику? я просил помощи, а не чтоб мне высказывали как я программирую, пусть каждый следит за собой и своими действиями! ___ те кто действительно мог мне помочь они помогли, а не гнали что типа вот мы хорошо знаем а ты такой секой ниче не знаешь, потому что видно что эти люди действительно знают язык программирования и не пытаются якать
denis01 я понимаю, ну учить это не значит ведь, что будут говорить что этому человеку не понравилось? что я результат приравниваю к логики? и что тут такого? если результат равен истинно то работает, иначе ложь. а про косяк на косяке заметил он один и все) или это разве человек который это писал что то знает? помоему этот человек тока привык судить людей и критиковать, а на большее не способен
wolf777 это путает, посмотри документацию https://secure.php.net/manual/ru/function.mysql-query.php#r ... y-examples так понятнее if ($result) { Ты знаешь что тут происходит $result == 'true' ? Попробуй описать.
если запрос верный то выводим то что под условием тоже самое просто Код (PHP): if ($result){ бла бла бла } ___ или чтоб не верный ____ Код (PHP): if (!$result) { echo "('Неверный запрос: ')"; } if ($result == 'false') { echo "('Неверный запрос: ')"; }
Критика - не попытка оскорбить. Попытка указать на недостатки, чтобы ты мог их исправить. То, что тебя любая критика оскорбляет - сугубо твои проблемы. Твои и твоего самолюбия. Критика - это опора на пути к совершенству, не отталкивай ее и не обижайся, потому что это помощь. А ты, кажется, этого и хотел, нет? Ну-ка: Действительно, просил. Давай рассмотрим твой пример, что там делается: Если планируется, что переменная $result - это булев тип, то у тебя получается следующее: 1) Берем выражение bool == string; 2) Производим конвертацию операндов к самому жирному типу, то есть к string, в данном случае; 3) Получаем выражение string==string; 4) Посимвольно проверяем равенство двух строк; 5) Оператор == возвращает bool результат; 6) Отдаем этот bool результат оператору if; Ты видишь, сколько лишнего алгоритмического мусора на пустом месте ты наплодил? Это все равно что взять бочку спирта, хрен знает как пытаться ее продать, а после продажи пойти и пропить деньги. А если сделать так: if($result), то у тебя автоматом значение bool сразу передается оператору if. Более того, в таком случае, даже если там не bool, даже если там строка или объект огромный, они автоматом будут приравняны к bool. Конвертация в bool - простейшая из возможных, бесплатная. Был бы ты , не говорил бы, что , и не обижался.