ФорумПрограммированиеПыхнуть хотите?F.A.Q. → Отправка формы с сайта

Отправка формы с сайта

  • amromashov

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz Окт. 29, 2008, 2:01 п.п.

    Уважаемые пыхатели.
    Искал при помощи поиска, ничего не нашел на эту тему.
    Я сам себе делаю сайт, на нем по моим задумкам должна быть форма заказов с 4 полями: ФИО, мэил, телефон и текстовое поле "Пожелания" после нажатия на кнопку сабмит, все улетает на мой мэил. В php я далек, но если кто сможет помочь или у кого есть готовая форма, очень сильно прошу - ПОМОГИТЕ))) вот что нашел интересное, но не разабраться http://forum.htmlcode.ru/topic532.html
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Окт. 29, 2008, 2:41 п.п., спустя 40 минут 19 секунд

    да вот накидал:
    <?php
    
    header('Content-Type:text/html;charset=utf-8');
    
    /* НАСТРОЙКИ */
    
    	// Куда отправляем (мыло)
    	$to_mail = 'info@domain.ru';
    	
    	// Кому отправляем (имя)
    	$to_name = 'INFO';
    
    /* —————- */
    
    function CheckEmail($email)
    {
    	$p = '/^[a-z0-9!#$%&*+-=?^_`{|}~]+(\.[a-z0-9!#$%&*+-=?^_`{|}~]+)*';
    	$p.= '@([-a-z0-9]+\.)+([a-z]{2,3}';
    	$p.= '|info|arpa|aero|coop|name|museum)$/ix';
    	return (preg_match($p, $email));
    }
    
    $erorrs = array();
    
    $name = isset($_POST['name']) ? $_POST['name'] : '';
    $email = isset($_POST['email']) ? $_POST['email'] : '';
    $phone = isset($_POST['phone']) ? $_POST['phone'] : '';
    $text = isset($_POST['text']) ? $_POST['text'] : '';
    
    if (!empty($_POST)) {
    	if (empty($name)) {
    		$errors[] = 'Не заполнено поле «Имя»';
    	}
    	if (empty($text)) {
    		$errors[] = 'Не заполнено поле «Сообщение»';
    	}
    	if (!CheckEmail($email)) {
    		$errors[] = 'Не верно введён «E-mail»';
    	}
    	
    	
    	if (empty($errors)) {
    		// Составляем тело сообщенияя:
    		
    		$text = '
    		<p><strong>ФИО:</strong> ' . $name . '</p>
    		<p><strong>E-mail:</strong> <a href="mailto:' . $email . '">' . $email . '</a></p>
    		' . (!empty($phone) ? '<p><strong>Телефон:</strong> ' . $phone . '</p>' : '') . '
    		<p><strong>Текст:</strong></p>
    			<blockquote>' . nl2br(htmlspecialchars($text)) . '</blockquote>
    		';
    		
    		$to_name = "=?utf-8?B?" . base64_encode($to_name) . "?=";
    		$from_name = "=?utf-8?B?" . base64_encode($name) . "?=";
    		
    		$headers  = "MIME-Version: 1.0\n";
    		$headers .= "From: {$from_name} <{$email}>\n";
    		$headers .= "Content-Type: text/html; charset=utf-8\n";
    		$headers .= "X-Mailer: PHP/" . phpversion();
    
    		$subject = "Обратная связь с сайта";
    		
    		$subject = "=?utf-8?B?" . base64_encode($subject) . "?=";
    
    		mail("{$to_name} <{$to_mail}>", $subject, $text, $headers);
    		
    		
    		$mail_sent = true;
    	}
    }
    
    ?>
    
    
    
    
    
    	<style type="text/css">
    		* {
    			font:12px tahoma,arial,serif;
    			color:#333333;
    		}
    		label {
    			display:block;
    			font:14px georgia,arial,serif;
    			color:navy;
    		}
    		input, textarea {
    			background:#ededed;
    			border:1px solid #dddddd;
    			margin-bottom:10px;
    			width:300px;
    			display:block;
    		}
    			input.submit {
    				width:auto;
    			}
    		strong, h3 {
    			font-weight:bold;
    			color:red;
    			font-size:18px;
    		}
    		h3 {
    			color:green;
    		}
    		ul {
    			list-style-type:square;
    			color:#333333;
    		}
    	</style>
    
    <?php
    if (!isset($mail_sent)) {
    	if (!empty($errors)) {
    	?>
    		<p><strong>Ошибки!!111</strong></p>
    		<ul>
    			<?php
    			foreach ($errors as $e) {
    			?>
    			<li><?php print $e; ?></li>
    			<?php
    			}
    			?>
    		</ul>
    	<?php
    	}
    	?>
    	<form action="" method="post" style="width:400px;">
    		<label>ФИО *:</label>
    		<input type="text" name="name" size="50" value="<?php print htmlspecialchars($name); ?>" />
    		
    		<label>E-mail *:</label>
    		<input type="text" name="email" size="50" value="<?php print htmlspecialchars($email); ?>" />
    		
    		<label>Телефон:</label>
    		<input type="text" name="phone" size="50" value="<?php print htmlspecialchars($phone); ?>" />
    		
    		<label>Текст:</label>
    		<textarea name="text" cols="40" rows="5"><?php print htmlspecialchars($text); ?></textarea>
    		
    		<input type="submit" value="Отправить" class="submit" />
    	</form>
    <?php
    }
    else {
    ?>
    	<h3>Спасибо. Ваше сообщение ОТРАВЛЕНО!</h3>
    <?php
    }
    ?>
    все умрут, а я изумруд
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Окт. 29, 2008, 2:45 п.п., спустя 4 минуты 34 секунды

    хотел было перенести в другой раздел, ну раз уж тут создали, то оставлю, ибо ответ более чем развёрнутый и правильный )
    все умрут, а я изумруд
  • amromashov

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz Окт. 29, 2008, 2:51 п.п., спустя 5 минут 9 секунд

    md5 спасибо! Ты мне уже не раз помогал))) отличный ты человек)
  • еrvlen

    Сообщения: 15 Репутация: N Группа: Кто попало

    Spritz Окт. 29, 2008, 7:50 п.п., спустя 4 часа 59 минут 42 секунды

    md5, Я тебя не узнаю… Ты вроде за то, что все делали сами
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Окт. 29, 2008, 8 п.п., спустя 10 минут 3 секунды

    стоит мне отвлечься, как мой кот начинает писать за меня на форуме!!!
    все умрут, а я изумруд
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Окт. 29, 2008, 8:09 п.п., спустя 8 минут 17 секунд


    md5, Я тебя не узнаю… Ты вроде за то, что все делали сами

    да, он такой!
    и он по прежнему невозмутим до охуения! =)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!