Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: редактирование записи из mysql через php
 
 автор: TavRoX   (23.08.2010 в 03:21)   письмо автору
 
 

друзья такой вопросец.
есть таблица в базе данных там поля id(ai PK) title meta_k meta_d img text
как редактировать через файл на сайте ети записи
к примеру выводит весь список записей, выбераеш любую вносиш изменения в ней жмеш редактировать и она меняет в таблице
уже час сижу и чет невыходит у меня код такой запутаный вышел удалил нафиг.
нашел я кодец один но чет он тоже не редактирует
5 полей id int title varchar meta_k varchar meta_d varchar img text
<? 

/* Соединяемся с базой данных */ 
$hostname "localhost"// название/путь сервера, с MySQL 
$username "юзер"// имя пользователя (в Denwer`е по умолчанию "root") 
$password "пароль"// пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым) 
$dbName "база"// название базы данных 

/* Таблица MySQL, в которой хранятся данные */ 
$table "photo2"

/* Создаем соединение */ 
mysql_connect($hostname$username$password) or die ("Не могу создать соединение"); 

/* Выбираем базу данных. Если произойдет ошибка - вывести ее */ 
mysql_select_db($dbName) or die (mysql_error()); 

/* Если была нажата кнопка редактирования, вносим изменения */ 
if(@$submit_edit) { 
$query "UPDATE $table SET title='$title',meta_d='$meta_d',meta_k='$meta_k',img='$img' WHERE id='$update'"
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */ 
mysql_query($query) or die (mysql_error()); 


/* Заносим в переменную $res всю базу данных */ 
$query "SELECT * FROM $table"
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */ 
$res mysql_query($query) or die(mysql_error()); 
/* Узнаем количество записей в базе данных */ 
$row mysql_num_rows($res); 

/* Выводим данные из таблицы */ 
echo (
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> 
<html xmlns=\"http://www.w3.org/1999/xhtml\"> 

<head> 

    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" /> 

    <title>Редактирование и обновление данных</title> 

<style type=\"text/css\"> 
<!-- 
body { font: 12px Georgia; color: #666; } 
h3 { font-size: 16px; text-align: center; } 
table { width: 400px; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; } 
td { padding: 3px; vertical-align: middle; } 
input { width: 250px; border: solid 1px #CCC; color: #FF6666; } 
textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; } 
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; } 
#num { width: 20px; text-align: right; margin-right: 5px; float: right; } 
--> 
</style> 

</head> 

<body> 

<h3>Редактирование и обновление данных в таблице MySQL</h3> 
"
); 

/* Цикл вывода данных из базы конкретных полей */ 
while ($row mysql_fetch_array($res)) { 
    echo 
"<form action=\"edit_photo.php\" method=\"post\" name=\"edit_form\">\n"
    echo 
"<input type=\"hidden\" name=\"update\" value=\"".$row["id"]."\" />\n"
    echo 
"<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n"
    echo 
"<tr>\n"
    echo 
"<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div id=\"num\">#".$row["id"]."</div></b></i></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td>Title:</td><td><input type=\"text\" value=\"".$row['title']."\" name=\"title\" /></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td>Meta d:</td><td><input type=\"text\" value=\"".$row['meta_d']."\" name=\"meta_d\" /></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td>Meta k:</td><td><input type=\"text\" value=\"".$row['meta_k']."\" name=\"meta_k\" /></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td>Img:</td><td><textarea name=\"img\">".$row['img']."</textarea></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></td>\n"
    echo 
"</tr></table></form>\n\n"


/* Закрываем соединение */ 
mysql_close(); 

/* Выводим ссылку возврата */ 
echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.php\">Вернуться назад</a></div>"); 

?>

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 15:51)   письмо автору
 
   для: TavRoX   (23.08.2010 в 03:21)
 

не кто не знает?

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 16:12)   письмо автору
 
   для: TavRoX   (23.08.2010 в 03:21)
 

