Лістинг 6. 26. Сценарій story.php служить для створення або редагування статті

<?

include "include_fns.php";

if (isset($story))

$s = get_story_record($story);

?>

<FORM ACTION="story_submit.php" METHOD=POST

ENCTYPE="multipart/form-data">

<INPUT TYPE=HIDDEN NAME="story" VALUE="<?php print $story;?>">

<INPUT TYPE=HIDDEN NAME="destination" VALUE="<? print $HTTP_REFERER;?>">

<TABLE><TR><TD ALIGN=CENTER>Headline<TD></TR>

<TR><TD><INPUT SIZE=80 NAME="headline"

VALUE="<? print $s[headline];?>"></TD>

</TR><TR><TD ALIGN=CENTER>Page<TD></TR><TR>

<TD ALIGN=CENTER><? print query_select("page", "select p.code,

p.description from pages p

writer_permissions w where p.code=w.page

and w.writer = '$auth_user'" $s[page]); ?>

</TD></TR><TR><TD ALIGN=CENTER>Story text (can contain HTML) </TD>

</TR><TR><TD><TEXTAREA COLS=80 ROWS=7 NAME="story_text"

WRAP=VIRTUAL><?php print $s[story_text];?></TEXTAREA>

</TD></TR><TR><TD ALIGN=CENTER>Or upload HTML file</TD></TR>

<TR><TD ALIGN=CENTER><INPUT TYPE=FILE NAME="html" SIZE=40></TD>

</TR><TR><TD ALIGN=CENTER>Picture</TD></TR>

<TR><TD ALIGN=CENTER><INPUT TYPE=FILE NAME="picture" SIZE=40></TD></TR>

<?php

if ($s[picture]) {

$size = getImageSize($s[picture]);

$width = $size[0];

$height = $size[1];

?>

<TR><TD ALIGN=CENTER><IMG SRC="<?php print $s[picture];?>"

WIDTH=<? print $width;?> HEIGHT=<?php print $height;?>>

</TD></TR>

<?php } ?>

<TR><TD ALIGN=CENTER><INPUT TYPE=SUBMIT VALUE="Submit"></TD></TR>

</TABLE></FORM>

Для додавання статей і їх редагування може використовуватися один і той же сценарій. Виконувана дія залежить від того, чи встановлено значення зміною $story при виклику сценарію.

if (isset($story))

$s = get_story_record($story);

Функція get_story_record() описана в db_fns.php. Вона повертає масив всіх полів таблиці статей для вказаного ідентифікатора статті. Якщо ідентифікатор не переданий, змінна $story має значення NULL, а змінна $s не містить елементів масиву.

<INPUT SIZE=80 NAME="headline" VALUE="<? echo $s[headline];?>">

Якщо значення змінної $story не встановлено, попередній фрагмент коду не створить значення з оператора РНР, тому поле введення заголовка буде порожнім. Коли значення змінної $story встановлено, вона містить текст заголовка для редагованої статті.

echo query_select("page", "select p.code, p.description

from pages p, writer_permissions w

where p.code = w.page and w.writer = ' $auth_user'", $s[page]); "

Функція query_select() описана в select_fns.php. Вона повертає HTML-код виведення списку SELECT на основі даного SQL-запроса. Перший параметр є атрибутом NAME для оператора SELECT. SQL-запит з другого параметра вибирає два стовпці, де перший є такою, що становить VALUE кожної опції, а другою слідує після дескриптора OPTION і є текстом, що відображується в списку. Третій параметр необов'язковий. Він додає атрибут SELECTED до опції, значення якої збігається з вказаним.

<INPUT TYPE=HIDDEN NAME="story" VALUE="<?echo $story;?>">

Тут створюється змінна-заповнювач шляхом установки нового значення для статті з переданого в змінній $story. Після передачі форми сценарій story_submit.php перевіряє, чи існує значення змінної $story, і генерує відповідно до цього SQL-оператор UPDATE або INSERT.

Код сценарію story_submit.php показаний в лістингу 6. 27.








Дата добавления: 2016-04-02; просмотров: 539;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.