Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проблемма с сохранением данных из формы. помогите!


Автор: AlienZ 18.9.2005, 02:05
У меня есть некая форма , на ней расположеня кнопка, при нажатии на которую управление передается скрипту. Скрипт предназначен для сохранения данных из формы в .txt файл, однако в файл сохраняется только надпись "Адрес:", а сами данные из формы не пишутся.
Что делать???

Вот мой скрипт:

<html>
<head>
<title>sic</title>
</head>
<body>
<?php
$filename = "result.txt";
$fp = fopen( $filename, "a" ) or die ( "Не могу открыть файл $filename" );
fwrite( $fp, "Адрес: $room_adr\n\n" );
fclose( $fp );
?>
</body>
</html>

Заранее благодарен за помощь!

[email protected]

Автор: lina 18.9.2005, 08:09
У тебя register_globals=off.Значения переменных нужно брать из суперглобального массива :
$room_adr=$_POST['room_adr'];

Автор: alligator 18.9.2005, 08:20
А можно и сразу работать с массивом
Код

<?php
$filename = "result.txt";
$fp = @fopen( $filename, "a" ) or die ( "Не могу открыть файл $filename" );
@fwrite( $fp, "Адрес:".$_POST['room_adr']."\n\n" ) or die("Не могу записать данные в файл ".$filename."");
fclose( $fp );
?>

Автор: PARROT 18.9.2005, 10:21
AlienZ:
1) Не брезгуйте пользоваться тегами
Код
КОД
для повышения читабельности текста/кода.
2) Скрипт нужен полностью, вместе с кнопкой и формой.
Из того, что у тебя есть, могу предложить следующее:
Код

if(isset($_POST['send'])){//кнопка
$file=fopen("result.txt","a");
fwrite($file,"$time\t$nick\t$sms\n");
fclose($file);
}

Автор: Guest 19.9.2005, 00:55
to PARROT:

Вот код формы:
Код

<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<FORM ACTION="button" METHOD=post ENCTYPE=multipart/form-data>
  <div align="center">
<table border="1" width="78%" bordercolor="red">
    <tr>
        <td bordercolor="red" align="center">
        <p align="center">
            <INPUT name="next4" TYPE="button" ONCLICK="goto_2()" VALUE="Кнопка">
          </td>
 <script>
function goto_2()
{
location.href="write.php";
}
</script> 
    </tr>
    </table>
    <table width="78%" border="1" bordercolor="#FF0000">
      <tr> 
        <td bordercolor="#FF0000"> <div align="center"><strong>Контактная Информация 
            </strong></div></td>
      </tr>
    </table>
  </div>
  <div align="center">
    <table width="78%" border="1" bordercolor="#FF0000">
      <tr> 
        <td bordercolor="#FF0000"> <p><strong>1. Фамилия: 
            <INPUT TYPE="text" NAME="fam" SIZE=25>
            </strong></p>
          <p><strong> 2. Имя: 
            <INPUT TYPE="text" NAME="nam" SIZE=25>
            </strong></p>
          <p><strong>3. Отчество: 
            <INPUT TYPE="text" NAME="otch" SIZE=25>
            </strong></p>
          <p><strong>4 . Номер телефона: 
            <INPUT TYPE="text" NAME="tel_num" SIZE=25>
            </strong></p>
          <p><strong>5 . Номер факса: 
            <INPUT TYPE="text" NAME="fax_num" SIZE=25>
            </strong></p>
          <p><strong>6 . E-mail: 
            <INPUT TYPE="text" NAME="email" SIZE=25>
            </strong></p></td>
      </tr>
    </table>
  </div>
  <p><font size="+1"> 
</form>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p><strong> </strong></p>
   
<p>&nbsp;</p>



Вот код скрипта (write.php)
Код

<html>
<head>
<title>sic</title>
</head>
<body>
<?php
$filename = "result.txt";
$filename = "proof.txt";
$fp = fopen(  $filename, "a" ) or die ( "Не могу открыть файл $filename" );
fwrite( $fp, "Фамилия: $fam\n\n" );
fwrite( $fp, "Имя: $nam\n\n" );
fwrite( $fp, "Отчество: $otch\n\n" );
fwrite( $fp, "Номер Телефона: $tel_num\n\n" );
fwrite( $fp, "Номер Факса: $fax_num\n\n" );
fwrite( $fp, "E-Mail: $email\n\n" );
fclose( $fp );
?>
</body>
</html>



Буду рад, если поможешь!

Автор: PARROT 19.9.2005, 09:53
Код

<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<?php
if(isset($_POST['send'])){
 $file=fopen("result.txt","a");
    fwrite($file,"Фамилия:$fam\tИмя: $nam\tОтчество:$otch\tНомер телефона:$tel_num\tНомер факса:$fax_num\t$Email:email\n");
    fclose($file);

}
?>
<FORM METHOD=post>
  <div align="center">
    <table width="78%" border="1" bordercolor="#FF0000">
      <tr>
        <td bordercolor="#FF0000"> <div align="center"><strong>Контактная Информация
            </strong></div></td>
      </tr>
    </table>
  </div>
  <div align="center">
    <table width="78%" border="1" bordercolor="#FF0000">
      <tr>
        <td bordercolor="#FF0000"> <p><strong>1. Фамилия:
            <INPUT TYPE="text" NAME="fam" SIZE=25>
            </strong></p>
          <p><strong> 2. Имя:
            <INPUT TYPE="text" NAME="nam" SIZE=25>
            </strong></p>
          <p><strong>3. Отчество:
            <INPUT TYPE="text" NAME="otch" SIZE=25>
            </strong></p>
          <p><strong>4 . Номер телефона:
            <INPUT TYPE="text" NAME="tel_num" SIZE=25>
            </strong></p>
          <p><strong>5 . Номер факса:
            <INPUT TYPE="text" NAME="fax_num" SIZE=25>
            </strong></p>
          <p><strong>6 . E-mail:
            <INPUT TYPE="text" NAME="email" SIZE=25>
            </strong></p></td>
      </tr>
    </table>
    <table border="1" width="78%" bordercolor="red">
    <tr>
        <td bordercolor="red" align="center">
        <p align="center">
            <INPUT name="send" TYPE="submit" VALUE="Кнопка">
          </td>
    </tr>
    </table>
  </div>
</form>

Автор: AlienZ 19.9.2005, 14:01
Ругается

Method Not Allowed
The requested method POST is not allowed for the URL /s/*******/WWW/sm.htm.

права поставил 755

Автор: -=Ustas=- 19.9.2005, 14:06
Ты что, не можешь провести отладку по шагам???!!!!

Автор: AlienZ 19.9.2005, 14:10
To PARROT

Sorry, эт я неправильно делал.
Спасибо ОГРОМНОЕ!!!!!! Все работает!!

Автор: PARROT 19.9.2005, 15:17
AlienZ, я и думаю... что у меня помоему все работало, но в свете последних событий, я могла допустить ошибку.
Сорри за ОФТОП. smile
AlienZ, а как на счет того, чтобы зарегистрироваться? У Зарегованных пользователей, больше прав. smile

Автор: AlienZ 19.9.2005, 16:04
to PARROT
Уже!

Скажи тогда уж мне, ламеру напоследок, почему в этом коде он не хочет на другую страницу переходить, а обновляет текущую? и што надо сделать штоб оно так работало
Код

<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<?php
if(isset($_POST['send'])){
$file=fopen("result.txt","a");
fwrite($file,"Квартира: $room_adr\nРазмещение: $razm\nВзрослых в номере: $ad_in_num\nДети до 12 лет: $kid_in_num\nДата Вашего прибытия: $arr_date\nПланиркемое время пребывания: $vr_prebl\nФорма оплаты: $op_form\n");
fclose($file);

}
?>
<p align="center"><strong>bla bla bla:</strong></p>
<p align="center">la bla blala bla blala bla blala bla blala bla blala bla blala bla blala bla blala bla blala bla bla</p>
<FORM METHOD=post>
  <div align="center">
    <table border="1" width="78%" bordercolor="red">
      <tr> 
        <td bordercolor="red" align="center"> <p align="center"> 
            <INPUT name="send" TYPE="submit" id="send" ONCLICK="goto_1()" VALUE="ЗАЯВКА">
        </td>
        <script>
function goto_1()
{
location.href="gr_1.php";
}
</script>
        <td bordercolor="red" align="center"> <p align="center"> 
            <INPUT name="send" TYPE="submit" id="send" ONCLICK="goto_2()" VALUE="КОНТАКТНАЯ ИНФОРМАЦИЯ">
        </td>
        <script>
function goto_2()
{
location.href="gr_2.php";
}
</script>
        <td bordercolor="red" align="center" width="228"> <p align="center"> 
            <INPUT name="send" TYPE="submit" id="send" ONCLICK="goto_3()" VALUE="ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ">
        </td>
        <script>
