Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2011, 10:19   #1
kapitel_bc@ukr.net
Пользователь
 
Регистрация: 31.01.2010
Сообщений: 49
По умолчанию Заполнение таблицы online

Уважаемые знатоки!
Подскажите, пожалуйста, пример создания таблицы на сайте которую, после заполнения, можно было бы отправить на e-mail. Пробовал гуглить - безрезультатно. Может я не правильно формулирую запрос...
kapitel_bc@ukr.net вне форума Ответить с цитированием
Старый 26.05.2011, 18:23   #2
kirosin
Форумчанин
 
Аватар для kirosin
 
Регистрация: 15.01.2010
Сообщений: 209
По умолчанию

ты неправильно формулируешь запрос.
как это вообще должно выглядеть? если таблица имеет четкое количество полей (анкета или опросник), то в каждое поле ставишь input, после отправки принимаешь данные, проверяешь на корректность, создаешь такую же таблицу, но уже вместо input'ов ставишь полученные данные и отправляешь на мыло.
если количество полей может меняться, то нужно понимать чего ты хочешь добиться и как это должно выглядеть.
Все генитальное просто.
kirosin вне форума Ответить с цитированием
Старый 26.05.2011, 19:43   #3
kapitel_bc@ukr.net
Пользователь
 
Регистрация: 31.01.2010
Сообщений: 49
По умолчанию

kirosin, спасибо. Но, чесно говоря, мне это мало о чем говорит.
Таблица же - такая:
Фамилия учасника, имя учасника, команда, год рождения, весовая категория... (на 30-ть учасников).
"после отправки принимаешь данные, проверяешь на корректность, создаешь такую же таблицу, но уже вместо input'ов ставишь полученные данные и отправляешь на мыло." -
в этом я совсем профан!
Буду благодарен за помощь.

Последний раз редактировалось kapitel_bc@ukr.net; 27.05.2011 в 03:07.
kapitel_bc@ukr.net вне форума Ответить с цитированием
Старый 27.05.2011, 02:52   #4
kapitel_bc@ukr.net
Пользователь
 
Регистрация: 31.01.2010
Сообщений: 49
По умолчанию Попробовал input, но дальше мои познания закончились

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">

<style type="text/css">
/*----------Text Styles----------*/
.ws6 {font-size: 8px;}
.ws7 {font-size: 9.3px;}
.ws8 {font-size: 11px;}
.ws9 {font-size: 12px;}
.ws10 {font-size: 13px;}
.ws11 {font-size: 15px;}
.ws12 {font-size: 16px;}
.ws14 {font-size: 19px;}
.ws16 {font-size: 21px;}
.ws18 {font-size: 24px;}
.ws20 {font-size: 27px;}
.ws22 {font-size: 29px;}
.ws24 {font-size: 32px;}
.ws26 {font-size: 35px;}
.ws28 {font-size: 37px;}
.ws36 {font-size: 48px;}
.ws48 {font-size: 64px;}
.ws72 {font-size: 96px;}
.wpmd {font-size: 13px;font-family: 'Arial';font-style: normal;font-weight: normal;}
/*----------Para Styles----------*/
DIV,UL,OL /* Left */
{
 margin-top: 0px;
 margin-bottom: 0px;
}
</style>

</head>

<body>

<input name="formtext1" type="text" style="position:absolute;width:260px;left:10px;top:80px;z-index:0">
<input name="formtext2" type="text" style="position:absolute;width:182px;left:275px;top:80px;z-index:1">
<input name="formtext3" type="text" style="position:absolute;width:88px;left:460px;top:80px;z-index:2">
<input name="formtext4" type="text" style="position:absolute;width:87px;left:550px;top:80px;z-index:3">
<input name="formtext5" type="text" style="position:absolute;width:83px;left:640px;top:80px;z-index:4">
<input name="formtext6" type="text" style="position:absolute;width:260px;left:10px;top:105px;z-index:5">
<input name="formtext7" type="text" style="position:absolute;width:182px;left:275px;top:105px;z-index:6">
<input name="formtext8" type="text" style="position:absolute;width:88px;left:460px;top:105px;z-index:7">
<input name="formtext9" type="text" style="position:absolute;width:87px;left:550px;top:105px;z-index:8">
<input name="formtext10" type="text" style="position:absolute;width:83px;left:640px;top:105px;z-index:9">
<input name="formtext11" type="text" style="position:absolute;width:260px;left:10px;top:130px;z-index:10">
<input name="formtext12" type="text" style="position:absolute;width:182px;left:275px;top:130px;z-index:11">
<input name="formtext13" type="text" style="position:absolute;width:88px;left:460px;top:130px;z-index:12">
<input name="formtext14" type="text" style="position:absolute;width:87px;left:550px;top:130px;z-index:13">
<input name="formtext15" type="text" style="position:absolute;width:83px;left:640px;top:130px;z-index:14">
<input name="formtext16" type="text" style="position:absolute;width:237px;left:485px;top:165px;z-index:15">
<div id="text1" style="position:absolute; overflow:hidden; left:474px; top:160px; width:-188px; height:23px; z-index:16">
</div>

