Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [PHP] отправки формы на емейл с проверкой полей 
:(
    Опции темы
Yarus
  Дата 15.2.2008, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.8.2006
Где: Киеff [UA]

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



Вот столкнулся с такой проблеммой:

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

такой скрипт у меня есть, я его настроил под себя и он работал...

он выглядит так: 
Код

           <form method="post" action="send.phtml">
              <table width="100%" border="0">
                <tr>
                  <td width="424" align="right"><b><font face="Arial" size="2">Номер дисконтной карточки</font></b></td>
                  <td width="566" align="center"><input type="hidden" name="fName[1]" value="Номер дисконтной карточки"/>
                      <input name="fData[1]" type="text" size="40" /></td>
                </tr>
                <tr>
                  <td width="424" align="right"><b><font face="Arial" size="2">Фамилия</font></b></td>
                  <td width="566" align="center"><input type="hidden" name="fName[2]" value="Фамилия" />
                      <input name="fData[2]" type="text" size="40" /></td>
                </tr>

так много полей....
                <tr>

                  <td align="right"><b><font face="Arial" size="2">Дата регистрации</font></b></td>
                  <td align="center"><input type="hidden" name="fName[19]" value="Дата регистрации" />
                      <input name="fData[19]" type="text" size="40" /></td>
                </tr>
                <tr>
                  <td align="right"><b><font face="Arial" size="2">Хотите ли вы получать новости о предоставляемых скидках?</font></b>
                      <p> <font face="Arial"><b>
                        <input name="fName[20]" type="hidden" value="Хотите ли вы получать новости о предоставляемых скидках?">
                        <input name="fData[20]" type="checkbox" value="да">
                        <font size="2">да</font></b></font></td>
                </tr>
                <tr>
                  <td align="right"><b><font face="Arial" size="2">Примечание</font></b></td>
                  <td align="center"><input type="hidden" name="fName[21]" value="Примечание"/>
                      <textarea name="fData[21]" cols="30" rows="5"></textarea></td>
                </tr>
              </table>
              <input type="hidden" name="fMail" value="[email protected]">
              <input type="hidden" name="fTitle" value="Вам поступил заказ">
              <input type="hidden" name="fSubject" value="Регистрация">
              <input type="hidden" name="fCount" value="21">
              <input type="hidden" name="fOk" value="http://studcard.com.ua/">
              <input type="hidden" name="fBad" value="http://www.MYNAME.ru/bad.html">

                  <input name="submit" type="submit"> </p>
              <p></p>
            </form>



тот самый СЕНД, через который проходит действие выглядит так: 

Код

<?
$fText="$fTitle\n\n";
for ($i=1;$i<=$fCount;$i++) {$fText.=$fName[$i].":     ".$fData[$i]."\n";}
$fText.="\n\n";
$fText.=date("l dS of F Y h:i:s A");
if (mail($fMail,$fSubject,$fText)) {Header("Location: $fOk");}
else {Header("Location: $fBad");}
exit;
?>



Все меня устраивало, но я решил сделать проверку полей, тоже нашел скрипт:

Код

<html><body>
<script language="JavaScript">
function Check(){
if(!f.Name.value){
alert('Обязательное поле "Имя" не заполнено.');
f.Name.focus();
return false;}
if(!f.Passw.value){
alert('Обязательное поле "Пароль" не заполнено.');
f.Passw.focus();
return false;}
jsfield = new String(f.Passw.value);
if (jsfield.length<6){
alert ('Поле "Пароль" должно быть длиннее 6 символов.');
f.Passw.value='';
f.Passw.focus();
return false;}
if(!f.Word.value){
alert('Обязательное поле "Слово" не заполнено.');
f.Word.focus();
return false;}
jsfield = new String(f.Word.value);
if (jsfield.length>5){
alert ('Поле "Слово" должно быть меньше 5 символов.');
f.Word.focus();
return false;}
if(!f.Email.value){
alert('Обязательное поле "E-mail" не заполнено.');
f.Email.focus();
return false;}
if(f.Email.value.indexOf('@',0)==-1){
alert ('E-mail адрес введён не корректно.');
f.Email.focus();
return false;}
return true; }
</script>
<center><br><br><br>
<form method="POST" onsubmit="return Check()" name="f">
<table border=0 cellspacing=5 cellpadding=0>
<tr><td align=right>Твоё имя:</td><td><input name="Name" type="text"></td></tr>
<tr><td align=right>Пароль >6 символов:</td><td><input name="Passw" type="password"></td></tr>
<tr><td align=right>Слово меньше 5 символов:</td><td><input name="Word" type="text"></td></tr>
<tr><td align=right>E-mail:</td><td><input name="Email" type="text"></td></tr>
<tr><td></td><td><input type="submit" value="Угу"></td></tr>
</table>
</form>
</center>



Вобщем когда я пытаюсь их скрестить, начинаютсья баги: исчезает проверка

когда в этот скрипт вставляешь поле 
Код
<input type="hidden" name="fName[1]" value="Номер дисконтной карточки"/>


все нормально (этот код используеться для отображения инфы уже в пришедшем не мейл письме)

баги начинаються при смене имени, например <input name="fData[1]" , в сенде это значение ".$fData[$i]."\n";} пробовал его править, но так толком и не вышло ничего, т.к в ПХП не силен...

Кто чем сможет помочь?

В инете скрипт проверки лежит у меня тут: http://studcard.com.ua/links а скрипт отправки формы тут: http://studcard.com.ua/reg.html

спасибо
PM MAIL WWW ICQ   Вверх
GeneralElectric
Дата 15.2.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я бы рекомендовал делать проверку на сервере.
Тем более, что в яваскрипте ты тоже, как я понимаю, не силен.
PM MAIL   Вверх
Yarus
Дата 15.2.2008, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.8.2006
Где: Киеff [UA]

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



А как сделать на сервере??

да, я пока в этом новичек...
PM MAIL WWW ICQ   Вверх
GeneralElectric
Дата 15.2.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Тем более, что раз у тебя не работает яваскрипт, то и обращаться надо было в соответствующий раздел.

На пхп проверять точно так же.
оператор условного перехода - if
длина строки - функция strlen()
поиск символа в строке - strpos()
пустота переменной - empty()

if (empty($_POST[fData][1])) $error[]="Обязательное поле "Имя" не заполнено.";

Но, пожалуй, проще будет, действительно, на яваскрипте...

PM MAIL   Вверх
Yarus
Дата 15.2.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.8.2006
Где: Киеff [UA]

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



мм... сори, может тогда модератор переместит в ЯС раздел?

Модератор: переместил

Это сообщение отредактировал(а) MoLeX - 15.2.2008, 15:29
PM MAIL WWW ICQ   Вверх
Emm
Дата 15.2.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Но, пожалуй, проще будет, действительно, на яваскрипте...

яваскрипт отключаем  и отправляем пустую форму  smile 
PM MAIL WWW ICQ   Вверх
Golda
Дата 15.2.2008, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

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



Хорошая практика - проверять поля и на клиенте (javascript-ом) и на сервере (php). 

Проверка на клиенте - для удобства пользователя и уменьшения нагрузки на сервер. Если пользователь случайно ошибся при вводе, он не должен ждать загрузки ответа от сервера только для того, чтобы узнать, что случайно ошибся в одном символе. А сервер в этом случае не будет тратить ресурсы на дополнительные нерезультативные запросы, без которых вполне может обойтись. 

С другой стороны, проверка на сервере тоже необходима. Во-первых, у кого-то может быть в броузере отключен javascript и проверка на клиенте не сработает. Во-вторых, помимо случайных ошибок, неправильный ввод может быть связан с поиском уязвимостей вашего скрипта. В таком случае данные вообще, скорее всего, будут отправляться не через броузер. Из соображений безопасности проверка на сервере необходима.

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


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
Emm
Дата 15.2.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Хорошая практика - проверять поля и на клиенте (javascript-ом) и на сервере (php). 


я так и делаю, и всем советую  smile 
PM MAIL WWW ICQ   Вверх
Akeem
Дата 15.2.2008, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

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



Короче нужно исправить в пхп коде строку $this->Out.="if(!$this->Form.$Item.value) на $this->Out.="if($this->Form.$Item.value == "")
тогда будет все работать.
У тебя же текстовые поля! Кто придумал сравнивать текстовые данные как булевские?
После исправления запускаешь на генерацию снова код и будет тебе радость.

П.С. В яваскрипте даже кажись есть спеиальная фукция для проверки на пустоту. Так и назвается IsEmpty(val) вот она и есть булевская


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
Sardar
Дата 16.2.2008, 05:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Сразу после формы ответа идут ссылки "А здесь смотрели?". Также в поиск достаточно вбить "валидация формы".


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Akeem
Дата 16.2.2008, 12:18 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

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



Ярус ты скачал скрипт, а разобратся в нем лень!
Так вот. у тебя не работает потому что не правильно задаешь имена текстовых полей.
не правильно
Код

 <input name="fData[20]" type="checkbox" value="да">


правильно
Код

 <input name="fData20" type="checkbox" value="да">


Для ява скрипта переменная fData[20] расценивается как массив.

твой сенд можно переписать с учетом такой особености.
Код

<?
$fText="$fTitle\n\n";
for ($i=1;$i<=$fCount;$i++) {$fText.=$fName[$i].":     ".$fData$i."\n";}
$fText.="\n\n";
$fText.=date("l dS of F Y h:i:s A");
if (mail($fMail,$fSubject,$fText)) {Header("Location: $fOk");}
else {Header("Location: $fBad");}
exit;
?>


и все будет работать. 
И кстате тот скрипт не оптимален. если почитать любую книжку по яваскрипту то там найдешь пример проверки пустых полей на форме. и пример будет написан через цикл. 

Код

for()
{
...
document.form['<your form name>'].item().value == ""
...
}


Это сообщение отредактировал(а) Akeem - 16.2.2008, 12:29


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
Yarus
Дата 18.2.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.8.2006
Где: Киеff [UA]

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



Благодаря Акиму вышло связать 2 скрипта, но, теперь при показе ошибки что поле не заполнено, страница обновляеться, тоесть все поля очищаються, как же сделать так чтоб не очищались?


вот сама страница

Код

<?php
 include('for2.inc');

 $MyForm = new FormValid('form','CheckEmpty','http://photor.com.ua/testing/send3.php',LANG_RU);
   $MyForm->AddIf('fData1','Номер дисконтной карточки',ITEM_IS_EMPTY);
   $MyForm->AddIf('fData2','Фамилия',ITEM_IS_EMPTY);
   $MyForm->AddIf('fData3','Имя',ITEM_IS_EMPTY);;
   $MyForm->AddIf('fData4','Отчество',ITEM_IS_EMPTY);
   $MyForm->AddIf('fData5','ИД- код  (для начисления бонусов)',ITEM_IS_EMPTY);
   $MyForm->AddIf('fData6','Серия паспорта, номер (без пробелов)',ITEM_IS_EMPTY);
   $MyForm->AddIf('fData7','Кем выдан, где, когда',ITEM_IS_EMPTY);
   $MyForm->AddIf('fData8','ВУЗ',ITEM_IS_EMPTY);
   $MyForm->Out();
?>
            <form method="post" name="form" onsubmit="CheckEmpty()">
              <table width="100%" border="0">
                <tr>
                  <td width="424" align="right"><b><font face="Arial" size="2">Íîìåð äèñêîíòíîé êàðòî÷êè</font></b></td>
                  <td width="566" align="center"><input type="hidden" name="fName1" value="Íîìåð äèñêîíòíîé êàðòî÷êè"/>
                      <input name="fData1" type="text" size="40" /></td>
                </tr>
                <tr>
                  <td width="424" align="right"><b><font face="Arial" size="2">Ôàìèëèÿ</font></b></td>
                  <td width="566" align="center"><input type="hidden" name="fName2" value="Ôàìèëèÿ" />
                      <input name="fData2" type="text" size="40" /></td>
                </tr>
                <tr>
                  <td width="424" align="right"><b><font face="Arial" size="2">Èìÿ</font></b></td>
                  <td width="566" align="center"><input type="hidden" name="fName3" value="Èìÿ" />
                      <input name="fData3" type="text" size="40" /></td>
                </tr>


так далее..


                  <td align="right"><b><font face="Arial" size="2">ICQ</font></b></td>
                  <td align="center"><input type="hidden" name="fName18" value="ICQ" />
                      <input name="fData18" type="text" size="40" /></td>
                </tr>
                <tr>
                  <td align="right"><b><font face="Arial" size="2">Äàòà ðåãèñòðàöèè</font></b></td>
                  <td align="center"><input type="hidden" name="fName19" value="Äàòà ðåãèñòðàöèè" />
                      <input name="fData19" type="text" size="40" /></td>
                </tr>
                <tr>
                  <td align="right"><b><font face="Arial" size="2">Õîòèòå ëè âû ïîëó÷àòü íîâîñòè î ïðåäîñòàâëÿåìûõ ñêèäêàõ?</font></b>
                      <p> <font face="Arial"><b>
                        <input name="fName20" type="hidden" value="Õîòèòå ëè âû ïîëó÷àòü íîâîñòè î ïðåäîñòàâëÿåìûõ ñêèäêàõ?">
                        <input name="fData20" type="checkbox" value="äà">
                        <font size="2">äà</font></b></font></td>
                </tr>
                <tr>
                  <td align="right"><b><font face="Arial" size="2">Ïðèìå÷àíèå</font></b></td>
                  <td align="center"><input type="hidden" name="fName21" value="Ïðèìå÷àíèå"/>
                      <textarea name="fData21" cols="30" rows="5"></textarea></td>
                </tr>
              </table>
              <input type="hidden" name="fMail" value="[email protected]">
              <input type="hidden" name="fTitle" value="Âàì ïîñòóïèë çàêàç">
              <input type="hidden" name="fSubject" value="Ðåãèñòðàöèÿ">
              <input type="hidden" name="fCount" value="22">
              <input type="hidden" name="fOk" value="http://studcard.com.ua/">
              <input type="hidden" name="fBad" value="http://www.MYNAME.ru/bad.html">
              <b><font face="Arial" size="2">Äàííûå, óêàçàííûå ìíîé âåðíû, ÿ ñîãëàñåí, ÷òî â ïðîòèâíîì ñëó÷àå êàðòà áóäåò àíóëèðîâàíà</font></b>
                      <p> <font face="Arial"><b>
                        <input name="fName22" type="hidden" value="Õîòèòå ëè âû ïîëó÷àòü íîâîñòè î ïðåäîñòàâëÿåìûõ ñêèäêàõ?">
                        <input name="fData22" type="checkbox" value="ñîãëàñåí">
                      <font size="2">ñîãëàñåí(à)</font></b><br><p>
                      <font size="2">????????(?)</font></b><br><p>
                  <input name="submit" type="submit" > </p>
              <p></p>
            </form>


вот фор2.инк, на который ссылаеться

Код

define('ITEM_IS_EMPTY'       ,1);
define('ITEM_IS_NUM'         ,2);
define('ITEM_IS_EMAIL'       ,3);
define('ITEM_IS_EMAIL_CLEAR' ,4);
define('ITEM_IS_SMALL'       ,5);
define('ITEM_IS_SMALL_CLEAR' ,6);
define('ITEM_IS_BIG'         ,7);
define('ITEM_IS_BIG_CLEAR'   ,8);
define('LANG_RU'             ,9);
define('LANG_EN'            ,10);

class FormValid
{
  var $Form;
  var $Out;
  var $Lang;
  var $FormAct;

  function FormValid($FormName,$FunctionName,$FormAction, $Language=LANG_RU)
  {
    $this->Form = $FormName;
    $this->Lang = $Language;
    $this->FormAct = $FormAction;
    $this->Out = "<script language=\"JavaScript\">\r\n".
                 "function $FunctionName(){\r\n";
  }//function FormValid

  function AddIf($Item,$ItemName='',$VerifyType=ITEM_IS_EMPTY,$Add='')
  {
    switch($VerifyType)
    {
      case ITEM_IS_EMPTY:
        $this->Out.="if(!$this->Form.$Item.value){\r\n";
        if ($this->Lang==LANG_RU) $this->Out.="alert('������������ ���� \"$ItemName\" ï¿½ï¿½ ���������.');\r\n";
        if ($this->Lang==LANG_EN) $this->Out.="alert('The required field \"$ItemName\" is not filled.');\r\n";
        $this->Out.="$this->Form.$Item.focus();\r\n".
                    "return false;}\r\n";
      break;

      case ITEM_IS_NUM:
        $this->Out.="if(isNaN($this->Form.$Item.value)){\r\n";
        if ($this->Lang==LANG_RU) $this->Out.="alert('������������ ���� \"$ItemName\" ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ��������.');\r\n";
        if ($this->Lang==LANG_EN) $this->Out.="alert('The required field \"$ItemName\" should be digital.');\r\n";
        $this->Out.="$this->Form.$Item.focus();\r\n".
                    "return false;}\r\n";
      break;

      case ITEM_IS_EMAIL:
        $this->Out.="if($this->Form.$Item.value.indexOf('@',0)==-1){\r\n";
        if ($this->Lang==LANG_RU) $this->Out.="alert ('E-mail ����� ������ �� ���������.');\r\n";
        if ($this->Lang==LANG_EN) $this->Out.="alert ('E-mail should contain a proper e-mail address.');\r\n";
        $this->Out.="$this->Form.$Item.focus();\r\n".
                    "return false;}\r\n";
      break;

      case ITEM_IS_EMAIL_CLEAR:
        $this->Out.="if($this->Form.$Item.value.indexOf('@',0)==-1){\r\n";
        if ($this->Lang==LANG_RU) $this->Out.="alert ('E-mail ����� ������ �� ���������.');\r\n";
        if ($this->Lang==LANG_EN) $this->Out.="alert ('E-mail should contain a proper e-mail address.');\r\n";
        $this->Out.="$this->Form.$Item.value='';\r\n".
                    "$this->Form.$Item.focus();\r\n".
                    "return false;}\r\n";
      break;

      case ITEM_IS_SMALL:
        $this->Out.="jsfield = new String($this->Form.$Item.value);\r\n".
                    "if (jsfield.length<$Add){\r\n";
        if ($this->Lang==LANG_RU) $this->Out.="alert ('���� \"$ItemName\" ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ������� $Add ��������.');\r\n";
        if ($this->Lang==LANG_EN) $this->Out.="alert ('The field \"$ItemName\" should be longer than $Add symbols.');\r\n";
        $this->Out.="$this->Form.$Item.focus();\r\n".
                    "return false;}\r\n";
      break;

      case ITEM_IS_SMALL_CLEAR:
        $this->Out.="jsfield = new String($this->Form.$Item.value);\r\n".
                    "if (jsfield.length<$Add){\r\n";
        if ($this->Lang==LANG_RU) $this->Out.="alert ('���� \"$ItemName\" ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ������� $Add ��������.');\r\n";
        if ($this->Lang==LANG_EN) $this->Out.="alert ('The field \"$ItemName\" should be longer than $Add symbols.');\r\n";
        $this->Out.="$this->Form.$Item.value='';\r\n".
                    "$this->Form.$Item.focus();\r\n".
                    "return false;}\r\n";
      break;

      case ITEM_IS_BIG:
        $this->Out.="jsfield = new String($this->Form.$Item.value);\r\n".
                    "if (jsfield.length>$Add){\r\n";
        if ($this->Lang==LANG_RU) $this->Out.="alert ('���� \"$ItemName\" ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ������ $Add ��������.');\r\n";
        if ($this->Lang==LANG_EN) $this->Out.="alert ('The field \"$ItemName\" should be less than $Add symbols.');\r\n";
        $this->Out.="$this->Form.$Item.focus();\r\n".
                    "return false;}\r\n";
      break;

      case ITEM_IS_BIG_CLEAR:
        $this->Out.="jsfield = new String($this->Form.$Item.value);\r\n".
                    "if (jsfield.length>$Add){\r\n";
        if ($this->Lang==LANG_RU) $this->Out.="alert ('���� \"$ItemName\" ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ���� ������ $Add ��������.');\r\n";
        if ($this->Lang==LANG_EN) $this->Out.="alert ('The field \"$ItemName\" should be less than $Add symbols.');\r\n";
        $this->Out.="$this->Form.$Item.value='';\r\n".
                    "$this->Form.$Item.focus();\r\n".
                    "return false;}\r\n";
      break;
    }//switch

  }//function AddIf

  function Add($Code)
  {
    $this->Out.=$Code;
  }//function Code

  function Out()
  {
    print $this->Out;
    print $this->Form.".action = \"".$this->FormAct."\";
document.$this->Form.submit();
return true; }\r\n";
    print "</script>\r\n";
    unset($this->Out);
    unset($this->Form);
    unset($this->Lang);
  }//function Out

}//class


