Скрипты php для новичков 14.04.2012 / 00:06 | | Koenig Модератор форума Сейчас: Offline
Имя: Дмитрий Откуда: Калининград(Koenigsberg) Регистрация: 23.01.2011
| limil, Это обычные формы, в учебниках про это подобно написано, в мобивики есть даже готовый скрипт с формами. Нужны теги <form></form> сказать метод и куда будет отдавать данные, далее либо текстареа либо текст поле <input /> указать имя, и тип , например кнопка отправить или поле ввода. <textarea></textarea> сказать имя можно высоту и ширину. Все это хтмл. Обработчик писать из данных массива $_POST
__________________
Магистр Мёда |
14.04.2012 / 18:06 | | limil Пользователь Сейчас: Offline
Имя: limil Откуда: Белая Церковь Регистрация: 01.02.2011
| Koenig, мобивики а где это?
|
14.04.2012 / 18:19 | | Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| limil, Посмотри на главной
|
15.04.2012 / 19:27 | | Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| limil, там примеры не для новичков. Лично я ниче не понял |
15.04.2012 / 20:29 | | boNNdaR Пользователь Сейчас: Offline
Имя: Рома Откуда: місто Львів Регистрация: 01.12.2010
| Поддерживаю.
|
15.04.2012 / 20:32 | | Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| boNNdaR, но и эта тема не оч нужна, хотя может я и ошибаюсь. Если скачать норм учебник, тог там есть свои примеры, которые подробно описаны. А если че не понятно тогда сюда http://annimon.com/forum/id36981 |
15.04.2012 / 20:41 | | boNNdaR Пользователь Сейчас: Offline
Имя: Рома Откуда: місто Львів Регистрация: 01.12.2010
| Тема как раз то и мужна,только вот выложили пока что ровно 0 скриптов=)
|
15.04.2012 / 21:18 | | Serzhant Пользователь Сейчас: Offline
Имя: Сергей Откуда: Астрахань Регистрация: 28.01.2012
| вот, к примеру, скрипт для отправки писем админу. заточен под dcms 7 <?php
//2012 для DCMS Seven
include_once 'sys/inc/start.php';
$doc = new document();
$doc->title = "Письмо администратору" ;
?>
<?
// капча
function capcha($hard) {
switch($hard){
case 2:
$num = range(10, 99);
$first = mt_rand(0,88);
$second = mt_rand(0,88);
$len = 68;
$size = 6;
break;
case 3:
$num = range(100, 999);
$first = mt_rand(0,898);
$second = mt_rand(0,898);
$len = 86;
$size = 8;
break;
default :
$num = range(1, 9);
$first = mt_rand(0,8);
$second = mt_rand(0,8);
$len = 50;
$size = 4;
break;
};
$sum = $num[$first] + $num[$second];
$_SESSION['capcha'] = $sum;
$img = $num[$first] . ' + ' . $num[$second];
if (function_exists('imagecreatetruecolor') && function_exists('imagecolorallocate') && function_exists('imagestring') && function_exists('imagejpeg') && function_exists('imagedestroy')) {
$im = imagecreatetruecolor($len, 20);
$text_color = imagecolorallocate($im, 255, 255, 255);
imagestring($im, 5, 4, 2, $img, $text_color);
imagejpeg($im, 'capcha.jpg', 85);
imagedestroy($im);
return '<img src="capcha.jpg" alt="' . $sum . '"/> = <input type="text" size="' . $size . '" name="capcha"/><br/>';
} else {
return $img . ' = <input type="text" size="' . $size . '" name="capcha"/><br/>';
}
}
//проверяем введено ли значение картинки
if ($_POST['capcha'] == '')
{$hasError = true;
$doc -> msg('Вы не ввели проверочный код!');
} elseif (
//проверяем верно ли введено значение картинки
$_POST['capcha'] != $_SESSION['capcha'])
{
$hasError = true;
$doc -> msg('Вы ввели неверный результат с картинки');
}
unset($_SESSION['capcha']); // если это не дописать, то по кнопке назад можно дубликат отправить
//Если форма отправлена
if(isset($_POST['submit'])) {
//Проверка поля ТЕМА
if($_POST['title'] == '') {
$hasError = true;
$doc -> msg('Вы не выбрали тему сообщения');
}
//Проверка правильности ввода EMAIL
if($_POST['from'] == '') {
$hasError = true;
$doc -> msg('Вы не ввели E-mail');
} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", $_POST['from'])) {
$hasError = true;
$doc -> msg('Вы ввели неправильный формат E-mail');
}
//Проверка наличия ТЕКСТА сообщения
if($_POST['mess'] == '') {
$hasError = true;
$doc -> msg('Вы не ввели сообщение');
}
//Если ошибок нет, отправить email
if(!isset($hasError))
{
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'] и $_POST['from'] все аналогично
$from = substr(htmlspecialchars(trim($_POST['from'])), 0, 100);
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 100);
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 500);
$kodir = "utf-8";
$header = "From: $from\nReply-To: $from\n";
$header .= "Content-Type: text/plain; charset=$kodir\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Transer-Encoding: 8bit\n\n";
mail ($to, $title, $mess, $header);
$doc -> msg('Спасибо! Ваше письмо отправлено.');
}
}
?>
<form action="" method="post">
<p><b>Введите текст сообщения</b> </p>
E-mail<br />
<input type="text" name="from" size="30"></input><br />
Teма<br />
<select name="title">
<option value="">- Категории -</option>
<option value="Общие вопросы по работе сайта">Общие вопросы по работе сайта</option>
<option value="Жалобная книга">Жалобная книга</option>
<option value="Информация для администрации">Информация для администрации</option>
<option value="Прочие вопросы">Прочие вопросы</option>
</select><br />
Сообщение<br />
<textarea name="mess" rows="7" cols="30"></textarea>
<br />
<? echo capcha(1); ?>
<br />
<input type="submit" value="Отправить" name="submit"></input>
</form><br /><br />
вроде все работает |
15.04.2012 / 21:21 | | boNNdaR Пользователь Сейчас: Offline
Имя: Рома Откуда: місто Львів Регистрация: 01.12.2010
| Аааа,мой мозг!!!бжжж.....ж..
|
15.04.2012 / 21:23 | | Serzhant Пользователь Сейчас: Offline
Имя: Сергей Откуда: Астрахань Регистрация: 28.01.2012
| вот так тоже будет работать. немного попроще. <?php
//2012 для DCMS Seven
include_once 'sys/inc/start.php';
$doc = new document();
$doc->title = "Письмо администратору" ;
?>
<?
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 100) - урезаем текст до 100 символов. Для переменных $_POST['mess'] и $_POST['from'] все аналогично
$from = substr(htmlspecialchars(trim($_POST['from'])), 0, 100);
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 100);
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 500);
$kodir = "utf-8";
$header = "From: $from\nReply-To: $from\n";
$header .= "Content-Type: text/plain; charset=$kodir\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Transer-Encoding: 8bit\n\n";
mail ($to, $title, $mess, $header);
$doc -> msg('Спасибо! Ваше письмо отправлено.');
?>
<form action="" method="post">
<p><b>Введите текст сообщения</b> </p>
E-mail<br />
<input type="text" name="from" size="30"></input><br />
Teма<br />
<select name="title">
<option value="">- Категории -</option>
<option value="Общие вопросы по работе сайта">Общие вопросы по работе сайта</option>
<option value="Жалобная книга">Жалобная книга</option>
<option value="Информация для администрации">Информация для администрации</option>
<option value="Прочие вопросы">Прочие вопросы</option>
</select><br />
Сообщение<br />
<textarea name="mess" rows="7" cols="30"></textarea>
<br />
<input type="submit" value="Отправить" name="submit"></input>
</form><br /><br />
Изменено Serzhant (15.04 / 21:25) (всего 1 раз) |
Всего сообщений: 71 Фильтровать сообщения Поиск по теме Файлы топика (1)
|