<div id="text2" style="position:absolute; overflow:hidden; left:355px; top:195px; width:126px; height:30px; z-index:17">
<div class="wpmd">
<div><font class="ws12"><b>ФИО тренера</b></font><font color="#FF0000" class="ws18"><b>*</b></font><font class="ws12"><b>:</b></font></div>
</div></div>

<input name="formtext17" type="text" style="position:absolute;width:237px;left:485px;top:200px;z-index:18">
<div id="text3" style="position:absolute; overflow:hidden; left:375px; top:230px; width:107px; height:29px; z-index:19">
<div class="wpmd">
<div><font class="ws12"><b>Ваш E-mail</b></font><font color="#FF0000" class="ws18"><b>*</b></font><font class="ws12"><b>:</b></font></div>
</div></div>

<input name="formtext18" type="text" style="position:absolute;width:237px;left:485px;top:235px;z-index:20">
<div id="text4" style="position:absolute; overflow:hidden; left:285px; top:160px; width:194px; height:30px; z-index:21">
<div class="wpmd">
<div><font class="ws12"><b>Команда (город, клуб)</b></font><font color="#FF0000" class="ws18"><b>*</b></font><font class="ws12"><b>:</b></font></div>
</div></div>

</body>
</html>
kapitel_bc@ukr.net вне форума Ответить с цитированием
Старый 27.05.2011, 08:27   #5
Mortimoro
Форумчанин
 
Регистрация: 03.12.2010
Сообщений: 334
По умолчанию

ужас какой! О_О
вот это извращение никому не показывай, 150 инпутов вручную прописать, а потом еще принять и обработать это мазохизм еще тот...
в данном случае, таблица строится циклом на 30 проходов, в каждом проходе строится одна строка на 5 инпутов, а данные помещаются в массив, чтобы потом так же легко обработать их циклом, а не принимать 150 переменных.
таблицу строить можно яваскриптом, а принимать и обрабатывать данные PHP-скриптом.
Mortimoro вне форума Ответить с цитированием
Старый 27.05.2011, 09:22   #6
kirosin
Форумчанин
 
Аватар для kirosin
 
Регистрация: 15.01.2010
Сообщений: 209
По умолчанию

примитивный пример на PHP:
файл test1.php
PHP код:
<body>
<form method="post" action="test2.php">
<table><th>Фамилия</th><th>Имя</th><th>Команда</th><th>Год рождения</th><th>Весовая категория</th>
<?
for($i=0;$i<30;$i++)
{
    echo 
'<tr>
        <td><input type="text" name="fam[]"></td>
        <td><input type="text" name="name[]"></td>
        <td><input type="text" name="comm[]"></td>
        <td><input type="text" name="year[]"></td>
        <td><input type="text" name="wcat[]"></td>
        </tr>'
;
}
?>
<tr><td colspan="5">Команда (город, клуб)*: <input type="text" name="command"></td></tr>
<tr><td colspan="5">ФИО тренера*: <input type="text" name="trainer"></td></tr>
<tr><td colspan="5">Ваш E-mail*: <input type="text" name="email"></td></tr>
<tr><td colspan="5"><input type="submit" value="Отправить"></td></tr>
</table></form>
</body>
файл test2.php
PHP код:
<body>
<table><th>Фамилия</th><th>Имя</th><th>Команда</th><th>Год рождения</th><th>Весовая категория</th>
<?
$fam
=$_POST['fam'];
$name=$_POST['name'];
$comm=$_POST['comm'];
$year=$_POST['year'];
$wcat=$_POST['wcat'];
for(
$i=0;$i<30;$i++)
{
    echo 
'<tr><td>'.$fam[$i].'</td><td>'.$name[$i].'</td><td>'.$comm[$i].'</td><td>'.$year[$i].'</td><td>'.$wcat[$i].'</td></tr>';
}

echo 
'<tr><td colspan="5">Команда (город, клуб)*: '.$_POST['command'].'</td></tr>
<tr><td colspan="5">ФИО тренера*: '
.$_POST['trainer'].'</td></tr>
<tr><td colspan="5">Ваш E-mail*: '
.$_POST['email'].'</td></tr>';
?>
</table>
</body>
файл test1.php - строим таблицу с инпутами, заносим данные об участниках в массивы, передаем данные в test2.php.
файл test2.php - принимаем данные и строим таблицу.