?>




и собсно сенд:

Код

<? 
$fText="$fTitle\n\n"; 
for ($i=1;$i<=$fCount;$i++) {$fText.=$fName[$i].":     ".$fData.$i."\n";} 
$fText.="\n\n"; 
$fText.=date("l dS of F Y h:i:s A"); 
if (mail($fMail,$fSubject,$fText)) {
Header("Location: $fOk");} 
else {Header("Location: $fBad");} 
exit; 
?>


как оно работает глянуть можно тут: http://studcard.com.ua/reg2.php

ЗЫ: сори за каракули, лаги русского в Висте...
PM MAIL WWW ICQ   Вверх
Sardar
Дата 18.2.2008, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



onsubmit="return CheckEmpty()"


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Yarus
Дата 18.2.2008, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.8.2006
Где: Киеff [UA]

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



Уря, оно заработало, НО, теперь начал неправильно работать скрипт отправки!

раньше на мыло приходило письмо типа:

Вам поступил заказ

Номер дисконтной карточки:     3134245354
Контактное лицо:     В
Телефон:     2008
Адрес:     Троя    
Желаемое время замера:     02
Примечание:     Дайте мне банан


Tuesday 12th of February 2008 11:50:01 PM


а теперь оно так:

Вам поступил заказ

:В  В  В 1
:В  В  В 2
:В  В  В 3
:В  В  В 4
:В  В  В 5
:В  В  В 6
:В  В  В 7
:В  В  В 8
:В  В  В 9
:В  В  В 10
:В  В  В 11
:В  В  В 12
:В  В  В 13
:В  В  В 14
:В  В  В 15
:В  В  В 16
:В  В  В 17
:В  В  В 18
:В  В  В 19
:В  В  В 20
:В  В  В 21
:В  В  В 22


Monday 18th of February 2008 02:55:30 PM
PM MAIL WWW ICQ   Вверх
Yarus
Дата 19.2.2008, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.8.2006
Где: Киеff [UA]

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



Понял что плуганул... убрал В В В из сенда и вернул [ ] в fName

НО, скрипт теперь не читает инфу из полей, тоесть есть фДата1 2 3... так оно и читает 1 2 3и все, а раньше было фдата[x] и оно было норм... но если сейчас писать в сенде ".$fData[$i]."\n";} вместо ".$fData.$i."\n";}  то оно не отправляет и пишет ошибку скрипта...

ЗЫЫ: это все-таки в разде ПХП надо)

Это сообщение отредактировал(а) Yarus - 19.2.2008, 00:54
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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