PHP: <?php function ProductEdit(){ if (isset($_REQUEST['submit'])) { $pro_model = $_REQUEST['pmodel']; mysql_query("UPDATE ".TABLE_PRODUCTS." SET products_model='$pro_model' WHERE products_id='$p_id'"); echo " <script> // закрытие окна и возврат на обновленную страницу opener.location.reload(); window.close(); </script> "; } $p_id=$_REQUEST['model']; $sql ="SELECT * FROM ".TABLE_PRODUCTS." WHERE products_id='$p_id'"; // выборка из таблицы моделей $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { $prmodel=$row['products_model']; } $display=" <form action=\"\" method=\"post\"> Модель <input type=\"text\" value=\"$prmodel\" name=\"pmodel\"> <input type=\"submit\" name=\"submit\" value=\"Изменить\"> </form> "; return $display; } Айди берется из ссылки $p_id=$_REQUEST['model']; В инпуте отображает всё нормально, но при изменении текста в инпуте не обновляет данные в базе Где ошибка?
мне говорили что обработка должна идти первой и что она берет переменные не важно с какой строки функции! Или последовательность должна всё-таки соблюдаться? Затестил! Вытянул $p_id=$_REQUEST['model']; до обработки процесс пошел на ура
dolben сначала надо определить переменную, только потом использовать и еше переменные перед вставкой в бд надо обрабатывать http://php.net/manual/en/function.mysql ... string.html иначе скрипт дырявый и юзать не $_REQUEST а $_GET или $_POST в зависимости от метода в форме а данные из бд перед выводом на страницу обрабатывать http://php.net/manual/en/function.htmlspecialchars.html если вам теги чужие не нужны на странице
Прочитал в одном из мануалов: Реквест это новый метод который обьединяет и гет и пост Лично сам не совсем еще знаток, чтобы опровергать, но если возможно хотел бы детально почему? просто юзать реквест удобнее, поэтому хочу узнать почему низзя
потому что там помойка из $_GET, $_POST и $_COOKIE теоретически могут совпасть данные в нем, может каша получиться если у вас в $_GET есть ['name'] и в $_COOKIE тоже есть, и вы обращаетесь за переменной $_REQUEST['name'] хз правда что получится
Ensiferum http://www.php.ru/forum/viewtopic.php?p ... ht=#184180 D я просто не забываю с чем пришел сюда и как терпеливо мне отчали
означает двойную кавычку в строке, заключенной в двойные кавычки http://www.php.net/manual/en/language.t ... tax.double
http://php.su/learnphp/datatypes/?string Сложно будет без английского то... там пример только с одинарными, но сути не меняет.
Начал переделывать везде и вот вопрос: PHP: if (isset($_REQUEST['modeloutput'])) { // обработка изменения статуса модели $products_id=$_GET['modeloutput']; $active=$_GET['active']; mysql_query("UPDATE ".TABLE_PRODUCTS." SET products_status = '$active' WHERE products_id = '$products_id'"); echo" <script> // обновление индекса opener.location.reload(); </script> "; } и к этой обработке инпут PHP: <input type="button" name="modeloutput" value="$checked" class="week_data"onclick="location.href='products_attributes.php?view=catalog&modeloutput=$pid&active=$set'"> ставлю пост в первом случае не работает. Как правильно?
можно посмотреть, что в массивах и как принимать переменные PHP: <?php header("Content-Type: text/plain"); print_r($_GET); print_r($_POST); ?> вообще если работает лучше не трогать, просто в следующий раз учесть
попробовал поменять input name PHP: if (isset($_REQUEST['modeloutpu'])) PHP: <input type=\"button\" name=\"modeloutpu\" думал что обработка от name зависит. Перестало работать. Понял что обработка берет из ссылки данные