Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с формой

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Archy108
Отправлено: 21 Августа, 2011 - 17:51:37
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Помогите пожалуйста. Мне нужно сделать. Форму через которую люди будут записываться на прием. Они должны указать ФИО, Возраст, указать контактные данные и ответить на несколько вопросов. Вся информация должна отсылаться мне на почту.
Я взял уже готовую форму "обратной связи" и решил ее модифицировать, но в процессе возникла ошибка которую не могу исправить( бикоз мои знания по php равны 0,01ед.)

Ошибка вот какая"Warning: mail() expects at most 5 parameters, 7 given in /*/*/e/*/domains/*.ru/Новый каталог/index.php on line 87" Что это означает я понимаю, но как это обойти - не знаю. На почту письмо конечно не приходит.

Вот код
Спойлер (Отобразить)


И не приходит на почту отметил ли человек галочку или нет, его возраст не приходит.Приходит только то что было по умолчанию в готовой (Имя,тема, мыло сообщение).

Что делать не знаю помогите!
 
 Top
vsll
Отправлено: 21 Августа, 2011 - 18:07:27
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




к сожалению, именно на ваш вопрос не отвечу
может пригодиться http://swiftmailer[dot]org/
 
 Top
Archy108
Отправлено: 21 Августа, 2011 - 18:10:02
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Vasiliya пишет:
к сожалению, именно на ваш вопрос не отвечу
может пригодиться http://swiftmailer.org/


А почему?Может я некорректно сформулировал его?Или он сложен?

(Отредактировано автором: 21 Августа, 2011 - 18:22:59)

 
 Top
vsll
Отправлено: 21 Августа, 2011 - 18:24:20
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




Объём исполняемого кода приличный, нужно разбираться, а с подобной ошибкой сталкиваться не приходилось
 
 Top
illy
Отправлено: 21 Августа, 2011 - 18:52:50
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Пишет лишние параметры вписал. Вместо 5 - 7 Улыбка

PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset="utf-8">
  5. <title>Web-Kreation Contact Form with field validation</title>
  6. <meta name="author" content="Jeremie Tisseau" />
  7. <meta name="copyright" content="Copyright (c) Web-Kreation 2007" />
  8. <meta name="website" content="http://web-kreation.com" />
  9. <link href="style.css" rel="stylesheet" type="text/css" />
  10. </head>
  11. <body>
  12. <div id="contentForm">
  13.  
  14. <?PHP
  15. $error = ''; // сообщение об ошибке
  16. $name = ''; // имя отправителя
  17. $email = ''; // email отправителя
  18. $subject = ''; // тема
  19. $message = ''; // сообщение
  20. $spamcheck = ''; // проверка на спам
  21. $age = ''; // возраст
  22. $a1 = ''; // a1
  23. $ch='';
  24. if(isset($_POST['send'])){
  25. $name = $_POST['name'];
  26. $email = $_POST['email'];
  27. $subject = $_POST['subject'];
  28. $message = $_POST['message'];
  29. $spamcheck = $_POST['spamcheck'];
  30. $age = $_POST['age'];
  31. if(isset($_POST['a1'])){ $bb='a1 отмечен'; $ch='checked'; }
  32. else { $bb='a1 НЕ отмечен'; }
  33. if(trim($name) == ''){ $error = '<div class="errormsg">Пожалуйста, введите Вашу фамилия, имя и отчество!</div>'; }
  34. else if(trim($email) == ''){ $error = '<div class="errormsg">Пожалуйста, введите Ваш email!</div>'; }
  35. else if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]{2,20}\.[a-z]{2,4}/i", $email)){
  36. $error = '<div class="errormsg">Вы ввели неправильный e-mail. Пожалуйста, исправьте его!</div>';
  37. }
  38.  
  39. else if(trim($message) == ''){ $error = '<div class="errormsg">Пожалуйста, введите сообщение!</div>'; }
  40. else if(trim($spamcheck) == ''){ $error = '<div class="errormsg">Пожалуйста, введите проверку на спам!</div>'; }
  41. else if(trim($spamcheck) != '5'){ $error = '<div class="errormsg">Проверка на спам: Вы ввели неправильный результат! 2 + 3 = ???</div>'; }
  42. if($error == ''){
  43. $message = stripslashes($message);
  44. }
  45.  
  46. $to = "3453@ya.ru";
  47. $sub=$subject;
  48. $subject = 'Запись на приём: '.$subject;
  49.  
  50. $msg="Полное имя: $name<br>
  51. Email: $email<br>
  52. Тема: $sub<br>
  53. Возраст: $age<br>
  54. $bb<br><br>
  55. $message";
  56. $hd="Content-Type: text/html; charset=windows-1251\r\n
  57. From: ".$_SERVER['SERVER_NAME']."\r\n
  58. Reply-To: $email\r\nReturn-Path: $email\r\n
  59. X-Mailer: PHP/".phpversion();
  60.  
  61. mail($to,$subject,$msg,$hd);
  62. ?>
  63.  
  64. <div style=text-align:center>
  65. <h1>Поздравляем!</h1>
  66. <p>Спасибо <b><? echo $name;?></b>, Ваше сообщение успешно отправлено!</p>
  67. </div>
  68.  
  69. <?PHP
  70. }
  71. }
  72.  
  73. if(!isset($_POST['send']) || $error != '')
  74. {
  75. ?>
  76.  
  77. <h1>Пример контактной формы:</h1>
  78. <!--Error Message-->
  79. <? echo $error; ?>
  80. <table cellspacing=2 cellpadding=0 class=n_d width=500>
  81. <form method=post name=contFrm id=contFrm>
  82. <tr>
  83. <td>
  84. <table cellspacing=2 cellpadding=0>
  85. <tr><td height=22>Полное имя:
  86. <tr><td height=22>Email:
  87. <tr><td height=22>Тема:
  88. <tr><td height=22>Возраст:
  89. </table>
  90. <td>
  91. <table  cellspacing=2 cellpadding=0>
  92. <tr><td height=22><input name=name type=text class=box id=name size=30 value="<? echo $name; ?>">
  93. <tr><td height=22> <input name=email type=text class=box id=email maxlength=50 size=30 value="<? echo $email; ?>">
  94. <tr><td height=22><input name=subject type=text class=box id=subject size=30 value="<? echo $subject; ?>">
  95. <tr><td height=22><input name=age type=text class=box id=subject size=2 maxlength=2 value="<? echo $age; ?>">
  96. <input name=a1 type=checkbox class=box id=subject <? echo $ch; ?>> a1:
  97. </table>
  98. <tr>
  99. <td colspan=2>
  100. <br>
  101. Сообщение:
  102. <br><textarea name=message cols=40 rows=3 id=message><? echo $message; ?></textarea>
  103. <br>Проверка на спам: <b>2 + 3=</b> <input name=spamcheck type=text class=box id=spamcheck size=4 value="<? echo $spamcheck; ?>">
  104. <input name=send type=submit class=button id=send value="Отправить">
  105. </form></table>
  106. <?PHP
  107. }
  108. ?>
  109. </div></body></html>

(Отредактировано автором: 21 Августа, 2011 - 18:54:04)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Archy108
Отправлено: 21 Августа, 2011 - 19:11:33
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




illy СпасиБог! Работает!
 
 Top
illy
Отправлено: 21 Августа, 2011 - 19:14:49
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Archy108 пишет:
illy СпасиБог!

Ха-ха приколист Ха-ха
Ну рад был помочь.
P.S.: Можно было ещё сделать проверку на правильность ввода возраста, нормальную капчу и защиту от php инъекций (взлома)


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Archy108
Отправлено: 21 Августа, 2011 - 19:22:10
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




А я пока ждал ответа понял как обойти эту ошибку. Я просто в $msg загнал другие переменные которые мне нужны, но с это галочкой мне бы не справилось. Да можно было бы. А часто вообще делают инъекции?

(Отредактировано автором: 21 Августа, 2011 - 19:35:44)

 
 Top
illy
Отправлено: 21 Августа, 2011 - 20:11:12
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




часто


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Если скрипт не работает »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB