Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Обработка формы, форма и скрипт в одном файле
kap  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 86
Пользователь №: 23739
На форуме: 6 лет, 3 месяца, 8 дней
Карма:




Подскажите где можно почитать про обработку формы.
Ситуация такая. Есть форма в файле index.php, в которой только одно поле "name" и кнопка.
по нажатию кнопки данные введенные в поле отправляются на почту, скрипт лежит в отдельном файле mail.php

<?php
$to = 'mail@mail.ru';
$subject = 'Заказ товара';
$message = $_POST['name'];
$headers = 'From: mail2@mail.ru' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>

можно ли сделать так, чтобы форма и скрипт находились в одном файле? если оставляю их в одном файле, то при загрузке index.php сразу отправляется пустое письмо на мыло
и как можно сделать вывод алерта о незаполненном поле и о удачной отправке сообщения?

многие уроки которые находил написаны для раздельного содержания формы и скрипта
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bolik  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 352
Пользователь №: 35724
На форуме: 4 года, 19 дней
Карма: 4




скрипт должен идти после формы. и я бы добавил условие:


if (isset($_POST['name']) and $_POST['name']!=="") {
//тут твой скрипт
}


ну и смотри конечно что стоит в атрибуте action твоей формы
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kap  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 86
Пользователь №: 23739
На форуме: 6 лет, 3 месяца, 8 дней
Карма:




если все в одном файле, то так понимаю должно быть action=""
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bolik  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 352
Пользователь №: 35724
На форуме: 4 года, 19 дней
Карма: 4




action="<?php echo $_SERVER['PHP_SELF']; ?>"



!empty($_POST['name']) об этом не подумал. но мой вариант кода тоже работать будет tongue.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bolik  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 352
Пользователь №: 35724
На форуме: 4 года, 19 дней
Карма: 4





@$_POST['name'] != ''

это уже из разряда быдлокода, такого я уж точно не советовал. главное, чтоб человеку был смысл понятен.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









спасибо, в одном файле работает и форма и скрипт.
а проверку чем делать, чтобы алерты появлялись, javascript ?
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kap  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 86
Пользователь №: 23739
На форуме: 6 лет, 3 месяца, 8 дней
Карма:




Сори, забыл залогиниться.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bolik  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 352
Пользователь №: 35724
На форуме: 4 года, 19 дней
Карма: 4




если нужны алерты, то да, javascript. а просто сообщения об отправке можно и в php выводить.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kap  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 86
Пользователь №: 23739
На форуме: 6 лет, 3 месяца, 8 дней
Карма:




подскажите еще, как вывести алерт "заполните поле" если поле пустое и алерт "спасибо за заявку" если поле заполнено и данные отправлены?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kap  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 86
Пользователь №: 23739
На форуме: 6 лет, 3 месяца, 8 дней
Карма:




Сделал таким образом, но почему-то не показывается алерт, если поле не заполнено
Если поле заполнено, то все работает нормально
Где ошибся?

if (!empty($_POST['name'])) {
if (!empty($_POST['name'])) {

echo "<script type='text/javascript'>alert('Спасибо за заявку')</script>";

} else {
echo "<script type='text/javascript'>alert('Заполните поле')</script>";
exit;
}
$to = 'mail@yandex.ru';
$subject = 'Заказ товара';
$message = $_POST['name'];
$headers = 'From: mail@yandex.ru' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kap  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 86
Пользователь №: 23739
На форуме: 6 лет, 3 месяца, 8 дней
Карма:




или получается по другому, только загружаю страницу с формой, вылетает сообщение, что поле не заполнено
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kap  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 86
Пользователь №: 23739
На форуме: 6 лет, 3 месяца, 8 дней
Карма:




вопрос решен, всем спасибо!
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

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

Опции темы Ответ в темуСоздание новой темыСоздание опроса