[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите найти ошибку + вопрос
Taha
Делаю админку впервый раз, вот разбиралась разбиралась... вытащить получилось, а вот редактироваться информация в базе не хочет помему то sad.gif помогите найти ошибку пожалуйста

И вопрос - может кто знает как сделать чтоб после редактирования появлялась надпись "Информация отредактирована!!!"

вот код:
<? 
include '../blocks/db.php';

$result = mysql_query("SELECT * FROM `index_company` WHERE `page` = 'index'", $link);

while($row = mysql_fetch_array($result))
{
$text=$row['text'];
}
if($save)
$result =mysql_query ("UPDATE `index_company` SET text = '$text' WHERE `page` = 'index'");
?>
<form name="form1" method="post" action="edit_index.php">

<
textarea name="text" cols="70" rows="10" id="text"><? print $text; ?></textarea>
<
br>
<
br>
<
input type="submit" name="save_index" id="save_index" value="сохранить изменения ">
<
br>
</
form>




Спустя 11 минут, 25 секунд (15.03.2010 - 11:54) phz написал(а):
Поставте вместо $text - ".$_POST['text'].". Вы же постом отправляете данные $_POST

$result = mysql_query ("UPDATE `index_company` SET text = '".$_POST['text']."' WHERE `page` = 'index'");


И не забывайте про безопастность:

`text` = '".mysql_real_escape_string($_POST['text'])."'


Безопасность http://phpforum.ru/index.php?showtopic=21213

Спустя 14 минут, 42 секунды (15.03.2010 - 12:08) phz написал(а):
И еще, отключите:


magic_quotes_gps off
register_globals off


При включенной директиве конфигурации magic_quotes_gpc PHP автоматически добавляет слеши к строковым значениям в массиве $GLOBALS (это относится не только к данным в $_POST, $_GET, $_COOKIE, $_REQUEST, но и к данным в $_SERVER, $_FILES, $_ENV, $_SESSION). В добавок, при включенной директиве magic_quotes_runtime, слеши добавляются к данным полученым во время работы скрипта (например, из файла, базы данных). И как показывает практика, зачастую, эта магия оказывается "медвежьей" услугой. Проще всего, конечно, отключить директивы в php.ini или через .htaccess, прописав php_flag magic_quotes_gpc 0 и php_flag magic_quotes_runtime 0, однако если нужно создать приложение, которое независит от настроек PHP, тогда нужно выполнить ряд антимагических действий вручную. С magic_quotes_runtime все просто, для его отключения в начале скрипта прописываем set_magic_quotes_runtime(0); и все, а для magic_quotes_gpc нужны заклинания более суровые: нужно проверить состояние директивы magic_quotes_gpc и если она включена, пробежаться по глобальным массивам и сделать stripslashes, например так как показано ниже.

Если отключите magic_quotes_gps в php.ini, тогда в начале к примеру файла или конфига напишите код:


if ( get_magic_quotes_gpc() )
{
function stripslashes_deep($value)
{
if( is_array($value) )
{
$value = array_map('stripslashes_deep', $value);
}
elseif ( !empty($value) && is_string($value) )
{
$value = stripslashes($value);
}
return $value;
}
$_GET = stripslashes_deep($_GET);
$_POST = stripslashes_deep($_POST);
$_COOKIE = stripslashes_deep($_COOKIE);
$_REQUEST = stripslashes_deep($_REQUEST);
$_SESSION = stripslashes_array($_SESSION);
$_SERVER = stripslashes_deep($_SERVER);
$_FILES = stripslashes_deep($_FILES);
$_ENV = stripslashes_deep($_ENV);
}


Вы наверно с какой-то книжки делайте админку...

<?php

include '../blocks/db.php';

$result = mysql_query("SELECT `text` FROM `index_company` WHERE `page` = 'index'", $link);
$row = mysql_fetch_array($result);


if(isset($_POST['save_index']) && $_POST['text'] != "")
{
$result = mysql_query ("UPDATE `index_company` SET `text` = '".mysql_real_escape_string($_POST['text'])."' WHERE `page` = 'index'") or die(mysql_error());
}
?>

<form name="form1" method="post" action="edit_index.php">

<
textarea name="text" cols="70" rows="10" id="text"><?php print $_POST['text']; ?></textarea>
<
br/>
<
br/>
<
input type="submit" name="save_index" id="save_index" value="сохранить изменения ">
<
br/>

</
form>

Спустя 9 минут, 34 секунды (15.03.2010 - 12:18) Taha написал(а):
Спасибо БОЛЬШОЕ!!! Работает biggrin.gif

Была бы книжка может проще было ))))) разбираюсь по найденному из интернета, поэтому частенько задаю вопросы знающим людям smile.gif

Спустя 2 минуты, 15 секунд (15.03.2010 - 12:20) phz написал(а):
Если в двух словах то эти параметры лучше отключить для безопастности если они включены.

Вот к примеру первая статья в гугле http://joomlaforum.ru/index.php/topic,3298.0.html почитайте на досуге. Будут вопросы - пишите.

Спустя 1 минута, 7 секунд (15.03.2010 - 12:21) Taha написал(а):
Оке... ща поразбираюсь )))))) спасибо!!!!!!

Спустя 17 минут, 4 секунды (15.03.2010 - 12:38) Taha написал(а):
А не подскажете занющий человек как сделать чтоб сообщение выводило что "изменения сохранены" вместо поля с текстом smile.gif

Спустя 10 минут, 40 секунд (15.03.2010 - 12:49) phz написал(а):
Можно поставить переадресацию на другую страницу после того как удачно сохранится:

if(isset($_POST['save_index']) && $_POST['text'] != "")
{
$result = mysql_query ("UPDATE `index_company` SET `text` = '".mysql_real_escape_string($_POST['text'])."' WHERE `page` = 'index'") or die(mysql_error());

header("Location:http://phpforum.ru/");

}


Если будет якась ошибка то
or die(mysql_error());
выведет ошибку и не переадресует...

Спустя 2 минуты, 18 секунд (15.03.2010 - 12:51) phz написал(а):
Если будет ошибка от
 header("Location:http://phpforum.ru/");
Cannot modify header.. то читай тут http://phpforum.ru/index.php?showtopic=17590 всё решается

Спустя 8 часов, 11 минут, 6 секунд (15.03.2010 - 21:02) inpost написал(а):
if ($result == 'true') {echo "<p>Ваш Баннер успешно добавлен!</p>";}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.