начните с того, что исправте <? на <?php , это избавит Вас от некоторых неудобств в дальнейшем и выставьте уровень ошибок E_ALL, что бы Вам показывало всё, и ошибки и предупреждения.
Зачем Вы выводите основной html через echo ?
уберите из цикла while тег form и table, а выводите в цикле только текстовые поля и строки таблицы. Если Вы так оставите, то при каждой итерации цикла Вам будет создавать новую форму и таблицу
Не надо в цикле while использовать столько echo, достаточно будет одной echo.

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 16:14)   письмо автору
 
   для: TavRoX   (23.08.2010 в 03:21)
 

Когда выставите уровень ошибок, посмотрите, что Вам ответит php
параметры для соединения с БД у Вас применяются такие как Вы указали?
уберите подавление ошибок "@" это ни к чему хорошему не приведёт.
отключите register_globals и получайте данные для запроса к базе из массива $_POST.
посмотрите в руководстве по php в чём разница между '$variable' и "$variable", я имею ввиду апострофы и кавычки.

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 17:22)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 16:14)
 

вот кое что изменил но не работает все рано.
в данных подключения это я заменил свои пароль и бд
<?php 

/* Соединяемся с базой данных */ 
$hostname "localhost"// название/путь сервера, с MySQL 
$username "liverp_uzh"// имя пользователя (в Denwer`е по умолчанию "root") 
$password "cth2101utq90"// пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым) 
$dbName "liverp_uzh"// название базы данных 

/* Таблица MySQL, в которой хранятся данные */ 
$table "photo2"

/* Создаем соединение */ 
mysql_connect($hostname$username$password) or die ("Не могу создать соединение"); 

/* Выбираем базу данных. Если произойдет ошибка - вывести ее */ 
mysql_select_db($dbName) or die (mysql_error()); 

/* Если была нажата кнопка редактирования, вносим изменения */ 
if($submit_edit) { 
$query "UPDATE $table SET title='$title',meta_d='$meta_d',meta_k='$meta_k',img='$img' WHERE id='$update'"
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */ 
mysql_query($query) or die (mysql_error()); 


/* Заносим в переменную $res всю базу данных */ 
$query "SELECT * FROM $table"
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */ 
$res mysql_query($query) or die(mysql_error()); 
/* Узнаем количество записей в базе данных */ 
$row mysql_num_rows($res); 

/* Выводим данные из таблицы */ 
echo (
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> 
<html xmlns='http://www.w3.org/1999/xhtml'> 

<head> 

    <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> 

    <title>Редактирование и обновление данных</title> 

<style type='text/css'> 
<!-- 
body { font: 12px Georgia; color: #666; } 
h3 { font-size: 16px; text-align: center; } 
table { width: 400px; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; } 
td { padding: 3px; vertical-align: middle; } 
input { width: 250px; border: solid 1px #CCC; color: #FF6666; } 
textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; } 
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; } 
#num { width: 20px; text-align: right; margin-right: 5px; float: right; } 
--> 
</style> 

</head> 

<body> 

<h3>Редактирование и обновление данных в таблице MySQL</h3> 
"
); 

/* Цикл вывода данных из базы конкретных полей */ 
while ($row mysql_fetch_array($res)) { 
    echo 
"<form action='edit_photo.php' method='post' name='edit_form'>\n"
    echo 
"<input type='hidden' name='update' value='".$row["id"]."' />\n"
    echo 
"<table border='1' cellpadding='0' cellspacing='0'>\n"
    echo 
"<tr>\n"
    echo 
"<td colspan='2' style='border-bottom:solid 1px #CCCCCC;'><b><i><div id='num'>#".$row["id"]."</div></b></i></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td>Title:</td><td><input type='text' value='".$row['title']."' name='title' /></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td>Meta d:</td><td><input type='text' value='".$row['meta_d']."' name='meta_d' /></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td>Meta k:</td><td><input type='text' value='".$row['meta_k']."' name='meta_k' /></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td>Img:</td><td><textarea name='img'>".$row['img']."</textarea></td>\n"
    echo 
"</tr><tr>\n"
    echo 
"<td colspan='2' align='center'><input type='submit' name='submit_edit' class='buttons' value='Сохранить изменения' /></td>\n"
    echo 
"</tr></table></form>\n\n"


/* Закрываем соединение */ 
mysql_close(); 

/* Выводим ссылку возврата */ 
echo ("<div style='text-align: center; margin-top: 10px;'><a href='index.php'>Вернуться назад</a></div>"); 

?>

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 17:40)   письмо автору
 
   для: TavRoX   (23.08.2010 в 17:22)
 

надо не кое что изменить, а всё, о чём я написал, и возможно ещё кучу всего прийдётся менять в процессе отладки этого скрипта....
Вы НЕ сделали :
1) уровень ошибок, должна быть самая первая строка в любом скрипте в процессе написания и отладки, это строка error_reporting(E_ALL);
2) зачем Вы так пишите echo ("
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>...
? перед html закрываете теги php, пишите свой html, потом открываете снова php и пишите код php
3) Вы не убрали из цикла while теги form и table. загрузите страницу в браузер и посмотрите через исходный код документа сколько у Вас будет форм и таблиц!!! они совершенно не нужны в таком кол-ве.
А самое главное, сделайте то, что я написал в пункте 1. Как только Вы это сделаете, возможно у Вас отпадёт много вопросов и Вы поймёте, почему у Вас не работает скрипт

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 17:56)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 17:40)
 

