Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как отправить результат теста на мыло?


Автор: Солнечная 30.5.2005, 18:53
Мне надо было написать тест по математике, его оценка отправлялась на мыло преподу. Как сделать, чтобы выводился результат (оценка)?
Тест из 5 вопросов. Подскажите, может у меня ошибки в коде, да и в некоторых моментах я не уверена.

Вот код:
<html>
<head> </head>
<body background="fon.jpg">
<form action="??????" method="post"> // что надо указать вместо вопросов???
<form name="myForm2">
<p>1) Сколько прямых можно провести через две точки плоскости?<br>
<input type="radio" name="one" value="2">две<br>
<input type="radio" name="one" value="1">одну<br>
<input type="radio" name="one" value="0">ни одной

//еще подобные 4 вопроса

<p><input type="submit" value=" OK ">
<input type="reset" value="Сброс">
</form>
<? php

$email="[email protected]";
$subject="Results";
$message="Результат????";
mail($email, $subject, $message);
?>
</body>
</html>


Может, кто-то делал что-то подобное...
Я понимаю, что это не сложно, но у меня уже голова пухнет smile
помогите, плиз...

Автор: Opik 30.5.2005, 19:49
указать скрипт, который будет обрабатывать данные.

Автор: $дмитрий 30.5.2005, 19:58
нет не так:

вот
Код

if(empty($_POST['one'])) выводишь форму
else 
{
отправляешь на мыло
}

Код

<form action="'.$_SERVER['PHP_SELF'].'" method="post"> // что надо указать вместо вопросов???(указывай в каком файле будет обрабатываться скрипт)
<form name="myForm2">// удаляй строку это лишнее

а также не правильно само письмо, нужно так
Код

$my_email = ''; //твой почтовый адресс
      
mail("адрес получателяl","тема письма","сообщение",
             "Return-path: <$my_email>\n".
             "From: <$my_email>\n".
             "Reply-To: <$my_email>\n".
             "MIME-Version: 1.0\n".
             "Content-Type: text/plain; charset=\"windows-1251\"\n".
             "Content-Transfer-Encoding: 8bit\n".
             "X-Priority: 3\n".
             "X-Mailer: mailer_name");

Автор: Солнечная 31.5.2005, 09:09
Спасибо. Попробую что-нибудь сделать.
А как результат теста посчитать?

Автор: PARROT 31.5.2005, 11:13
Код

<html>
<head> </head>
<form action="s.php" method="post"> 
<p>1) Сколько прямых можно провести через две точки плоскости?<br>
<input type="radio" name="one" value="2">две<br>
<input type="radio" name="one" value="1">одну<br>
<input type="radio" name="one" value="0">ни одной


<p><input type=submit  name=pas value= OK >
<input type="reset" value="Сброс">
</form>
<?
if (isset($_POST['pas']))
{
    if(isset($_POST['one']))
    {
    $message="$one";    
    }
$email="[email protected]";
$subject="Results";
mail($email, $subject, $message);
}
echo $message;
?>
</body>
</html>

Автор: Солнечная 31.5.2005, 12:04
А что должно быть в файле s.php? Извините за глупые вопросы, но я совсем ничего не понимаю....я даже не могу сообразить как изменить код, который вы написали, для 5 вопросов теста...и надо ли вообще что-то менять........

Автор: PARROT 31.5.2005, 13:45
s.php- Это обработчик формы, в Вашем случае он может быть любым, хоть vasya.php, зависит от названия файла в котором будет лежать эта форма.
То есть название файла вплотную зависит от названия обработчика формы. (В Вашем варианте).
Для 5 вопросов теста нужно просто добавить:
Код

<input type="radio" name="one" value="4">четыре<br>
<input type="radio" name="one" value="3">три<br>
<input type="radio" name="one" value="2">две<br>
<input type="radio" name="one" value="1">одну<br>
<input type="radio" name="one" value="0">ни одной

Вот будет 5 вопросов Вашего теста.
Больше ничего менять не надо.
А вообще лучше купить книгу или поискать инфу по языку в инете, так будет проще Вам задавать вопросы, а нам отвечать.
Солнечная, пользуйтесь кнопкой Код:
Код

тут ваш код.

Удобнее читать, глаза не разбегаются.
Добавлено @ 13:54
Уважаемые, Модераторы!
Эта тема, скорее тянет в "рнр для начинающих"!
smile

Автор: Opik 31.5.2005, 14:47
$дмитрий
Цитата
<form name="myForm2">// удаляй строку это лишнее

когда это давать имя форме стало лишним!?

Автор: Mal Hack 31.5.2005, 16:03
Модератор: Тема перемещена в "PHP для начинающих"

Автор: o.s.a. 31.5.2005, 19:42
Opr, просто нужно писать, как мне кажется, не
Код

<form action="somepahe.php" method="post">
<form name="myForm2">

а
Код

<form name="myForm2"  action="somepahe.php" method="post">


Автор: Joes 31.5.2005, 21:24
Цитата(Opr @ 31.5.2005, 16:47)
$дмитрий
Цитата
<form name="myForm2">// удаляй строку это лишнее

когда это давать имя форме стало лишним!?

лишним не стало, но какой смысл ее здесь обзывать, если имеем одну форму, одну кнопку... Имя здесь не нужно... Так только, ради правил хорошего тона... smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)