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


Автор: Каролина 22.10.2010, 11:53
Приветству всех!
Давненько я тут не была.Вот нужна ваша помощь опять,есть такая форма:

Код

<FORM action="action.php" method="POST">
            <font color="#FFFFFF">
            <b>Ваше сообщение:</b><br>
            </font>
            <TEXTAREA type="text" ROWS=4 COLS=40 name="feedback"></TEXTAREA>
            <br>
            <font color="#FFFFFF">
            <b>Ваше имя и фамилия:</b></font><br>
            <INPUT type="text" NAME="friendname" SIZE="20">
            <br>
            <font color="#FFFFFF">
            <b>Ваш e-mail:</b></font><br>
            <INPUT type="text" name="friendmail" size="20" maxlength="40">
            <br>
            <INPUT type="submit" value="Отправить" name="submit">
            <INPUT type="reset" value="Очистить">
          </FORM>



Которая отправляла данные на почту,вот скрипт файла  action.php :

Код

<?php
if(isset($_POST['submit'])):
$to = "test@test.ru";
$subject = "Акция приглашение!";          
$body .= "<hr color=#990000>\n";
$body .= $_POST['feedback']."\n";
$body .= "<br><b>От:&nbsp;</b>".$_POST['friendname']."\n";
$body .= "<br><b>E-Mail:&nbsp;</b>".$_POST['friendmail']."\n\n";
mail($to, $subject, $body, "From: ".$_POST['friendname']." <".$_POST['friendmail'].">\nContent-type: text/html; charset=windows-1251\n");else:
?>


и есть такой скрипт,который записывает в тектовый файл через разделитель | время,дату,айпи и откуда пришёл посетитель:

Код

<?php
$date = date("d"."."."F"."."."Y");
$time = date("H"."."."i");
$ip = $_SERVER["REMOTE_ADDR"];
$ref = $_SERVER["HTTP_REFERER"];
$new_arr = $date."|".$time."|".$ip."|".$ref."|".$us."\n";
$ufile = "logi/logfile.log";
if (!file_exists ($ufile))
{
   $fp = fopen($ufile, 'w');
}
else
{
   $fp = fopen ($ufile, 'a');
}
fputs ($fp, $new_arr);
fclose ($fp);
?>


Теперь самое главное,мне не нужно отправлять данные из формы на почту,а надо чтоб вторым скриптом ко всему прочему тоесть времени,дате,айпи и т.д. писались также через разделитель и данные из формы,тоесть само сообщение,имя и фамилия и эмейл.Никак не соображу как это сделать.Помогите пожалуйста мне с этим.

Автор: DeamonShan 22.10.2010, 12:12
Укажите в атрибуте action формы путь к второму скрипту.

Затем перечислите все поля в переменную:

$new_arr = $date."|".$time."|".$ip."|".$ref."|".$us."|". $_POST['имя поля']."|"......."|". $_POST['имя поля'];

Автор: Каролина 22.10.2010, 12:14
DeamonShan, спасибо огромное,всё получилось как надо  smile 

Автор: patap 22.10.2010, 12:18
передавать данные из формы скрипту, где запись в файл идет.

ну и чуть поменять
Код

$new_arr = $date."|".$time."|".$ip."|".$ref."|".$us. $_POST['feedback'] ."|".$_POST['friendname']."|".$_POST['friendmail'] . "\n";


зачем так изврящяться)
Код

$date = date("d"."."."F"."."."Y");

Автор: Каролина 22.10.2010, 13:25
patap, а что вместо этого
Код

$date = date("d"."."."F"."."."Y");

 можно что-то другое сделать чтоб время писалось? 

Автор: bars80080 22.10.2010, 13:32
Цитата(Каролина @  22.10.2010,  13:25 Найти цитируемый пост)
$date = date("d"."."."F"."."."Y");

 можно что-то другое сделать чтоб время писалось?  

можно и так:

Код

$date = date("d.F.Y");


Автор: skyboy 22.10.2010, 16:07
прошу не забывать: одна тема - один вопрос. обсуждение вывода из лога выделил в отдельную тему.

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