чтобы отправить таблицу на email, в файле test2.php не выводим таблицу, а прописываем ее в переменную $message:
PHP код:
<body>
<?
$fam
=$_POST['fam'];
$name=$_POST['name'];
$comm=$_POST['comm'];
$year=$_POST['year'];
$wcat=$_POST['wcat'];
$message='<table><th>Фамилия</th><th>Имя</th><th>Команда</th><th>Год рождения</th><th>Весовая категория</th>';
for(
$i=0;$i<30;$i++)
{
    
$message.='<tr><td>'.$fam[$i].'</td><td>'.$name[$i].'</td><td>'.$comm[$i].'</td><td>'.$year[$i].'</td><td>'.$wcat[$i].'</td></tr>';
}
$message.='<tr><td colspan="5">Команда (город, клуб)*: '.$_POST['command'].'</td></tr>
<tr><td colspan="5">ФИО тренера*: '
.$_POST['trainer'].'</td></tr></table>';
?>
</body>
затем гуглим "php mail()" и находим как отправить переменную $message с html-содержимым на мыло.

PS: это примитивный пример без проверки данных на корректность и безопасность.
Все генитальное просто.
kirosin вне форума Ответить с цитированием
Старый 27.05.2011, 09:59   #7
kapitel_bc@ukr.net
Пользователь
 
Регистрация: 31.01.2010
Сообщений: 49
По умолчанию kirosinу спасибо

Начало есть - буду заниматься.
Думю, что и в свои 50-т смогу справиться - может еще и воспитаники подскажут (я ведь тренер). Еще раз спасибо
kapitel_bc@ukr.net вне форума Ответить с цитированием
Старый 27.05.2011, 18:23   #8
kapitel_bc@ukr.net
Пользователь
 
Регистрация: 31.01.2010
Сообщений: 49
По умолчанию Что-то слепил-построил...

...но, не фунциклирует
Цепляю архив, со всеми потрохами, может кто-то сумеет разобраться...
kapitel_bc@ukr.net вне форума Ответить с цитированием
Старый 27.05.2011, 18:38   #9
kapitel_bc@ukr.net
Пользователь
 
Регистрация: 31.01.2010
Сообщений: 49
По умолчанию Архив не грузится

Выкладываю код:
PHP код:
<?php

include('kcaptcha/kcaptcha.php');
session_start();
require_once(
"config.php");


