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

Форум PHP

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

 

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

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

тема: Побочные эффекты использования формы ввода.
 
 автор: Владимир55   (06.03.2009 в 20:12)   письмо автору
 
 

Есть файл с именем start.php, содержащий вот такой код:
<?php

    ob_start
();

    echo 
'<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Предисловие</title>
</head>

<body bgcolor="#FFD8B0">

<p style="text-indent: 50px; margin: 0 10px">ВВЕДИТЕ ДАННЫЕ</p>'
;

?>

И есть второй файл tema.php, содержащий форму ввода информации:
<?php

    
include "start.php" ;

    
$forma '<form method="post"> 
    <input type="text" name="pass"> 
    <input type="submit" value="Ввод."> 
    </form>'


    
$pass $_POST['pass']; 
    if (!
$pass
    { 
      echo 
"<br>$forma"
      die();        
// Остановка скрипта 
    
}

    echo 
"<br>Вот ваш ответ"

?>

Проблема состоит в том, что после ввода информации не исчезает надпись "ВВЕДИТЕ ДАННЫЕ" вверху страницы.

Ограничение средств решения проблемы состоит в том, что файл tema.php мне практически недоступен для корректировки.

Можно ли изменить код файла start.php таким образом, что бы при вводе данных в форму предложение о вводе повторно не выводилось?

  Ответить  
 
 автор: reda   (06.03.2009 в 20:33)   письмо автору
 
   для: Владимир55   (06.03.2009 в 20:12)
 

  Ответить  
 
 автор: nikita2206   (06.03.2009 в 20:55)   письмо автору
 
   для: Владимир55   (06.03.2009 в 20:12)
 

<?php 

    ob_start
(); 

    echo 
'<html> 

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title>Предисловие</title>
</head> 

<body bgcolor="#FFD8B0"> 
'
if(!isset($_POST['pass']))
echo 
'<p style="text-indent: 50px; margin: 0 10px">ВВЕДИТЕ ДАННЫЕ</p>';

?>

  Ответить  
 
 автор: Trianon   (06.03.2009 в 21:03)   письмо автору
 
   для: Владимир55   (06.03.2009 в 20:12)
 

В принципе, в start.php Вы можете поменять содержимое $_POST['pass'] как угодно.
Да и надпись, которая Вас беспокоит, задается там же.

  Ответить  
 
 автор: Владимир55   (06.03.2009 в 21:21)   письмо автору
 
   для: Trianon   (06.03.2009 в 21:03)
 

А тот факт, что выражение
$_POST['pass']; 
будет использоваться дважды - это не страшно?
Допускается повторное извлечение глобальной переменной?

  Ответить  
 
 автор: Trianon   (06.03.2009 в 21:35)   письмо автору
 
   для: Владимир55   (06.03.2009 в 21:21)
 

неприятно, что логика скрипта окажется запутанной.
Формальных нарушений нет.

  Ответить  
 
 автор: Владимир55   (06.03.2009 в 21:37)   письмо автору
 
   для: Trianon   (06.03.2009 в 21:35)
 

СПАСИБО!

Очень удачное решение!

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

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