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

Форум PHP

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

 

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

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

тема: Избавиться от повтора формы ввода
 
 автор: Владимир55   (22.09.2007 в 23:23)   письмо автору
 
 

К готовым html файлам нужно сделать надстроечку, содержащую форму ввода. Причем конструкция должна работать так:

- при вызывании файла видна только форма ввода и ничего более;
- при вводе слова в форму открывается html код, а форма исчезает.

Я сделал это кодом, приведенным ниже, но как убрать форму, придумать не сумел. Но ведь как-то это можно сделать?


<?php
$forma 
'<form method="post">
<input type="text" name="pass">
<input type="submit" value="Ввести">
</form>'
;
echo 
"<br>$forma";

$pass $_POST['pass'];

if (
$pass)
    {
        
$file fopen('pass.txt''w'); 
        
fputs($file$pass); 
        
fclose ($file); 
    }
    else
    {
        die();        
// Остановка скрипта
    
}

?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Тестовая страница</title>
</head>
<body>
<p align="center"><b><font color="#FF00FF" size="6">Это тестовый файл</font></b></p>
</body>
</html>

   
 
 автор: coloboc66   (22.09.2007 в 23:37)   письмо автору
 
   для: Владимир55   (22.09.2007 в 23:23)
 

"...при вводе слова в форму открывается html код, а форма исчезает..." Вы вообще думаете, что пишете?!

   
 
 автор: Владимир55   (22.09.2007 в 23:47)   письмо автору
 
   для: coloboc66   (22.09.2007 в 23:37)
 

Честно говоря, думаю весьма основательно. И не просто думаю, а имею перед глазами образец того, как это осуществляется сервисом SmsCoin, чей код выполняет именно эти функции. Код ставится в самом верху страницы. Он вот такой:

<?php
### SMS:Key v1.0.5 ###
$key_id 2026;
$response = @file("http://e33e.key.smscoin.com/key/?s_key=".$key_id
."&s_pair=".urlencode(substr($_GET["s_pair"],0,10))
.
"&s_language=".urlencode(substr($_GET["s_language"],0,10))
.
"&s_ip=".$_SERVER["REMOTE_ADDR"]
.
"&s_url=".$_SERVER["SERVER_NAME"].htmlentities(urlencode($_SERVER["REQUEST_URI"])));
if (
$response !== false) {
 if (
count($response)>|| $response[0] != 'true') {
  die(
implode(""$response));
 }
} else die(
'Не удалось запросить внешний сервер');
### SMS:Key end ###
?>

   
 
 автор: bronenos   (22.09.2007 в 23:54)   письмо автору
 
   для: Владимир55   (22.09.2007 в 23:47)
 

перефразирую: при вводе слова в поле и отправке формы скрыть форму и открыть нужный участок html кода
if ($pass)
{
  // запись
  // участок html
}
else
{
  // форма
}

   
 
 автор: Владимир55   (23.09.2007 в 00:12)   письмо автору
 
   для: bronenos   (22.09.2007 в 23:54)
 

Меня «достает» приведенный выше Вашего поста код SmsCoin – ведь они как-то же сделали это! Ломаю голову – как??

С адреса http://e33e.key.smscoin.com/key закачивается форма ввода - это очевидно. А вот эта комбинация

if ($response !== false) { 
 if (count($response)>1 || $response[0] != 'true') { 
  die(implode("", $response)); 
 } 
} else die('Не удалось запросить внешний сервер');

определяет, совпал ли пароль. И если совпал, то воспроизводится весь html код, расположенный ниже.

Их несомненное преимущество в том, что рнр-вставка делается вверху страницы, то есть готовые страницы не нужно переделывать.

Как бы осуществить эту же функцию?

   
 
 автор: bronenos   (23.09.2007 в 00:16)   письмо автору
 
   для: Владимир55   (23.09.2007 в 00:12)
 

вставить наверх))

   
 
 автор: Владимир55   (23.09.2007 в 00:26)   письмо автору
 
   для: bronenos   (23.09.2007 в 00:16)
 

Ага!!! Смешно - я столько времени бился...

<?php
$forma 
'<form method="post">
<input type="text" name="pass">
<input type="submit" value="Ввести пароль.">
</form>'
;

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

Спасибо!

   
Rambler's Top100
вверх

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