добавил то что в первом пункте
убрал то что описано во втором пункте
кроме табилц и форум там какбы идет вывод всех полностью полей и снизу каждого выводится сохранить изменение

обновил но ошибку так и не выводит

может быть у вас есть какойнибудь код редактирования mysql таблиц ?
чтобы просто напросто не придумывали велосипед

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 18:02)   письмо автору
 
   для: TavRoX   (23.08.2010 в 17:56)
 

вот есть код, который Вам надо довести до ума...
сделайте для начала умышленную ошибку и посмотрите, выведет ли в браузер ошибку или нет
проверте, включен у Вас register_globals или нет.

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 18:08)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 18:02)
 

я извеняюсь как ет опроверить?
я про последнюю строчку

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 18:11)   письмо автору
 
   для: TavRoX   (23.08.2010 в 18:08)
 

убрал двойную кавычку в месте где выводит значение поля после переменно выбило ошибку
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'
    echo "<td>Meta k:</td><td><input type='text' value='".$row['meta_k'].' name='meta_k' /></td>\n"; 

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 18:15)   письмо автору
 
   для: TavRoX   (23.08.2010 в 18:08)
 

создаёте файл, называете его, например, test.php и в этом файле пишите

<?php 
phpinfo
();
?>

файл разместить с файлом, который Вы показали здесь
появится большая таблица, в этой таблице ищите
register_globals - должно быть off,
magic_quotes_gpc - должно быть off,
display_errors - должно быть on

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 18:38)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 18:15)
 

magic_quotes_gpc он
display_errors - STDOUT


самое важное что остальные таблицы я редактировать могу правда другими методами но те методы по урокам Попова.
а щас хочу сделать по нормальному
но за методом попова таблица та не редактируется

  Ответить  
 
 автор: lElectroHardl   (23.08.2010 в 19:22)   письмо автору
 
   для: TavRoX   (23.08.2010 в 18:38)
 

Причем тут Попов?
Вам на блюдце преподносят готовые, пережеванные решения. Вам остается только внедрить эти решения в ваш код и все! А вы начинаете спихивать ваше нежелание прислушаться к дельным советам на Попова.

Может конечно я и не прав, но со стороны это выглядит так.

По вопросу:
в php.ini пишите:
magic_quotes_gpc Off

или в .htaccess:
php_flag magic_quotes_gpc Off

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 19:37)   письмо автору
 
   для: TavRoX   (23.08.2010 в 18:38)
 

register_globals какое значени?
если off, то Вам должно выдать предупреждение, что есть не определённые переменые.
сформировав запрос вывидите его в браузер echo $query;, этим Вы сможете проконтролировать, какие данные попали в запрос.

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 19:56)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 19:37)
 

когда я прописал в htaccess ту строку мне вібило ошибку

register_globals off
nternal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request. и т.д.

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 20:07)   письмо автору
 
   для: TavRoX   (23.08.2010 в 19:56)
 

если Вы прописали так, как прописали, то естественно выдаст ошибку.
надо написать :
php_flag register_globals off
в зависимости от того, какое значение Вы пытаетесь изменить через .htaccess можно писать php_flag или php_value

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 20:12)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 20:07)
 

давайте наверно лучше подключу файл php_ini
только как его правильно наполнить?

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 20:21)   письмо автору
 
   для: TavRoX   (23.08.2010 в 20:12)
 

а чем Вас не устраивает .htaccess?

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 20:23)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 20:21)
 

мой файл htaccess


<Files 403.shtml>
order allow,deny
allow from all
</Files>

deny from ip
deny from ip
deny from ip

zamist ip айпишники какието

как мне в нем добавить те строки

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 20:36)   письмо автору
 
   для: TavRoX   (23.08.2010 в 20:23)
 

А как Вы это делели?

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 20:39)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 20:36)
 

прото вконце дописал то что вы мне сказали написать

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 20:43)   письмо автору
 
   для: TavRoX   (23.08.2010 в 20:39)
 

и что, выдаёт ошибку?

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 20:44)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 20:43)
 

да

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 20:51)   письмо автору
 
   для: TavRoX   (23.08.2010 в 20:44)
 

до этого работа файла .htaccess не вызывало ошибки?
как Вы вписали, показывайте, а то такое общение больше похоже на общение в аське, давайте не будем раздувать кол-во сообщений в теме.
повторю, в файле .htaccess надо отключить register_globals, magic_quotes_gpc и включить вывод ошибок display_errors.
Как вписать это в файл я и lElectroHardl показали

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 21:04)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 20:51)
 


<Files 403.shtml>
order allow,deny
allow from all
</Files>

deny from ip
deny from ip
deny from ip

php_flag magic_quotes_gpc Off


register_globals у меня off

  Ответить  
 
 автор: Slo_Nik   (23.08.2010 в 22:04)   письмо автору
 
   для: TavRoX   (23.08.2010 в 21:04)
 

display_error on ?
register_globals off ?

>обновил но ошибку так и не выводит

теперь отправьте форму, просто нажмите кнопку и посмотрите что Вам покажет.
Показать должно, что есть не инициализированные переменные, вот так Notice: Undefined variable: abc in, но только если в самом начале скрипта error_reporting(E_ALL)
В прошлый раз Вам ни чего не показало потому, что Вы не отправили форму, где есть не инициализированные переменные.
Убрав же точку с запятой в форме Вы спровоцировали вывод ошибки и потому Вам её вывело.

  Ответить  
 
 автор: TavRoX   (23.08.2010 в 23:23)   письмо автору
 
   для: Slo_Nik   (23.08.2010 в 22:04)
 

какую форму. что изменить?
потомучто когда вписываю ту ерунду то на весь сайт ошибка

  Ответить  
 
 автор: Slo_Nik   (24.08.2010 в 00:08)   письмо автору
 
   для: TavRoX   (23.08.2010 в 23:23)
 

У Вас, до того как вписать новые строки в файл .htaccess , всё работало? Вы так и не ответили.
Я проверил Ваш .htaccess у себя на локальном - всё нормально работает...
Вы тестируете на локальном скрипт?
А форма это то, что Вы выводите в цикле while...

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 00:33)   письмо автору
 
   для: Slo_Nik   (24.08.2010 в 00:08)
 

до того как ввел все работало
после ввода ошибка
я на хостинге это делаю

  Ответить  
 
 автор: Slo_Nik   (24.08.2010 в 00:44)   письмо автору
 
   для: TavRoX   (24.08.2010 в 00:33)
 

