Страница 1 из 1

посоветуйте что легче будет выучить

СообщениеДобавлено: 21 янв 2009, 15:46
Zeppter
подскажите как:
1. на html или на php сделать форму отправки сообщений на мыло...
2. на php сделать поиск по сайту
3. на php сделать простое добавление комментариев на сайт (типа чат)
P. S. мне придется это учить так посоветуйте что легче будет выучить...

Re: посоветуйте что легче будет выучить

СообщениеДобавлено: 21 янв 2009, 15:58
AllCity
Ты забил о Базе данных ;)

Re: посоветуйте что легче будет выучить

СообщениеДобавлено: 21 янв 2009, 17:07
Zeppter
мне кажется что первый пункт можно выполнить и без базы... И еще у меня будет в наличии дримвэйвер, фронтпайдж и блокнот... :?

Re: посоветуйте что легче будет выучить

СообщениеДобавлено: 21 янв 2009, 17:44
AllCity
Код: Выделить всё
<?php
function show_form
()
{
?>
<form action="" method=post enctype="multipart/form-data">
<div align="center">
              <br />Имя*<br />
              <input type="text" name="name" size="40">
              <br />Контактный телефон<br />
              <input type="text" name="tel" size="40">
              <br />Контактный email*<br />
              <input type="text" name="email" size="40">
              <br />Teма<br />
              <input type="text" name="title" size="40">
              <br />Сообщение*<br />
              <textarea rows="10" name="mess" cols="30"></textarea>
              <br />Файл<br />
              <input name="attachfile" type="file" size="28">
              <br />Изображение<br />
              <input name="attachimage" type="file" size="28">
              <br /><br /><input type="submit" value="Отправить" name="submit">
</div>
</form>
* Помечены поля, которые необходимо заполнить
<?
}

function complete_mail() {
        // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и  substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
        $_POST['title'] =  substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
        $_POST['mess'] =  substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
        $_POST['name'] =  substr(htmlspecialchars(trim($_POST['name'])), 0, 30);
        $_POST['tel'] =  substr(htmlspecialchars(trim($_POST['tel'])), 0, 30);
        $_POST['email'] =  substr(htmlspecialchars(trim($_POST['email'])), 0, 50);
        // если не заполнено поле "Имя" - показываем ошибку 0
        if (empty($_POST['name']))
             output_err(0);
        // если неправильно заполнено поле email - показываем ошибку 1
        if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email']))
             output_err(1);
        // если не заполнено поле "Сообщение" - показываем ошибку 2
        if(empty($_POST['mess']))
             output_err(2);
        // обратите внимание, теперь мы можем писать красивые письма, с помощью html тегов ;-)
        $mess = '
<b>Имя отправителя:</b>'
.$_POST['name'].'<br />
<b>Контактный телефон:</b>'
.$_POST['tel'].'<br />
<b>Контактный email:</b>'
.$_POST['email'].'<br />
'
.$_POST['mess'];

        // подключаем файл класса для отправки почты
        require 'class.phpmailer.php';

        $mail = new PHPMailer();
        $mail->From = 'test@test.ru';      // от кого
        $mail->FromName = 'www.php-mail.ru';   // от кого
        $mail->AddAddress('to@yandex.ru', 'Имя'); // кому - адрес, Имя
        $mail->IsHTML(true);        // выставляем формат письма HTML
        $mail->Subject = $_POST['title'];  // тема письма

        // если был файл, то прикрепляем его к письму
        if(isset($_FILES['attachfile'])) {
                 if($_FILES['attachfile']['error'] == 0){
                    $mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']);
                 }
        }
        // если было изображение, то прикрепляем его в виде картинки к телу письма.
        if(isset($_FILES['attachimage'])) {
                 if($_FILES['attachimage']['error'] == 0){
                    if (!$mail->AddEmbeddedImage($_FILES['attachimage']['tmp_name'], 'my-attach', 'image.gif', 'base64', $_FILES['attachimage']['type']))
                         die ($mail->ErrorInfo);
                    $mess .= 'А вот и наша картинка:<br /><img src="cid:image.gif" border=0><br />я показал как ее прикреплять, соответственно Вам осталось вставить ее в нужное место Вашего письма ;-) ';
                 }
        }
        $mail->Body = $mess;

        // отправляем наше письмо
        if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
        echo 'Спасибо! Ваше письмо отправлено.';
}

function output_err($num)
{
    $err[0] = 'ОШИБКА! Не введено имя.';
    $err[1] = 'ОШИБКА! Неверно введен e-mail.';
    $err[2] = 'ОШИБКА! Не введено сообщение.';
    echo '<p>'.$err[$num].'</p>';
    show_form();
    exit();
}