if (
$_POST['act']== "y")
{
if(isset(
$_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring'])
{

if (isset(
$_POST['posName']) && $_POST['posName'] == "")
{
$statusError "$errors_name";
}
elseif (isset(
$_POST['posEmail']) && $_POST['posEmail'] == "")
{
$statusError "$errors_mailfrom";
}
elseif(isset(
$_POST['posEmail']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/"$_POST['posEmail']))
{
$statusError "$errors_incorrect";

unset(
$_POST['posEmail']);
}
elseif (isset(
$_POST['posRegard']) && $_POST['posRegard'] == "")
{
$statusError "$errors_subject";
}
elseif (isset(
$_POST['posText']) && $_POST['posText'] == "")
{
$statusError "$errors_message";
}

elseif (!empty(
$_POST))
{
//для нас
$headers  "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: $content  charset=$charset\r\n";
$headers .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";
$headers .= "From: \"Заказ с сайта ".$_POST['posName']."\" <".$_POST['posEmail'].">\r\n";
$headers .= "X-Mailer: My Send E-mail\r\n";

//для заявителя
$headerszakaz  "MIME-Version: 1.0\r\n";
$headerszakaz .= "Content-Type: $content  charset=$charset\r\n";
$headerszakaz .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";
$headerszakaz .= "From: \"Подтверждение заказа\" <".$mailto.">\r\n";
$headerszakaz .= "X-Mailer: My Send E-mail\r\n";

mail("$mailto","$subject","Посетитель  отправил заказ: $message","$headers");//отправляем  нам
mail($_POST['posEmail'],"$subject","Ваш заказ получен: $message","$headerszakaz");//отправляем  заказчику

unset($name$posText$mailto$subject$posRegard$message);

$statusSuccess "$send";
}

}else{
$statusError "$captcha_error";
unset(
$_SESSION['captcha_keystring']);
}
}
?>

<html>
<head>
<title>Oбpaтнaя cвязь</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link href="styling.css" rel="stylesheet" type="text/css" media='screen,projection' />
</head>
<body>

<h2>Именная заявка</h2>
<p id="emailSuccess">
<strong style="color:green;"><?php echo "$statusSuccess?></strong>
</p>
<p id="emailError"><strong style="color:red;"><?php echo "$statusError?></strong></p>

<div id="contactFormArea">
<form action="./" method="post" id="cForm">
<input type="hidden" name="act" value="y" />
<fieldset>
<label for="posName"><b>ФИО тренера:</b></label>
<input class="text" type="text" style="position:absolute; width:260px; size="25" name="posName" id="posName" />
<label for="posEmail"><b><br>
        <br>
        E-mail адрес: </b></label>
<input class="text" type="text" style="position:absolute; width:260px; name= "posEmail" id="posEmail" />
<label for="posRegard"><b><br>
        <br>
        Команда (город, клуб):</b></label>
<input class="text" type="text"  style="position:absolute; width:260px; name= "posRegard" id="posRegard" />
<label for="posCaptcha"><center><b><br>
        <br>
        Текст на изображении (цифры)</b>:<br>
</label><a href='readme.html'><img src="kcaptcha?<?php echo session_name()?>=<?php echo session_id()?>" border=0></a></left>
<input class="text" type="text"  style="position:absolute; width:80px; name="keystring" id="keystring" />
<br>
<br><label><input class="submit" type="submit" name="selfCC" id="selfCC" value=" Отправить " /></label>
</fieldset>
<?php include 'kcaptcha/kcaptcha_rand.php' ?>
<span id="table">
<table border=0 cellspacing=0 cellpadding=3>
<caption>&nbsp;</caption>
<tr><td>Прізвище</td><td>Им'я</td><td>Рік <br>
    народження</td><td>Вагова<br>
категорія</td><td>
<a href="#" onClick="return addline();">Додати учасника</a></td></tr>
<tr id="newline" nomer="[0]">
<td><input type="text" name="name[0]"></td><td><input type="text" name="lname[0]"></td><td><input type="text" name=; top: 533px;"date[0]"></td><td><input type="text" name =; left: 431px; top: 533px;"weight[0]"></td>
<td valign="top"><a href="#" onclick="return rmline(0);">Видалити</td></tr></table>
</span>
<script>
var c=0; //счётчик количества строк
function addline()
{
    c++; 
    s=document.getElementById('table').innerHTML; 
    s=s.replace(/[\r\n]/g,''); 
    re=/(.*)(<tr id=.*>)(<\/table>)/gi;
                /
    s1=s.replace(re,'$2'); 
    s2=s1.replace(/\[\d+\]/gi,'['+c+']'); 
                
    s2=s2.replace(/(rmline\()(\d+\))/gi,'$1'+c+')');
                
    s=s.replace(re,'$1$2'+s2+'$3');
                
    document.getElementById('table').innerHTML=s;
                
    return false; 
}
function rmline(q)
{
                
    s=document.getElementById('table').innerHTML;
    s=s.replace(/[\r\n]/g,'');
    re=new RegExp('<tr id="?newline"? nomer="?\\['+q+'.*?<\\/tr>','gi');
                
    s=s.replace(re,'');
                
    document.getElementById('table').innerHTML=s;
    return false;
}
</script>
</form>
</div>

</body>
</html>
kapitel_bc@ukr.net вне форума Ответить с цитированием
Старый 27.05.2011, 18:39   #10
kapitel_bc@ukr.net
Пользователь
 
Регистрация: 31.01.2010
Сообщений: 49
По умолчанию Файл конфигурации

config.php:
PHP код:
<?php
$mailto 
"kapitel_bc@ukr.net";
$charset "windows-1251";
$subject $_POST['posRegard'];
$content "text/plain";
$message $_POST['posText'];
$statusError "";
$statusSuccess "";
$errors_name 'Введите ваше имя';
$errors_mailfrom 'Введите свой E-mail адрес';
$errors_incorrect 'Заполните правильно Ваш E-mail адрес';
$errors_message 'Наберите текст вашего сообщения';
$errors_subject 'Введите тему сообщения';
$captcha_error 'Проверьте правильность ввода защитного кода';
$send 'Ваша заявка отправлена';
?>
kapitel_bc@ukr.net вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение таблицы из бд Damhurz PHP 34 05.04.2013 14:38
Заполнение таблицы arkvid Microsoft Office Excel 10 17.11.2010 18:32
Не происходит заполнение таблицы Lokos БД в Delphi 18 22.04.2010 09:48
Заполнение таблицы по условию! KNatalia Microsoft Office Excel 0 27.10.2009 14:09
заполнение таблицы Andreyka Общие вопросы Delphi 6 07.02.2009 22:18