Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 22 Май, 2012, 11:43:24

Страниц: 1 [2]
Печать
Автор Тема: Не запоняет форму при редактировании чего-либо  (Прочитано 2231 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
AdmBuxonly    ↓ 
24 Октябрь, 2008, 07:20:30
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Все, код полностью исправил, но столкнулся еще с одной непонятной проблемой: заходя на страницу http://barosha.jino.ru/admin/edit/edit_articles.php обновляю её и выбираю любой понравившийся урок для редактирования, нажимаю на ссылку и открывается форма заполненная, но не так как бы мне этого хотелось выводит что попало и где не недолжно быть этого, к примеру ту же дату.
 

 
Страница edit_articles.php
PHP

 
<?php
if(is_numeric($_GET["id"]))
{
$id = $_GET["id"];
}
if(!isset($id))
{
$result = mysql_query("SELECT id,title,meta_d,meta_k,date,description,text,author FROM articles");
$myrow = mysql_fetch_array($result);
 
do
{
printf("<p><a href='../edit/edit_articles.php?id=%s'>%s</a></p>",$myrow['id'],$myrow['title']);
}
while($myrow = mysql_fetch_array($result));
}
 
else
{
$result = mysql_query("SELECT id,title,meta_d,meta_k,date,description,text,author FROM articles WHERE id=$id");
$myrow = mysql_fetch_array($result);
print <<<HERE
<form name="form1" method="post" action="../header/header_articles.php">
      <p>
        <label>Введите название статьи:<br>
          <input value="$myrow[title]" name="title" type="text" id="title" size="40">
          </label>
      </p>
      <p>
        <label>Введите краткое описание статьи:<br>
        <input value="$myrow[meta_d]" name="meta_d" type="text" id="meta_d" size="40">
        </label>
      </p>
      <p>
        <label>Введите ключевые слова:<br>
        <input value="$myrow[meta_k]" name="meta_k" type="text" id="meta_k" size="40">
        </label>
      </p>
      <p>
        <label>Введите дату добавления:<br>
        <input value="$myrow[date]" name="date" type="text" id="date">
        </label>
      </p>
      <p>
        <label>Введите краткое описание статьи с тегами (p, br, i, b, table div и т.д.)
        <textarea value="$myrow[description]" name="description" cols="50" rows="10" id="description">$myrow[description]</textarea>
        </label>
      </p>
      <p>
        <label>Введите html - код с полным описанием статьи включая тэги, ссылки на изображения и т.д.<br>
        <textarea name="text" cols="50" rows="15" id="text">$myrow[text]</textarea>
        </label>
      </p>
      <p>
        <label>Автор статьи (Фамилия Имя):<br>
        <input value="$myrow[author]" name="author" type="text" size="40" id="author">
        </label>
      </p>
      
    <input name="id" type="hidden" value="$myrow[id]">  
      
      <p>
        <label>
        <input type="submit" name="submit" value="Сохранить статью" id="submit">
       </label></p>
      </form>
HERE;
}
?>
 

Так, как сайт в разработке, то вы можете сами убедится в работоспособности админки: добавте любую статью вписав в форму все данные как надо. Зайдите на страницу edit_articles.php и обновите её. Появится только что добавленная статья. Нажмите на неё и увидите, что происходит... что куда подставляется....
Записан
AdmBuxonly    ↓ 
24 Октябрь, 2008, 07:31:16 , спустя 10 минут 46 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Кстати, добавляется тоже некоректно, код вроде правильный: http://barosha.jino.ru/articles.php (обновите)
 

Код обработчика формы страницы http://barosha.jino.ru/admin/news/new_articles.php
PHP

 
<?php include('../../config.php');
// проверяем переменные на существование
if(isset($_POST['title']))    
{$title = $_POST['title'];
if ($title == '')
{
unset($title);
}
 
}
 
if(isset($_POST['meta_d']))         {$meta_d = $_POST['meta_d']; if ($title == '') {unset($meta_d);} }
if(isset($_POST['meta_k']))         {$meta_k = $_POST['meta_k']; if ($title == '') {unset($meta_k);} }
if(isset($_POST['date']))       {$date = $_POST['date']; if ($title == '') {unset($date);} }
if(isset($_POST['description']))    {$description = $_POST['description']; if ($title == '') {unset($description);} }
if(isset($_POST['text']))       {$text = $_POST['text']; if ($title == '') {unset($text);} }
if(isset($_POST['author']))         {$author = $_POST['author']; if ($title == '') {unset($author);} }
 
?>
 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Административная часть - добавление статьи: обработчик</title>
<link href="../../style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>
<link href="../style.css" rel="stylesheet" type="text/css">
</head>
 
<body>
<table width="750" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#CCCCCC">
  <tr>
    <td scope="col" align="center">Админ-панель - добавление статьи</td>
  </tr>
 
  <tr>
    <td>
   
            <table width="100%" border="0">
            <?php include('../include/left_table.php'); ?>
      <td align="left" valign="top" class="main_border">
<?php
 
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($description) && isset($date) && isset($text) && isset($author))
{
// вывод
$result = mysql_query("INSERT INTO articles (title,meta_d,meta_k,date,description,text,author) VALUES ('$title','$meta_d','meta_k','$description','$date','$text','$author')");
 
if($result = true){echo "<p>Урок успешно добавлен!</p>";}
else {echo "Урок не добавлен!";}
}
 