function goto_3()
{
location.href="gr_3.php";
}
</script>
        <td bordercolor="red" align="center"> <p align="center"> 
            <INPUT name="send" TYPE="submit" id="send" ONCLICK="goto_4()" VALUE="ТРАНСФЕРТ">
        </td>
        <script>
function goto_4()
{
location.href="gr_4.php";
}
</script>
      </tr>
    </table>
  </div>
  <div align="center">
<table width="78%" border="1" bordercolor="#FF0000">
      <tr> 
        <td height="214" bordercolor="#FF0000" bgcolor="#FFFFFF"> <p><strong>1. 
            Квартира: 
            <SELECT NAME="room_adr">
              <OPTION>Адрес 1 </option>
              <OPTION>Адрес 2 </option>
              <OPTION>Адрес 3 </option>
              <OPTION>Адрес 4 </option>
            </SELECT>
            </strong></p>
          <p><strong>2. Размещение: 
            <select name="razm">
              <option>Одноместное </option>
              <option>Двуместное (Одна Кровать) </option>
              <option>Двуместное (Раздельные Кровати) </option>
            </select>
            </strong></p>
          <p><strong>3. Взрослых в номере: 
            <INPUT TYPE="text" NAME="ad_in_num" SIZE=5>
            </strong></p>
          <p><strong>4. Дети до 12 лет: 
            <INPUT TYPE="text" NAME="kid_in_num" SIZE=5>
            </strong></p>
          <p><strong>5. Дата Вашего прибытия</strong>: 
            <INPUT TYPE="text" NAME="arr_date" SIZE=15>
          </p>
          <p><strong>6. Планируемое время пребывания: 
            <INPUT TYPE="text" NAME="vr_preb" SIZE=15>
            </strong></p>
          <p><strong> 7. Форма оплаты: 
            <SELECT NAME="op_form">
              <option>Наличными в офисе компании</option>
              <option>Наличными на квартире агенту</option>
              <option>Безналичный расчет</option>
              <option>Кредитной картой</option>
            </SELECT>
            </strong> </p></td>
        <p></p>
      </tr>
    </table>
    </table>
    </div>
</form>


Заранее thanX

Автор: PARROT 19.9.2005, 16:08
Код

<?php
if(isset($_POST['send'])){
$file=fopen("result.txt","a");
fwrite($file,"Квартира: $room_adr\nРазмещение: $razm\nВзрослых в номере: $ad_in_num\nДети до 12 лет: $kid_in_num\nДата Вашего прибытия: $arr_date\nПланиркемое время пребывания: $vr_prebl\nФорма оплаты: $op_form\n");
fclose($file);
header('location: куда перейти.php');
exit;
}

Про буферизацию не забудь, только что объясняла тут: http://forum.vingrad.ru/index.php?showtopic=17167&st=15

Автор: AlienZ 19.9.2005, 16:13
arigato!

Автор: AlienZ 19.9.2005, 16:32
oops...

я имел ввиду переход при нажатии на кнопку. Т.Е. сначала инфа пишется в файл, а потом осуществляется переход на заданную страницу. Кнопок там 4 и все ведут на разные страницы. Я с php пока только на "Вы"...

Автор: PARROT 19.9.2005, 16:36
Правильно, пишем в файл, потом переходим куда надо.
А четыре кнопки не получится, тогда нужно делать 4 формы с четырьмя кнопками.
ТОгда нужно какое-то условие и переменная, по значению которй будет выбираться та страница, куда нужно прийти.
А вот отчего она зависит?

Автор: -=Ustas=- 19.9.2005, 16:40
Тег <input> с onClick-ом надо выносить за пределы </form>, тогда будет срабатывать твоя функция.

Автор: PARROT 19.9.2005, 16:50
-=Ustas=-, уже зачем?
Все работает без яваскрипт. Вообще не советуют мешать яваскрипт и рнр. Только в редких случаях, когда без него никак не обойтись.
Сейчас осталось решить, зачем 4 кнопки и куда они должны вести, их условие и написать:
Код

if($vasya==1) {
хедер сюда
}elseif($vasya==2){
хедер сюда
} и т.д.

Автор: AlienZ 19.9.2005, 17:17
мда...

Автор: AlienZ 19.9.2005, 20:00
все равно немного не то...

Автор: -=Ustas=- 20.9.2005, 08:02
AlienZ, всмысле не то? PARROT тебе идею рабочую дала.

Автор: PARROT 20.9.2005, 09:34
AlienZ, ты напиши подробно, объясни, что тебе нужно сделать, типа плана что ли.
1) шаг первый
2) шаг второй
Если ты незнаешь, что не то, то мы тем более незнаем.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)