ладно, оставим пока magic_quotes_gpc в покое.
Вы форму пробовали отправить?

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 01:08)   письмо автору
 
   для: Slo_Nik   (24.08.2010 в 00:44)
 

да отправляю
она вродебы отправвляяется и снова появляется и загружаются данные поновой из базы
но данные без изменений(

  Ответить  
 
 автор: lElectroHardl   (23.08.2010 в 20:09)   письмо автору
 
   для: TavRoX   (23.08.2010 в 19:56)
 

register_globals off
нужно записывать файлик php.ini (создайте, если нету такого в корневой директории).
А в .htaccess нужно вписать типа такого (не уверен):
php_flag register_globals off
.

  Ответить  
 
 автор: sim5   (24.08.2010 в 05:19)   письмо автору
 
   для: TavRoX   (23.08.2010 в 17:22)
 

$row = mysql_num_rows($res); - это для чего?
if($submit_edit) - if($_POST['submit_edit']), и все принятые от формы данные, это $_POST['fieldname']
UPDATE .... img='$img' - это чего вы тут обновляете? Это что, имя изображения или описание его, почему такое странное имя у поля?
WHERE id='$update' - это почему так?

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 05:41)   письмо автору
 
   для: sim5   (24.08.2010 в 05:19)
 

когда заменил поле на ваше то ошибка появилась сверху
в поле где сабмит едит выводит что ошибка Notice: Undefined index: submit_edit
когда нажал обновить одно из полей то в следующем рядке ошибка уже такая
точнее их 5
для каждой переменной Notice: Undefined variable: img
Notice: Undefined variable: meta_k
Notice: Undefined variable: title
Notice: Undefined variable: meta_d
Notice: Undefined variable: update

  Ответить  
 
 автор: sim5   (24.08.2010 в 06:04)   письмо автору
 
   для: TavRoX   (24.08.2010 в 05:41)
 

Значит так:

1. Прежде чем "когда заменил поле на ваше...", нужно давно уже было выполнить ОЧЕНЬ ВАЖНОЕ - установить флаг register_globals в php.ini в off. И только после этого обращаться к переменным суперглобального массива $_POST. Если речь идет о сервере, то у вас должна быть панель управления им (если хост человеческий). Всего вам не дадут изменять в нем (если только сервер не выделенный у вас), но этот флаг уж точно вы изменить сможете, не прибегая к услугам .htaccess. Вот после этого не будет "когда нажал обновить одно из полей то в следующем рядке ошибка уже такая точнее их 5...." . На локальном сервере измените непосредственно сами в файле инициализации.

2. Не запрашивайте того, значения чего вы не понимаете - это о количестве записей. Запрашивая, используйте.

3. Прежде чем что-то притулить в базу, следует всегда проверять, что вам предлагают.

4. Даже если вы хотите обновлять данные только для одной записи, то это еще не повод плодить кучу форм. К тому же, если выводите столько записей и предполагается их обновление, то почему тогда такое ограничение? В этом случае разрешайте тогда пользователю обновлять N записей, иначе форма должна появляться только тогда, когда пользователь выбирает "Обновить", и только для выбранной записи.
Если все таки неймется и очень хочется так, то одна форма, и именовать поля ее так, чтобы было удобно выбирать из нее данные для обновления:
<?
echo '<pre>';
print_r($_POST);
$id = isset($_POST['update']) ? intval(key($_POST['update'])) : null//id записи
if($id$_POST $_POST['date'][$id]; //данные для обновления
print_r($_POST);
?>
<form action="" method="post">
<input type="text" name="date[12][title]" value="title 12">
<input type="text" name="date[12][meta_d]" value="meta 12">
<input type="text" name="date[12][meta_k]" value="meta 12">
<input type="submit" name="update[12]" value="Update"><br>
<input type="text" name="date[13][title]" value="title 13">
<input type="text" name="date[13][meta_d]" value="meta 13">
<input type="text" name="date[13][meta_k]" value="meta 13">
<input type="submit" name="update[13]" value="Update"><br>
<input type="text" name="date[14][title]" value="title 14">
<input type="text" name="date[14][meta_d]" value="meta 14">
<input type="text" name="date[14][meta_k]" value="meta 14">
<input type="submit" name="update[14]" value="Update"><br>
</form>

Что содержит поле img?

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 06:56)   письмо автору
 
   для: sim5   (24.08.2010 в 06:04)
 