else
{
echo "<p>Вы ввели не всю информацию в базу. Урок не может быть добавлен!</p>";
}
 

?>
 

 
Записан
AdmBuxonly    ↓ 
24 Октябрь, 2008, 07:35:40 , спустя 4 минуты 24 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Может в БД поле date установить текстовое или варчар? Что-то с добавлением даты не то...
Записан
md5    ↓ 
24 Октябрь, 2008, 07:37:22 , спустя 1 минуту 42 секунды
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10494
Сила слова: 1.19

для дат есть свои типы полей и функции для работы с ними
http://www.mysql.ru/docs/man/Date_and_time_functions.html
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
AdmBuxonly    ↓ 
24 Октябрь, 2008, 07:39:18 , спустя 1 минуту 56 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

PHP
--
-- Структура таблицы `articles`
--
 
CREATE TABLE `articles` (
  `id` int(5) NOT NULL auto_increment,
  `title` varchar(255) NOT NULL,
  `meta_d` varchar(255) NOT NULL,
  `meta_k` varchar(255) NOT NULL,
  `date` date NOT NULL,
  `description` text NOT NULL,
  `text` text NOT NULL,
  `form` text NOT NULL,
  `author` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=17 ;
Записан
dallone    ↓ 
24 Октябрь, 2008, 09:46:44 , спустя 2 часа 7 минут 26 секунд
НЕ ХУЕТА! ХУЕТА!
Группа: Адекваты

Карма: 4
Сообщений: 45
Сила слова: 8.89

dallone, Алекс звездочка не тормознее))) изза нее потом могу быть траблы если добавяться новые поля а в результатах они не будут нужны

1. MySQL перед запросом тогда определяет какие поля имеютсо у таблицы. (да согласен копеечные затраты, но все же :)
2. Ну так если "добавятся новые поля, а в результатах они не будут нужны" => будет выбираться куча всягоко хлама => тормознее (:
Записан
Sephiroth_Lukaw    ↓ 
25 Октябрь, 2008, 12:40:17 , спустя 2 часа 53 минуты 33 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 10
Сила слова: 0

http://www.google.ru/search?q=%24meta_d+%3D+%24_POST%5B'meta_d'%5D%3B+if+(%24title+%3D%3D+'')+%7Bunset(%24meta_d)%3B&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:unofficial&client=firefox-a
4 ссылки, коды почти одинаковые, разница в датах, месяц, два. Вы откуда код взяли?
« Последнее редактирование: 25 Октябрь, 2008, 12:45:53 от Sephiroth_Lukaw » Записан
AdmBuxonly    ↓ 
25 Октябрь, 2008, 02:02:18 , спустя 13 часов 22 минуты 1 секунду
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Ура заработало!!! Я нашел ошибку:
 
НЕПРАВИЛЬНО!
 
PHP
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($description) && isset($date) && isset($text) && isset($author))
{
// вывод
$result = mysql_query("INSERT INTO articles (title,meta_d,meta_k,date,description,text,author) VALUES ('$title','$meta_d','meta_k','$description','$date','$text','$author')");

ПРАВИЛЬНО!
 
PHP

if (isset($title) && isset($meta_d) && isset($meta_k) && isset($description) && isset($date) && isset($text) && isset($author))
{
// вывод
$result = mysql_query("INSERT INTO articles (title,meta_d,meta_k,date,description,text,author) VALUES ('$title','$meta_d','$meta_k','$date','$description','$text','$author')");

 
Все, спасибо! Извеняюсь что тупанул и вас отвлек :)
 
Записан
AdmBuxonly    ↓ 
25 Октябрь, 2008, 02:49:04 , спустя 46 минут 46 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

А вы не подскажите, как сделать, чтобы при добавлении новой статьи админ не писал время и дату добавления от руки, а эти значения проставлялись сами автоматически в базу, а потом я из базы их выведу? Выводить я знаю как..
 
Я установил значение в базе такое:
 
PHP
ALTER TABLE `articles` CHANGE `date` `date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
Записан
AdmBuxonly    ↓ 
25 Октябрь, 2008, 02:51:00 , спустя 1 минуту 56 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

Вот только оно не меняется, а остается таким же 0000-00-00 00:00:00...
Записан
adw0rd    ↓ 
25 Октябрь, 2008, 03:34:58 , спустя 43 минуты 58 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

AdmBuxonly, используй для хранения даты TIMESTAMP и присвой параметр по умолчанию CURRENT_TIMESTAMP. И тогда ничего не надо передавать при создании даты, она вставиться текущая.
 
Или если необходимо обновить дату, то
Text
`date` = NOW()
« Последнее редактирование: 25 Октябрь, 2008, 03:38:00 от adw0rd » Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
adw0rd    ↓ 
25 Октябрь, 2008, 03:36:42 , спустя 1 минуту 44 секунды
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

Короче, для первого варианта, запрос должен выглядить так:
 
Text
ALTER TABLE `articles` CHANGE `date` `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
AdmBuxonly    ↓ 
25 Октябрь, 2008, 07:13:07 , спустя 3 часа 36 минут 25 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 369
Сила слова: -0.27

ок, спс...
Записан
Страниц: 1 [2]
Печать
 

Перейти в: