это то понятное дело. У меня вопрос немного другого плана был) Смари. Предположим я на странице админа. Мне нужно занести в БД код формы, чтобы она потом обображалась на сайте. Код формы предположим такой: А заносить я код этой формы буду тоже через форму естественно и после нажатия кнопки "отправить" код введённой формы отправляется в БД. А выводить форму на сайте я буду при помощи echo"$q[forma]"; Дык если код в БД будет храниться в таком виде в котором я его занёс (см.выше), то интерпритатор выведет ошибку, т.к. там будет путаница с кавычками, а для формы мне нужно использовать двойные кавычки)) Дык вот из всего этого хотел узнать...1) как мне при занесении кода формы в БД экранировать все кавычки, чтобы не делать это вручную. и 2) Если кавычки не экранировать, то функция mysql_fetch_array() всё таки автоматически их будет экранировать или это было из-за пхп-му-админа? Бля, я по ходу сам запутался чего я хочу=// Короче если кто понял мои бредни, то буду очень благодарен если подскажете))
.:EnoT:., чё ты щас сказал - ХЗ! mysql_fetch_array() ничё не экранирует, оно выводит В общем вот... PHP: <? $form = '<form action="lala.php" method="POST"> <input type="text" name="lala"> <input type="submit"></form>'; $form = mysql_real_escape_string($form); mysql_query("INSERT INTO lala VALUES('$form')"); ?> Так-то понятно?
Ponchik Во-во, как раз насчёт mysql_real_escape_string() как раз и спрашивал, её ли использовать)) Спасибо
есть вывод массива из таблицы, вывод текста, возле каждого выведенного текста я влепил чекбокс, думал все просто, а тут оказалась проблема, мне нужно чтобы где я поставил галочки, при нажатии, выделенный текст удалялся, а как это сообразить?=) тоесть как при нажатии чекбокса посылать данные для удаления? хз че непонятно написал скажите))
что показать? вот вывод на экран: PHP: echo "".$row['name']." - от: ".$row['login']."<br> <input type=checkbox name='delletter' value=''>удалить <br>".$row['content']."\n"; как сделать чтобы скрипт при нажатии чекбокса знал, что именно это нужно удалить из бд?
смотри, как вариант. вкратце: передаем чекбоксы массивом. поэкспериментируй, разберешься. PHP: <?php if (isset($_POST['arr'])) { foreach($_POST['arr'] as $key => $value) { print $key."=".$value." ; "; } } ?> <br/><br/><form method='post'> 1: <input type='checkbox' name='arr[]' value='1' /><br/> 2: <input type='checkbox' name='arr[]' value='2' /><br/> 3: <input type='checkbox' name='arr[]' value='3' /><br/> 4: <input type='checkbox' name='arr[]' value='4' /><br/> $: <input type='submit' name='submit' value='#' /> </form> внутри foreach добавляешь проверку на всякий случай и все.
Хм, я бы я предложил такой вариант. Выводить рядом с каждым юзером ссылочку "удалить" PHP: while($row = mysql_fetch_array($result)) { echo "".$row['name']." - от: ".$row['login']."<br> <br>".$row['content']."\n <a href=\"?del=$row[id]\">Удалить</a> "; } if(isset($_GET['del'])) { $id = intval($_GET['del']); $query = "DELETE FROM `table` WHERE id = '$id'"; $result = mysql_query($query); if(!$result) {echo"Ошибка удаления";} else {echo"Успешно удалено";} }
ПОдправил код, ато больно смотреть PHP: echo "{$row['name']} - от: {$row['login']}<br> <input type=checkbox name=\"delletter[{$row['id']}]\" value=\"1\">удалить <br>{$row['content']}\n"; В итоге мы получим массив $_POST['delletter'] в котором ключи будут ID отмеченых сообщений
мой совет если хочешь чтобы код был нормальным никогда не пиши переменные внутри строки PHP: echo $row['name']." - от: ".$row['login']."<br> <input type=checkbox name=\"delletter[".$row['id']."]\" value=\"1\">удалить <br>".$row['content']."\n";
I-I()/Ib, на вкус и на цвет товариа нет! И ваще, я ступил, а ты хуле тупиш за мной... Нахера ключи делать IDшниками если можно массив идишников создать PHP: echo "{$row['name']} - от: {$row['login']}<br> <input type=checkbox name=\"delletter[]\" value=\"{$row['id']}\">удалить <br>{$row['content']}\n"; ВОт... print_r($_POST['delletter']); А чё я тогда про ключи написал, сам незнаю... Давно просто чекбоксами не занимался
не во вкусе и не в зенеде дело, ступил я только в том что забыл поменять двойные кавычки на одинарные, вынеся переменные из строк, как хотел сначала сделать. Дело в том что это обрабатывается гораздо быстрее...
а скажите зачем проверять строку на хтмл тэги если до этого она проверялась регулярным?может и так сойдёт?
Demetra, смотря каким регулярным она проверялась... Лучше два раза проверить, чем потом огребать проблемы от своей собственной беспечности...
А что значит "проверять на хтмл теги". Если ты имеешь ввиду именно проверять, то это тоже регулярные выражения. Наверно ты имела ввиду фильтровать(htmlspecialchars)) Лишняя фильтрация и проверка никогда не помешает, всё таки безопасность должна быть на первом месте)
Может быть....но уже в сотый раз замечаю что многие фильтрацию называют проверкой) Кстати всё давно хотел спросить. На всех сайтах с авторизацией под формой входа есть галочка "Запомнить". Так вот мне до сих пор не понятен смысл этой кнопки... Браузер - хм, браузер и так выдаст запрос за сохранение пароля и он будет автоматически появляться в форме каждый раз... Двиг - а как собственно двиг будет запоминать юзера? он либо авторизовал либо нет. Так что запоминать то тут собственно нечего. А запоминание в виде кукисов это и так понятно, куки есть, юзеру не надо авторизовываться, куков нету входи заново.... В чём смысл этой галки? О_о
.:EnoT:., фраза "Браузер - хм, браузер и так выдаст запрос за сохранение пароля" убила Если так будеш сохранять, злобный хацкер сломает твой комп и уведёт все твои пароли! Сохраняют пароли на компе токо ламаки ИМХО! А кнопочка полезная... Есть разные способы как её сделать, например если на неё не нажать, создасться сессия, после закрытия браузреа она удалится, и надо будет логиниться заново, если тыкнуть на кнопку, инфа твоя запишется в куки и сессия будет автоматом создаваться каждый раз как заходиш... Забей в общем
можешь называть меня кем хочешь, но я сохраняю пароли в браузере, потому что я уверен в себе. Не все пароли конечно, например от хостинга и панели управления доменом у меня на дискете. А злобный хацкер пусть сколько угодно ломает. Я тебе больше скажу, у меня не разу не стоял файрвол, только антивирус. И за два года ни одного вируса/троя, прост уметь надо ....качаю я все программы с офф сайтов, не хожу по всяким ссылкам, не с кем в инете не ссорюсь, не понтуюсь, не выёбываюсь.....кому я нужен)) З.Ы. с кнопочкой примерно стало понятно...короче это фигня полная имхо
.:EnoT:. если не ставить галку запомнить то должна быть создана сессия котороая уничтожается после закрытия браузера(мож коряво написал более правильно тебе гугл скажет), а если запомнить то уже в куках будет долгосрочный идентификатор пользователя, позволяющий ему каждый раз не авторизироваться. Предложение браузера сохранить пароль здесь вообще нипричём.