поле img содержит ссылку фотки
глобалс отключены
а что за код вы скинули?
ето полностью рабочий файл или кусок?

  Ответить  
 
 автор: sim5   (24.08.2010 в 08:24)   письмо автору
 
   для: TavRoX   (24.08.2010 в 06:56)
 

Для ссылки на фото поля типа textarea, это не жирно ли?
Если влаг в off, то значит тычите вы все что вам говорят куда не попадя.
Что за код я скинул? А запустить и посмотреть лень? Прежде чем трериторовать сервер, отработйте все на локальной машине.
Это полностью рабочий ПРИМЕР того, как не разбрасываться формими, а не для того, чтобы вы его воткнули себе.
Программирование, это в первую очередь шевеление мозгами.

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 14:17)   письмо автору
 
   для: sim5   (24.08.2010 в 08:24)
 

на грубости и оскорбления не переходите!
если вы не читали тему то ваши проблемы
там сказано взят код из интернета и пробую его доработать
тут поле img как textarea у меня просто поле инпут!
если бы читали тему то знали бы что ето чисто тестовая фигня под тестовую таблицу!

и зачем мне там поле date

  Ответить  
 
 автор: nikita2206   (24.08.2010 в 14:22)   письмо автору
 
   для: TavRoX   (24.08.2010 в 14:17)
 

С таким гонором иди сюда, тут тебе и помогут, и жопу вылижут. Только это платно.

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 14:30)   письмо автору
 
   для: nikita2206   (24.08.2010 в 14:22)
 

с каким еще гонором?
ты вообщем зачем тут флуд разводиш?
не мешай решать проблему!
я не грублю и вас прошу не грубить. если бы я знал в чем проблема то не писал бы.
а писать чтото вроде пошевели мозгами и т.д. ето уже относится к грубости!
когда мозги уже кипят от всего

  Ответить  
 
 автор: psychomc   (24.08.2010 в 14:49)   письмо автору
 
   для: TavRoX   (24.08.2010 в 14:30)
 

вы слишком много хотите, чтобы у вас всё было и вам за это ничего не было и т.п
форумом ошиблись. здесь вам вряд ли буду всё разжевывать, приговаривая "солнышко, вот это скопируй сюда; зайчик, а вот это сюда и нажми на кнопочку "пуск".
здесь должны направить только на правильный путь

p.s называть вещи своими именами это правильно
pp.s по поводу мозгов это не грубость

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 14:28)   письмо автору
 
   для: TavRoX   (24.08.2010 в 14:17)
 

поставил я етот кусок кода в отдельный файл
сверху над формочками выводится
Array
(
)
Array
(
)


после нажатия на апдейт одной из формочек сверху вылазит
Array
(
    [date] => Array
        (
            [12] => Array
                (
                    [title] => title 12
                    [meta_d] => meta 12
                    [meta_k] => meta 12
                )

            [13] => Array
                (
                    [title] => title 13
                    [meta_d] => meta 13
                    [meta_k] => meta 13
                )

            [14] => Array
                (
                    [title] => title 14
                    [meta_d] => meta 14
                    [meta_k] => meta 14
                )

        )

    [update] => Array
        (
            [13] => Update
        )

)
Array
(
    [title] => title 13
    [meta_d] => meta 13
    [meta_k] => meta 13
)

  Ответить  
 
 автор: sim5   (24.08.2010 в 14:35)   письмо автору
 
   для: TavRoX   (24.08.2010 в 14:17)
 

Я читал вашу тему. Думать мозгами, это не грубость, это необходимость, и без нее у вас ничего не получится, а думать (как раз из прочитанного видно) вы толи не хотите, толи ....

