Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись и воспроизведение данных в документ из форм, запись в txt из form 
:(
    Опции темы
C5oLoJ
Дата 5.1.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 24.7.2007

Репутация: нет
Всего: нет



Здравствуйте! 
Я хотел сделать скрипт бесплатного показа баннеров на странице, для этого будет служить табличка с формой отправки данных но чет не получается то данные не хотят записываться то есче че нить не так! Вобщем помогите кто чем может.
Я не хочю отображать баннеры по очереди данные дулжны переписываться и банер будет отображаться пока его не заменят!
_______________________________________________________
|                                                                                                            |
|                                                                                                            |
|                                                                                                            |
----------------------------------------------------------------------------------------
| URL баннера:   |_____________________|     _________              |
| URL ссылка:      |_____________________|     | отпраить |             |
|_______________________________________________________

Код

                           <table width=468 border=0>
<form method="post">
                           <tr>
                           <td width=468 colspan="2" height="60">

<?php
$text = fopen ("base.txt","r");
$bufer=fread($text, filesize(base.txt));
fclose($text);
echo "{$bufer}";
?>
                    
                           </td>
                           </tr>
                           <tr>
                           <td width=106><font color=red><sup>*</sup></font>URL ссылка:</td>
                           <td align=left width="352">
        <input type="text" name="site" maxlength="50" size="49"></td>
                           </tr>
                           <tr>
                           <td width=106><font color=red><sup>*</sup></font>URL баннера:</td>
                           <td align=left width="352">
        <input type="text" name="baner" maxlength="50" size="49"></td>
                           </tr>
                           <tr>
        <td width=106><input type="submit" value="Заменить"></td>
                           <td align=left width="352">
                           <p align="left"><font color=red><sup>*</sup></font> - поля, обязательные для заполнения</td>
                           </tr>
                           </form>
                           </table>

<?php

$files = "base.txt";

if ($site != " && $baner != ")

{

$zapis = "<a href=\"$site\"><img src=\"$baner\" border=\"0\"></a>\n" 

$fp = fopen($files, "w");

$fw = fwrite($fp, $zapis);

fclose($fp); } 

?>


Но этот скрипт не работает ПОМОГИТЕ ИСПРАВИТЬ или напишите пожалуйста ваш варинт. Из книг нечего понять не могу, вроде все делаю правельно но почему то не работает.  smile 
PM MAIL   Вверх
onsql
Дата 5.1.2008, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 3.12.2007

Репутация: нет
Всего: 3



Сначала модификация твоего кода до рабочего состояния:
Код

<?php

$files = "base.txt";

if ((strtoupper($_SERVER['REQUEST_METHOD'])=='POST') && isset($_POST['site']) && isset($_POST['baner']))
{

  $site = $_POST['site'];
  $baner = $_POST['baner'];

  $zapis = "<a href=\"$site\"><img src=\"$baner\" border=\"0\"></a>\n";

  $fp = fopen($files, "w");
  if (!$fp)
    die('error');

  $fw = fwrite($fp, $zapis);

  fclose($fp); 
 } 

?>

                           <table width=468 border=0>
<form method="post">
                           <tr>
                           <td width=468 colspan="2" height="60">

<?php
$text = fopen ($files,"r");
$bufer=fread($text, filesize($files));
fclose($text);
echo $bufer;
?>
                    
                           </td>
                           </tr>
                           <tr>
                           <td width=106><font color=red><sup>*</sup></font>URL ссылка:</td>
                           <td align=left width="352">
        <input type="text" name="site" maxlength="128" size="49"></td>
                           </tr>
                           <tr>
                           <td width=106><font color=red><sup>*</sup></font>URL баннера:</td>
                           <td align=left width="352">
        <input type="text" name="baner" maxlength="128" size="49"></td>
                           </tr>
                           <tr>
        <td width=106><input type="submit" value="Заменить"></td>
                           <td align=left width="352">
                           <p align="left"><font color=red><sup>*</sup></font> - поля, обязательные для заполнения</td>
                           </tr>
                           </form>
                           </table>


В том что ты привел помимо синтаксических ошибок, типа пропущенной точки с запятой (может при копировании в форум потерялось?) существенно следующее:
Во-первых ты закладываешься на то что опция register_globals включена. Это просто преступно! Большинство хостеров её отключают, поэтому бери переменные из глобальных массивов $_POST либо $_GET.
Во-вторых текстовые константы всегда бери в кавычки. Иначе вот в этой строке:
Код

filesize(base.txt) 

Символ "." будет интерпретироваться как объединение двух строк base и txt. И, следовательно, ты проверяешь длину файла 'basetxt' а не 'base.txt'

Ну и циничные ограничения полей ввода в форме на 50 символов (maxlength). Весьма мало, я вот три раза пытался баннер поставить "http://forum.vingrad.ru/style_images/2/menu/menu_forum.gif" пока не понял в чем дело smile)

Ну а когда будешь далее развивать этот код - обрати внимание на проверку вводимых пользователем данных. Выводить на страницу без проверки пользовательские данные весьма опасно, в твоем случае практически готовая XSS уязвимость.

Это сообщение отредактировал(а) onsql - 5.1.2008, 17:18
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0754 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.