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

Форум PHP

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

 

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

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

тема: гостевая книга
 
 автор: BOO   (01.08.2005 в 14:59)   письмо автору
 
 

Надо проверять данные введенные в файле index.html PHP скриптом. Если поле введено не верно сделать введеный в него текст красным.
//------------------------------------------------------------------------------
Отсюда два вопроса:
1) как вернуться из PHP скрипта, не теряя введеных на форму данных
2) как изменить в HTML форме параметры полей (например цвет шрифта)
//------------------------------------------------------------------------------
Заранее благодарен

   
 
 автор: Loki   (01.08.2005 в 15:30)   письмо автору
 
   для: BOO   (01.08.2005 в 14:59)
 


<input type=text name=msg value='<?=$msg ?>'>

При этом данные переданные из предыдущей формы отобразяться в этой.

   
 
 автор: BOO   (01.08.2005 в 16:50)   письмо автору
 
   для: Loki   (01.08.2005 в 15:30)
 

Я думаю что в коде ответа есть ошибка, т.к. в текстбоксе всегда отображается:
<?=$msg ?>

И вообще если не сложно напишите как задавать значение переменных HTML через PHP в общем случае.

Кроме того, остался вопрос как возвращаться из скрипта, кажется надо с помощью мета тегов?
типа:

<META http-equiv="refresh" content="0;URL=index.html>

   
 
 автор: cheops   (01.08.2005 в 18:06)   письмо автору
 
   для: BOO   (01.08.2005 в 16:50)
 

>Я думаю что в коде ответа есть ошибка, т.к. в текстбоксе всегда отображается:
><?=$msg ?>
А как выводится сама HTML-форма? И главное какое у неё расширение, если это index.html - то всё правильно, файл просто не воспринимается как PHP-скрипт. Нужно либо изменить расширение на PHP, либо при помощи конфигурационного файла .htaccess сообщить Web-серверу, что html файл следует рассматривать как php-файл, подробнее об этом можно почитать в статье http://www.softtime.ru/info/articlephp.php?id_article=25

>Кроме того, остался вопрос как возвращаться из скрипта, кажется надо с
>помощью мета тегов?
Можно мета-тэгом, можно заголовок отправить
<?php
  header
("Location: index.html");
?>

   
 
 автор: Poltergeist   (01.08.2005 в 16:49)
 
   для: BOO   (01.08.2005 в 14:59)
 

Создай функцию отображения формы [code]
function form() {
echo"<input type=text name=msg value=\"$msg\"'> ";
}
потом при необходимости, например не праввильно заполнена форма вызывай функцию form($msg)
а цвет можешь задать стилем

   
 
 автор: BOO   (01.08.2005 в 16:52)   письмо автору
 
   для: Poltergeist   (01.08.2005 в 16:49)
 

>а цвет можешь задать стилем

Что это значит? Нет какого нибудь HTML ключа типа Color?

   
 
 автор: Poltergeist   (01.08.2005 в 17:04)
 
   для: BOO   (01.08.2005 в 16:52)
 

<?
function form() {
?><input type="text" name="text" style="color: red;">
<?
}
?>

даный пример вывожит текстовое поле, в котором шрифт отображается красным

   
 
 автор: Poltergeist   (01.08.2005 в 16:54)
 
   для: BOO   (01.08.2005 в 14:59)
 

А что именно тебе нужно проверить?

   
 
 автор: BOO   (01.08.2005 в 18:06)   письмо автору
 
   для: Poltergeist   (01.08.2005 в 16:54)
 

Спасибо, что такое стиль и соответственно как менять цвет я понял.
Теперь для меня ключевым остается вопрос: как переменным HTML передать значение переменных из PHP. Я так понимаю здесь это и должно было происходить:

<input type=text name=msg value='<?=$msg ?>'>

но "вкралась" досадная ошибка.
Насчет варианта создать функцию: я только начал учить PHP, и мне в этом мешают стереотипы кодинга на с++. Я не понимаю эта функиция должна быть в файле index.html или script.php. Если в script.php, то как изначально при загрузке сайта показать форму? Если в index.html, то как вызывать эту ф-цию из script.php. Или вообще можно как нибудь обойтись одним файлом?

   
 
 автор: cheops   (01.08.2005 в 18:29)   письмо автору
 
   для: BOO   (01.08.2005 в 18:06)
 

1) Какое расширение у HTML-формы, если это index.html - то всё правильно, файл просто не воспринимается как PHP-скрипт. Нужно либо изменить расширение на PHP, либо при помощи конфигурационного файла .htaccess сообщить Web-серверу, что html файл следует рассматривать как php-файл, подробнее об этом можно почитать в статье http://www.softtime.ru/info/articlephp.php?id_article=25
2)
>Или вообще можно как нибудь обойтись одним файлом?
Можно обойтись одним файлом, разместив HTML-код формы и её обработчик в PHP-файле, только потребуется при включении обработчика проверить if() нажата кнопка формы или нет, т.е. переданы данные из формы посредством метода GET или POST.

   
 
 автор: BOO   (01.08.2005 в 19:00)   письмо автору
 
   для: cheops   (01.08.2005 в 18:29)
 

>обработчика проверить if() нажата кнопка формы или нет, т.е.
>переданы данные из формы посредством метода GET или POST.

т.е у нас есть файл, скажем index.php. а в его начале будет:
<form name = "form1" method = "post" action = " index.php">

а описания формы идет сам скрипт?

   
 
 автор: cheops   (01.08.2005 в 19:08)   письмо автору
 
   для: BOO   (01.08.2005 в 19:00)
 

Да это одна из особенностей скриптовых языков - они могут встраиваться в документы, т.е. вы можете встраивать PHP-код в HTML-код при помощи тэгов <?php ?>, точно также как встраивается в HTML-код JavaScript, ASP или JSP.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=77

   
 
 автор: [CHOL]Scorpion   (01.08.2005 в 19:04)   письмо автору
 
   для: cheops   (01.08.2005 в 18:29)
 

А ещё не стоит в сценарий php внедрять html, давайте не скрещивать таракана с коровой. Заинклудить внейший файл с HTML формой будет вполне достаточно.

HTML-форма form.html:

<form method="post" action="guest.php">
  <input type="text" name="msg" value="<? echo $_POST['msg']; ?>">
  <input type="submit" name="add" value="Добавить пост">
</form>


PHP-сценарий guest.php:

function add($_POST){
               if (!IsSet($_POST['msg']) || Empty($_POST['msg'])) return False;
               елси ошибок нет, делаем что должны
}

$result = add($_POST);
if ($result === False){
    include_once("form.html");
}

   
Rambler's Top100
вверх

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