Нет фигни, тестовый код, это все таки код, над которым нужно думать и работать. Кроме имени date я мог бы с успехом применить и nodate, разве в этом дело? Зря я вам все, зря, не понимаете вы того, чего вам пишут.

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 14:54)   письмо автору
 
   для: sim5   (24.08.2010 в 14:35)
 

да непонимаю. Slo_Nik отлично помагал а только стоило влезти другим так сразу бардак пошел по теме

  Ответить  
 
 автор: sim5   (24.08.2010 в 15:15)   письмо автору
 
   для: TavRoX   (24.08.2010 в 14:54)
 

У вас изначально бардак, в самой задаче, и в том, как вы пытаетесь это делать. С этого надо начинать.

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 18:34)   письмо автору
 
   для: sim5   (24.08.2010 в 15:15)
 

если бардак то не суйтесь сюда!!!
накой черт вы сюда зашли и начали умничать?
у нас идет общение с человеком и решение проблемы
какой бы она не была

  Ответить  
 
 автор: sim5   (24.08.2010 в 18:45)   письмо автору
 
   для: TavRoX   (24.08.2010 в 18:34)
 

Не надо в пузырь лезть.
У вас изначально заложены проблемы в коде вашем, и они куда страшнее, нежели те, над которыми вы досих пор топчитесь. И если вы их решите (а решить давно пора было бы, ибо решаются они легко, и вам об этом много раз говорили), то это еще не будет означать, что у вас все будет ОК. Вот что плохо, и плохо то, что вы этого не понимаете, даже если вам говорят об этом.
Общайтесь, но только не забывайте, что начинается все не с мелкого, а с основого, вот с этого надо начинать.

  Ответить  
 
 автор: Trianon   (24.08.2010 в 19:08)   письмо автору
 
   для: TavRoX   (24.08.2010 в 18:34)
 

Вы бы сбавили тон что ли.

Хотите учиться - учитесь.
Хотите хамить - в почту, а лучше бы при себе.

А совсем частные проблемы, которые вообще никому, кроме Вас не интересны (вроде того, как нихрена не понимая в сути происходящего, из дерьма конфетку сделать) - тоже можно приватом порешать. Раз уж так хочется.

Оставлять здесь решение, которое трещит по всем швам, куда ни дунь, кроме вреда не даст ничего никому. Вам тоже.

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 22:36)   письмо автору
 
   для: Trianon   (24.08.2010 в 19:08)
 

ето не мой код я же писал
я его выбрал так как он само больше подходит под мои запросы
и тон я не подымал
я прост онелюблю когда влазят посторонние и ломают всю картину
и вот из-за вас дело стало на месте!

  Ответить  
 
 автор: Slo_Nik   (24.08.2010 в 23:09)   письмо автору
 
   для: TavRoX   (24.08.2010 в 22:36)
 

>и вот из-за вас дело стало на месте!
дело стало только из-за Вас.
Ведь действительно, Вы не пытаетесь понять, практически всё Вам расписали...
Вам сказали, из какого массива получать данные для подстановки в запрос, дело за Вами, немного изменить Ваш запрос.
А для проверки, что попадает в запрос, я Вам уже писал, выведите его в браузер - echo $query;

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 23:30)   письмо автору
 
   для: Slo_Nik   (24.08.2010 в 23:09)
 

так понятно что из-за меня. просто у меня такое бывает чт оникак немогу вникнуть в материал и все
хоть убей стопорняк и все

  Ответить  
 
 автор: Slo_Nik   (24.08.2010 в 23:42)   письмо автору
 
   для: TavRoX   (24.08.2010 в 23:30)
 

Возьмите тот код, что Вы привели выше, измените с учётом рекомендаций, только внимательно и должно всё заработать.
Удалите весь лишний html из кода и покажите, что у Вас получилось.

  Ответить  
 
 автор: TavRoX   (24.08.2010 в 23:52)   письмо автору
 
   для: Slo_Nik   (24.08.2010 в 23:42)
 

не сегодня уже( завтар уезжаю
гдето через два дня попробую
надеюсь вы некуда не уедите)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования