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

Форум PHP

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

 

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

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

тема: Гостевая
 
 автор: anonymous   (30.07.2008 в 05:01)   письмо автору
 
 

Сначала сделал все в одном скрипте
- форма принимает строки, отсылая их в тот же файл, в котором находится. Если $_GET[..] существует - записываю строки в файл.

Возникла проблема - после отправки сообщения имеем index.php?str="asdfg"&name="trewq"
При обновлении (F5) строка записывается снова и снова.
Как исправить это? Записывать отдельным файлом?
Нельзя ли после отправлении формы со страницы index.php?str="asdfg"&name="trewq" перейти сразу на index.php? Как это реализовать?

  Ответить  
 
 автор: sim5   (30.07.2008 в 06:52)   письмо автору
 
   для: anonymous   (30.07.2008 в 05:01)
 

Можно, так, header("location: index.php")

  Ответить  
 
 автор: anonymous   (30.07.2008 в 07:16)   письмо автору
 
   для: sim5   (30.07.2008 в 06:52)
 

Обьясни, как им воспользоваться.

  Ответить  
 
 автор: Lex   (30.07.2008 в 07:28)   письмо автору
 
   для: anonymous   (30.07.2008 в 07:16)
 

Код запости будет людям будет удобнее разбираться! ;)

  Ответить  
 
 автор: anonymous   (30.07.2008 в 23:27)   письмо автору
 
   для: anonymous   (30.07.2008 в 05:01)
 


<html> 
    <body> 
        <?
            
if ( isset($_GET['str']) && $_GET['str']!=NULL)
            {
                
$file fopen("data.txt","r");
                
$fbin fopen("bin","w+");
                while ( (
$sp fgets($file)) != NULL)
                {
                    
fputs($fbin$sp);    
                }
                
fclose($file);
                
$file fopen("data.txt""w+");
                
rewind($fbin);
                
$c fread ($fbin2);        
                
$num1 =  fread ($fbin1);
                
$num2 =  fread ($fbin1);
                
$num3 =  fread ($fbin1);
                
$num $num1*100 $num2*10 $num3;
                
$ost 0;
                
$num3++;
                if (
$num3==10)
                {
                    
$num3 0;
                    
$ost 1;
                }
                
$num2 += $ost;
                
$ost 0;
                if (
$num2==10)
                {
                    
$num2 0;
                    
$ost 1;
                }
                
$num1 += $ost;
                
$time date("H:i:s");
                
$den date("d.m.y");
                
fputs ($file"##".$num1.$num2.$num3."#".$time."#".$den."#".$_GET['str']);
                
fputs ($file"\n");
                
rewind($fbin);
                while ( (
$sp fgets($fbin)) != NULL)
                {
                    
fputs($file$sp);    
                }
                
fclose ($file);
                
fclose ($fbin);
            }    
                                
        
?>
        </body>
</html>


Эта начало, остальное роли не играет.

Проблему см. выше (1пост)

  Ответить  
 
 автор: OLI   (31.07.2008 в 00:07)   письмо автору
 
   для: anonymous   (30.07.2008 в 23:27)
 

После того как у тебя данные из формы записались в файл используешь
 header("location: index.php") 
для перенаправления на страницу index.php
Можно еще так попробовать перенаправить пользователя:

echo"<html><head><meta http-equiv='Refresh' content='0; URL=index.php'></head></html>";

  Ответить  
 
 автор: anonymous   (31.07.2008 в 00:17)   письмо автору
 
   для: OLI   (31.07.2008 в 00:07)
 

Второй способ сработал, первый нет.

Огромное спасибо.

  Ответить  
 
 автор: OLi   (31.07.2008 в 00:23)   письмо автору
 
   для: anonymous   (31.07.2008 в 00:17)
 

Попробуй второй случай как я тебе сказал-должно помочь иначе в другой файл обработчик кидай. Где то встречал коды на java script для удаления отправленный данных из формы-можешь поискать. Можно стирать переменные формы unlink()

  Ответить  
 
 автор: sim5   (31.07.2008 в 06:07)   письмо автору
 
   для: anonymous   (31.07.2008 в 00:17)
 

Все у вас сработало, вы просто получили ошибку из-за вывода в браузер этого: <html><body>. Ваш код кроме записи в файл ничего не делает, к чему эти HTML теги в вашем коде?

  Ответить  
 
 автор: anonymous   (31.07.2008 в 21:03)   письмо автору
 
   для: anonymous   (30.07.2008 в 05:01)
 

Следующий вопрос.

Как следует обрабатывать строку, которая принимаетяс формой?
Как исключить из нее все тэги, возможные скрипты?
Как урегилировать ее до символов латиницы, кириллицы и десятка знаков?

  Ответить  
 
 автор: Николай2357   (31.07.2008 в 22:14)   письмо автору
 
   для: anonymous   (31.07.2008 в 21:03)
 

Апетит во время еды? Я недавно делал что то похожее
>
>Как следует обрабатывать строку, которая принимаетяс формой?
тут не все понятно, что значит обрабатывать?

>Как исключить из нее все тэги, возможные скрипты?
теги убрать просто - $text=strip_tags($text);
скрипты вот так получилось: $text=preg_replace("#<script[^>]*?>.*?</script>#si", "", $text);.
>
>Как урегилировать ее до символов латиницы, кириллицы и десятка знаков?

это тоже регулярным, нужно только знать, какие знаки.
Вроде бы работает, правильно ли, уважаемые гуру подскажут...

  Ответить  
 
 автор: anonymous   (31.07.2008 в 23:08)   письмо автору
 
   для: Николай2357   (31.07.2008 в 22:14)
 

Ок, спасибо.

А можно поянений по поводу
$text=strip_tags($text);
$text=preg_replace("#<script[^>]*?>.*?</script>#si", "", $text);.

Хотелось бы понять, как это работает?

  Ответить  
 
 автор: Николай2357   (01.08.2008 в 00:36)   письмо автору
 
   для: anonymous   (31.07.2008 в 23:08)
 

Там наверху есть классный раздел "справочник функций". С примерами и подробностями. Я могу объяснить эти функции, но есть же куча других...
Я сам еще только учусь.

  Ответить  
 
 автор: OLi   (02.08.2008 в 02:27)   письмо автору
 
   для: anonymous   (31.07.2008 в 21:03)
 

Для этого можно использовать функцию htmlspecialchars()

  Ответить  
 
 автор: anonymous   (02.08.2008 в 03:28)   письмо автору
 
   для: OLi   (02.08.2008 в 02:27)
 

Тоже работает. Ок

  Ответить  
 
 автор: anonymous   (01.08.2008 в 03:15)   письмо автору
 
   для: anonymous   (30.07.2008 в 05:01)
 

Еще вопрос:

Как сделать таблицу с шириной МЕНЬШЕ определенного числа.
То есть если текста мало, маблица узкая, а если больше, то она именно такой ширины.

Как это сделать?

  Ответить  
 
 автор: Николай2357   (01.08.2008 в 08:28)   письмо автору
 
   для: anonymous   (01.08.2008 в 03:15)
 

Какую таблицу? HTML? CSS, overflow:visible, вообще это значение по умолчанию и вопрос, наверное в другой раздел...

  Ответить  
 
 автор: anonymous   (01.08.2008 в 16:44)   письмо автору
 
   для: Николай2357   (01.08.2008 в 08:28)
 

Да, HTML таблицу. Обращусь в соседний раздел.

  Ответить  
 
 автор: anonymous   (15.08.2008 в 18:25)   письмо автору
 
   для: anonymous   (30.07.2008 в 05:01)
 

Новый вопрос.

Необходимо обработать текст из формы так, чтобы он идентично отображался в таблице.
Имеем текст в текстовом файле - с переносами строк и прочее - , необходимо точно также отобразить его так же в таблице.

  Ответить  
 
 автор: mehelson   (15.08.2008 в 18:41)   письмо автору
 
   для: anonymous   (15.08.2008 в 18:25)
 

nl2br();

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

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