|
 2.5 Кб |
|
|
<?php
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($date) && isset($description) && isset($text) && isset($author))
{
$result = mysql_query ("UPDATE lessons SET title='$title', meta_d='$meta_d', meta_k='$meta_k', date='$date', description='$description', text='$text', author='$author' WHERE id='$id'");
if ($result == 'true') {echo "<p>Ваш урок успешно обновлен!</p>";}
else {echo "<p>Ваш урок не обновлен!</p>";}
}
else
{
echo "<p>Вы ввели не всю информацию, поэтому урок в базе не может быть обновлен.</p>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 00:00)
| | Не апдейтица таблица сразу перескакивает в положение
echo "<p>Вы ввели не всю информацию, поэтому урок в базе не может быть обновлен.</p>"; | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 00:00)
| | Не апдейтица таблица сразу перескакивает в положение
echo "<p>Вы ввели не всю информацию, поэтому урок в базе не может быть обновлен.</p>";
в чем может быть проблема? | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 00:02)
| | Ну так ведь написано - Вы ввели не всю информацию. Какая то переменная пуста. | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 00:00)
| | где определены все эти переменные, которые Вы проверяете в первой строке? | |
|
|
|
|
 2.8 Кб |
|
|
для: Trianon
(25.12.2008 в 00:52)
| |
<?php
if(!isset($id))
{
$result=mysql_query("SELECT title,id FROM lessons");
$myrow = mysql_fetch_array ($result);
do
{
printf ("<p><a href='edit_lesson.php?id=%s'>%s</a></p>", $myrow["id"],$myrow["title"]);
}
while ($myrow = mysql_fetch_array ($result));
}
else
{
$result=mysql_query("SELECT * FROM lessons WHERE id=$id");
$myrow = mysql_fetch_array ($result);
print <<<HERE
<form name="form1" method="post" action="update_lesson.php">
<p>
<label>Введите название урока:
<br> <input value="$myrow[title]" type="text" name="title" id="title" />
</label>
</p>
<p>
<label>Введите краткое описание урока:
<br> <input value="$myrow[meta_d]" type="text" name="meta_d" id="meta_d" />
</label>
</p>
<p>
<label>Введите ключевыеслова для урока:
<br> <input value="$myrow[meta_k]" type="text" name="meta_k" id="meta_k" />
</label>
</p>
<p>
<label>Введите дату урока в формате xxxx-xx-xx год-месяц-день:
<br> <input value="$myrow[date]" type="text" name="date" id="date" />
</label>
</p>
<p>
<label>Введите краткое описание уроков с тэгами абзацев урока:
<br> <textarea name="text" id="description" cols="40" rows ="5" /> "$myrow[description]" </textarea>
</label>
</p>
<p>
<label>Введите полный текст урока с тэгами:
<br> <textarea name="text" id="text" cols="40" rows ="20" /> "$myrow[text]" </textarea>
</label>
</p>
<p>
<label>Введите автора урока:
<br> <input value="$myrow[author]" type="text" name="author" id="author" />
</label>
</p>
<input name="id" type="hidden" value="$myrow[id]" />
<p>
<label>
<br> <input name="submite" type="submit" id="submit" value="Изменить." />
</label>
</p>
</form>
HERE;
}
?>
|
переменные все введены... | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 01:04)
| | кароче говоря что то на подобии редактирования получаеться
вывожу из базданных все переменные редактиру а при апдейте он говорит что типо не всё введено... | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 01:07)
| | как можно узнать где он прекращает апдейт и выходит из функции? | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 01:04)
| | При чем тут это?
Не вижу ни одной. | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2008 в 01:11)
| | имееться два файла один edit_lesson.php второй update_lesson.php
При редактировании edit_lesson методом пост отправляет переменные в update_lesson
вот... | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 01:16)
| | метод POST никуда ничего сам не проставляет. Кроме как в массивы $_POST и $_REQUEST. | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2008 в 01:29)
| | ошибка получаеться в edit_lesson? а вот где ? | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 01:36)
| | if (isset($_POST['title']) ...
дальше сами? | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 01:36)
| | Ошибка получаеться где то в форме? когда отправляю переменные? | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 01:46)
| | Почему в форме? В форме всё нормально вроде.
Если в обработчике написать print_r($_POST); - что-нибудь видно? | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 01:46)
| | if (isset($_POST['title'])) {$title = $_POST['title'];if ($title == '') {unset($title);}}
получаеться что если есть $_POST то заноситься в обычную переменную если нету то переменная $title удаляеться... так ведь? | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 02:43)
| | Array ( [title] => Как открыть счет в Rupay [meta_d] => Инструкция по открытию счёта в Rupay [meta_k] => Rupay, счет, открыть [date] => 2008-09-18 [text] => \"
Принт ошибок не даёт но выводиться в аком формате... | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 02:46)
| |
<?php
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($date) && isset($description) && isset($text)
....
|
замените все переменные такми образом: $title на $_POST['title'] | |
|
|
|
|
|
|
|
для: neokortex
(25.12.2008 в 02:56)
| | if (isset($_POST['title']) && isset($_POST['meta_d']) && isset($_POST['meta_k']) && isset($_POST['date']) && isset($_POST['description']) && isset($_POST['text']) && isset($_POST['author']))
Ругаться не ругаеть вообще но и апдейт неидёт :( | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 03:20)
| | попробуй в конце строк
else {echo "<p>Ваш урок не обновлен!</p>";}
| и
echo "<p>Вы ввели не всю информацию, поэтому урок в базе не может быть обновлен.</p>";
|
дописать
может у тебя есть какая то ошибка, это поможет её поймать.
проверь в БД типы полей, у меня такая фигня была, ругаться не ругалось, но и не обновляло.
оказалось дело в типе поля таблицы БД, поменял tinytext на text и всё заработало:) | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 03:20)
| | потому что ниже ( в операторе UPDATE) у Вас остались неопределенные переменные. | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2008 в 08:58)
| | Там до запроса дело вообще не доходит. Код написан в таком кривом стиле, что не сразу и поймёшь... А разве помешал бы null при апдейте? По моему просто записалась бы пустота.... | |
|
|
|
|
|
|
|
для: Николай2357
(25.12.2008 в 09:08)
| | Вы пытаетесь рассматривать не тот скрипт , на который жалуется автор. | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2008 в 13:15)
| | Всё я правильно рассматриваю. Переменная $description у автора не определена, по причине ошибки в именах элементов. А по сему блок с запросом на UPDATE вообще не включается. А если бы он включался, то просто в поле description прописался бы null... Разве не так? | |
|
|
|
|
|
|
|
для: Николай2357
(25.12.2008 в 14:29)
| | нет, если Вам хочеться решить конкретно эту проблему автора - ради бога..
Медвежью услугу Вы ему в этом окажете, совершенно однозначно. | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2008 в 14:33)
| | Если бы мне оказывали такие медвежьи услуги почаще, я бы давно вырос из чайников ))). Вопрос в том, как автор распорядится полученными знаниями. | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 01:04)
| | Вот тут у Вас дырка. Имена элементов одинаковые, а значит одного из них нет.
<label>Введите краткое описание уроков с тэгами абзацев урока:
<br> <textarea name="text" id="description" cols="40" rows ="5" /> "$myrow[description]" </textarea>
</label>
</p>
<p>
<label>Введите полный текст урока с тэгами:
<br> <textarea name="text" id="text" cols="40" rows ="20" /> "$myrow[text]" </textarea>
</label>
|
| |
|
|
|
|
|
|
|
для: Николай2357
(25.12.2008 в 07:54)
| | Спасибо огромное!!! Вы действительно обладаете знаниями :)))
Ещё вопрос что означает кривой стиль? имеются ли какие нибудь стили кода? вернее стили написания кода?
я правильно понял? | |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 15:10)
| | например для меня криво вот это
я обычно использую and
или например
а надо скорее $result == true
а еще проще if($result)
и (для перфекционистов-шизофреников :) вместо
UPDATE lessons SET title='$title'
|
я пишу
UPDATE `lessons` SET `title`='$title'
...
|
| |
|
|
|
|
|
|
|
для: Batis
(25.12.2008 в 15:10)
| | Дело в том, что писать код нужно так, что бы было понятно не только Вам, но и всем остальным. Стиль - вещь интимная, есть несколько стандартов стилей, и Вы вправе выбрать любой или использовать свой собственный. Но несколько общих правил, особенно на этом форуме, желательно соблюдать. Основоные:
1.Фигурные скобки нужно распологать ниже выражения. Вот так:
<?
//if ($result == 'true') {echo "<p>Ваш урок успешно обновлен!</p>";}
//else {echo "<p>Ваш урок не обновлен!</p>";}
if ($result == 'true')
{
echo "<p>Ваш урок успешно обновлен!</p>";
}
else
{
echo "<p>Ваш урок не обновлен!</p>";
}
| а в данном случае лучше обойтись совсем без них:
<?
if ($result == 'true')
echo "<p>Ваш урок успешно обновлен!</p>";
else
echo "<p>Ваш урок не обновлен!</p>";
|
2. Выражение, находящееся внутри другого нужно смещать вправо табулятором. Вот так:
<?
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($date)
&& isset($description) && isset($text) && isset($author))
{
$result = mysql_query ("UPDATE lessons SET title='$title', meta_d='$meta_d',
meta_k='$meta_k', date='$date', description='$description', text='$text',
author='$author' WHERE id='$id'");
if ($result == 'true')
echo "<p>Ваш урок успешно обновлен!</p>";
else
echo "<p>Ваш урок не обновлен!</p>";
}
| а закрывающую фигурную скобку ставить точно под открывающей.
3. Не писать длинных строк, использовать переносы.
Вот и всё впринципе. | |
|
|
|