if (!empty($_POST['submit'])) complete_mail();
else show_form();
?>

or
Код: Выделить всё
<?php
function show_form
()
{
?>
<form action="" method=post>
<div align="center">
              <br />Имя*<br />
              <input type="text" name="name" size="40">
              <br />Контактный телефон<br />
              <input type="text" name="tel" size="40">
              <br />Контактный email*<br />
              <input type="text" name="email" size="40">
              <br />Teма<br />
              <input type="text" name="title" size="40">
              <br />Сообщение*<br />
              <textarea rows="10" name="mess" cols="30"></textarea>
              <br /><input type="submit" value="Отправить" name="submit">
</div>
</form>
* Помечены поля, которые необходимо заполнить
<?
}

function complete_mail() {
        // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и  substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
        $_POST['title'] =  substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
        $_POST['mess'] =  substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
        $_POST['name'] =  substr(htmlspecialchars(trim($_POST['name'])), 0, 30);
        $_POST['tel'] =  substr(htmlspecialchars(trim($_POST['tel'])), 0, 30);
        $_POST['email'] =  substr(htmlspecialchars(trim($_POST['email'])), 0, 50);
        // если не заполнено поле "Имя" - показываем ошибку 0
        if (empty($_POST['name']))
             output_err(0);
        // если неправильно заполнено поле email - показываем ошибку 1
        if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email']))
             output_err(1);
        // если не заполнено поле "Сообщение" - показываем ошибку 2
        if(empty($_POST['mess']))
             output_err(2);
        // создаем наше сообщение
        $mess = '
Имя отправителя:'
.$_POST['name'].'
Контактный телефон:'
.$_POST['tel'].'
Контактный email:'
.$_POST['email'].'
'
.$_POST['mess'];
        // $to - кому отправляем
        $to = 'test@test.ru';
        // $from - от кого
        $from='test@test.ru';
        mail($to, $_POST['title'], $mess, "From:".$from);
        echo 'Спасибо! Ваше письмо отправлено.';
}

function output_err($num)
{
    $err[0] = 'ОШИБКА! Не введено имя.';
    $err[1] = 'ОШИБКА! Неверно введен e-mail.';
    $err[2] = 'ОШИБКА! Не введено сообщение.';
    echo '<p>'.$err[$num].'</p>';
    show_form();
    exit();
}

if (!empty($_POST['submit'])) complete_mail();
else show_form();
?>

or
Код: Выделить всё
<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
        // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и  substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично
        $title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
        $mess =  substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
        // $to - кому отправляем
        $to = 'test@test.ru';
        // $from - от кого
        $from='test@test.ru';
        // функция, которая отправляет наше письмо.
        mail($to, $title, $mess, 'From:'.$from);
        echo 'Спасибо! Ваше письмо отправлено.';
}
?>
<form action="" method=post>

<p>Вводный текст перед формой <p>
              <div align="center">
              Teма<br />
              <input type="text" name="title" size="40"><br />
              Сообщение<br />
              <textarea name="mess" rows="10" cols="40"></textarea>
              <br />
              <input type="submit" value="Отправить" name="submit"></div>
</form>

From http://www.php-mail.ru/

Re: посоветуйте что легче будет выучить

СообщениеДобавлено: 21 янв 2009, 17:59
Zeppter
ОтличнО!!! А остольные пункты не подскажешь?

Re: посоветуйте что легче будет выучить

СообщениеДобавлено: 21 янв 2009, 19:08
Zeppter
Остольное не так важно как это... Нужно сделать опрос на php ЛЮБОЙ!!! главное чтоб резальтаті віводил...
например:
1 вариант - 8 голосов
2 вариант - 9 голосов
3 вариант - 1 голос

Re: посоветуйте что легче будет выучить

СообщениеДобавлено: 21 янв 2009, 21:04
AllCity
Ну так выдери опрос с кокой то CMS ;) ну или google рулит :lol:
http://scripts.protoplex.ru/scripts_group/45.html
http://first.sergiusd.ru/evolution/show.php?article=5

Re: посоветуйте что легче будет выучить

СообщениеДобавлено: 21 янв 2009, 22:16
Ritlz
Правила Форума писал(а):3. Темы не по тематике этого раздела будут также перенесены в мусорку. (Например по DLE, phpBB, php скриптам и так далее...)

Re: посоветуйте что легче будет выучить

СообщениеДобавлено: 21 янв 2009, 22:36
Zeppter
Ты че поехал??? :lol: