|
|
|
| Я взяла замечательный скрипт формы отправки сообщений. Но в нем не хватает то, что мне нужно - ещё одно поле для добавления файла, т.е. как в этом форуме: "прикрепить" .
Не могли бы помочь справиться?
вот скрипт:
<?
$action = $_GET['action'];
$s = file("filer/form.set");
$count = count($s);
list($name,$type,$error,$sub,$before,$after,$email,$min)=explode("<<>>", $s[0]);
$sub = str_replace(" ","\r\n",$sub);
$before = str_replace('||','"',$before);
$after = str_replace('||','"',$after);
$names_text = $name;
$type_text =$type;
$zvezda_text=$error;
$sub_text =$sub;
$rrt = explode("^^^", $names_text);
$r = explode("^^^", $type_text);
$rt = explode("^^^", $zvezda_text);
$rrtt = explode("^^^", $sub_text);
if($names_text == "") { exit("no fields"); }
$rr = count($rrt);
if($action == "") { echo "<h1>".$before."</h1>"; }
if($action == "ok") { echo "<h1><font color=red><b>".$after."</b></font></h1>"; }
echo"<br><form action=send.php method=POST>";
echo "<table border=0 width=100% align=center class=form><tr><td width=20%></td><td></td></tr>";
$n_in = 0;
$n_ch = 0;
$n_tx=0;
$n_ra =0;
for($i=0;$i<$rr;$i++)
{
if($rt[$i] !="") {$zv ="<font color=red><small><sup>*</sup></small></font>";}
else { $zv ="";}
if($r[$i] == 0) { echo"<tr><td>".$rrt[$i].$zv."</td><td><input type=text name=input[".$i."] value='' style='width:100%'></td></tr>
<input type=hidden name=inchek[".$i."] value='".$rt[$i]."'>"; }
if($r[$i] == 1) { echo"<tr><td valign=top>".$rrt[$i].$zv."</td><td><textarea name=text[".$i."] style='width:100%' rows=4></textarea></td></tr>
<input type=hidden name=txchek[".$i."] value='".$rt[$i]."'>"; }
if($r[$i] == 2)
{
$opt = explode("\r\n", $rrtt[$i]);
$count_opt = count($opt);
echo"<tr><td>".$rrt[$i].$zv."</td><td><select name=select[".$i."] style='width:100%'>";
for($o=0;$o<$count_opt;$o++)
{
if($o == 0) {$ggg = "selected";}
else {$ggg="";}
echo "<option value='".$opt[$o]."' ".$ggg.">".$opt[$o];
}
echo"</select></td></tr><tr><td colspan=2> </td></tr><input type=hidden name=selchek[".$i."] value='".$rt[$i]."'>";
}
if($r[$i] == 3)
{
$ch = explode("\r\n", $rrtt[$i]);
$count_ch = count($ch);
echo"<tr><td valign=top>".$rrt[$i].$zv."</td><td>";
for($h=0;$h<$count_ch;$h++)
{
echo "
<input type=checkbox name=chek".$n_ch."[".$h."] value='".$ch[$h]."'> ".$ch[$h]."<br>";
}
echo"</td></tr><tr><td colspan=2> </td></tr><input type=hidden name=cg[".$n_ch."] value=".$h."><input type=hidden name=chchek[".$i."] value='".$rt[$i]."'>";
$n_ch++;
}
if($r[$i] == 4)
{
$ra = explode("\r\n", $rrtt[$i]);
$count_ra = count($ra);
echo"<tr><td valign=top>".$rrt[$i].$zv."</td><td>";
for($o=0;$o<$count_ra;$o++)
{
if($o == 0) {$gggfh = "checked";}
else {$gggfh="";}
echo "<input type=radio name=radio[".$i."] value='".$ra[$o]."' ".$gggfh.">".$ra[$o]."<br>";
}
echo"</td></tr><tr><td colspan=2> </td></tr><input type=hidden name=rachek[".$i."] value='".$rt[$i]."'>";
}
if($r[$i] == 5) { echo"<tr><td>".$rrt[$i].$zv."</td><td><input type=text name=em[".$i."] value='' style='width:100%'></td></tr>
<input type=hidden name=emchek[".$i."] value='".$rt[$i]."'>"; }
}
$er_ok=0;
for($e=0;$e<count($rt);$e++)
{
if($rt[$e] !="") { $er_ok++;}
}
echo "<tr><td colspan=2 align=left><br>
<font color=red><small><sup>*</sup></small></font> Поля обязательные для заполнения <input type=submit value='Отправить' > <input type=reset value='Очистить'></td></tr>";
echo "</table>";
echo "<input type=hidden name=i value='".$i."'>";
echo "<input type=hidden name=h value='".$h."'>";
echo "<input type=hidden name=error value='".$er_ok."'>";
echo"</form>";
?>
|
| |
|
|
|
|
|
|
|
для: Ксения_954
(14.08.2007 в 21:17)
| | Если вы имеете ввиду о загрузке файлов на сервер, то добавьте в форму поле:
<input type="file" name="namefile">
а теге FORM добавьте - enctype="multipart/form-data", т.е. этот тег у вас должен выглядеть так:
<form action=send.php method=POST enctype="multipart/form-data">; | |
|
|
|
|
|
|
|
для: sim5
(14.08.2007 в 21:23)
| | я изменила так:
<?
$action = $_GET['action'];
$s = file("filer/form.set");
$count = count($s);
list($name,$type,$error,$sub,$before,$after,$email,$min)=explode("<<>>", $s[0]);
$sub = str_replace(" ","\r\n",$sub);
$before = str_replace('||','"',$before);
$after = str_replace('||','"',$after);
$names_text = $name;
$type_text =$type;
$zvezda_text=$error;
$sub_text =$sub;
$rrt = explode("^^^", $names_text);
$r = explode("^^^", $type_text);
$rt = explode("^^^", $zvezda_text);
$rrtt = explode("^^^", $sub_text);
if($names_text == "") { exit("no fields"); }
$rr = count($rrt);
if($action == "") { echo "<h1>".$before."</h1>"; }
if($action == "ok") { echo "<h1><font color=red><b>".$after."</b></font></h1>"; }
echo "<table border=0 width=100% align=center class=form><tr><td width=20%></td><td></td></tr>";
[b]<form action=send.php method=POST enctype="multipart/form-data">;[/b]
$n_in = 0;
$n_ch = 0;
$n_tx=0;
$n_ra =0;
for($i=0;$i<$rr;$i++)
{
if($rt[$i] !="") {$zv ="<font color=red><small><sup>*</sup></small></font>";}
else { $zv ="";}
if($r[$i] == 0) { echo"<tr><td>".$rrt[$i].$zv."</td><td><input type=text name=input[".$i."] value='' style='width:100%'></td></tr>
<input type=hidden name=inchek[".$i."] value='".$rt[$i]."'>"; }
if($r[$i] == 1) { echo"<tr><td valign=top>".$rrt[$i].$zv."</td><td><textarea name=text[".$i."] style='width:100%' rows=4></textarea></td></tr>
<input type=hidden name=txchek[".$i."] value='".$rt[$i]."'>"; }
if($r[$i] == 2)
{
$opt = explode("\r\n", $rrtt[$i]);
$count_opt = count($opt);
echo"<tr><td>".$rrt[$i].$zv."</td><td><select name=select[".$i."] style='width:100%'>";
for($o=0;$o<$count_opt;$o++)
{
if($o == 0) {$ggg = "selected";}
else {$ggg="";}
echo "<option value='".$opt[$o]."' ".$ggg.">".$opt[$o];
}
echo"</select></td></tr><tr><td colspan=2> </td></tr><input type=hidden name=selchek[".$i."] value='".$rt[$i]."'>";
}
if($r[$i] == 3)
{
$ch = explode("\r\n", $rrtt[$i]);
$count_ch = count($ch);
echo"<tr><td valign=top>".$rrt[$i].$zv."</td><td>";
for($h=0;$h<$count_ch;$h++)
{
echo "
<input type=checkbox name=chek".$n_ch."[".$h."] value='".$ch[$h]."'> ".$ch[$h]."<br>";
}
echo"</td></tr><tr><td colspan=2> </td></tr><input type=hidden name=cg[".$n_ch."] value=".$h."><input type=hidden name=chchek[".$i."] value='".$rt[$i]."'>";
$n_ch++;
}
if($r[$i] == 4)
{
$ra = explode("\r\n", $rrtt[$i]);
$count_ra = count($ra);
echo"<tr><td valign=top>".$rrt[$i].$zv."</td><td>";
for($o=0;$o<$count_ra;$o++)
{
if($o == 0) {$gggfh = "checked";}
else {$gggfh="";}
echo "<input type=radio name=radio[".$i."] value='".$ra[$o]."' ".$gggfh.">".$ra[$o]."<br>";
}
echo"</td></tr><tr><td colspan=2> </td></tr><input type=hidden name=rachek[".$i."] value='".$rt[$i]."'>";
}
[b] if($r[$i] == 5) { echo"<tr><td>".$rrt[$i].$zv."</td><td><input type=file name=em[".$i."] value='' style='width:100%'></td></tr>[/b]
<input type=hidden name=emchek[".$i."] value='".$rt[$i]."'>"; }
}
$er_ok=0;
for($e=0;$e<count($rt);$e++)
{
if($rt[$e] !="") { $er_ok++;}
}
echo "<tr><td colspan=2 align=left><br>
<font color=red><small><sup>*</sup></small></font> Поля обязательные для заполнения <input type=submit value='Отправить' > <input type=reset value='Очистить'></td></tr>";
echo "</table>";
echo "<input type=hidden name=i value='".$i."'>";
echo "<input type=hidden name=h value='".$h."'>";
echo "<input type=hidden name=error value='".$er_ok."'>";
echo"</form>";
?>
|
пишет ошибку
Parse error: parse error, unexpected '<' in d:\hst\estvse72-ru_575360dc\http\ind.php on line 31 | |
|
|
|
|
|
|
|
для: Ксения_954
(14.08.2007 в 23:41)
| | Ну так прочитайте ошибку и исправте ;) | |
|
|
|
|
|
|
|
для: Ксения_954
(14.08.2007 в 23:41)
| | Это у вас в коде:
<form action=send.php method=POST enctype="multipart/form-data">;
Это так и записано у вас, или вы пытались выделить этот участок? Откуда там взялись теги BB-кода? | |
|
|
|
|
|
|
|
для: Ксения_954
(14.08.2007 в 23:41)
| | Это у вас в коде:
[ b ]<form action=send.php method=POST enctype="multipart/form-data">;[/b]
Это так и записано у вас, или вы пытались выделить этот участок? Откуда там взялись теги BB-кода?
PS. Кроме этого вы должны записать либо так:
<form action=send.php method=POST enctype=\"multipart/form-data\">";
либо так:
<form action=send.php method=POST enctype=multipart/form-data>";
Двойные кавычки внутри двойных надо экранировать, если вы их вставляете.
Точки с запятой и кавычек не должно быть после </tr> (строка выше). | |
|
|
|
|
|
|
|
для: sim5
(14.08.2007 в 23:49)
| | sim5 ...да, я пыталась выделить текст в форуме..поэтому так получилось.
спасибо за советы..но всё же решила взять другой скрипт...и получилось | |
|
|
|
|
|
|
|
для: Ксения_954
(14.08.2007 в 21:17)
| | Этот скрипт - это конструктор создания формы обратной связи, для того чтобы он работал нормально вам надо не только в одном файле вносить изменения /ind.php , но и в отправителе /send.php , а также и в /admin/index.html. Для этого нужно будет добавить дополнительное свойство для конструктора ( отправка файла ). Его я запланировал внести, но только не сейчас (просто я не на родине сейчас, как приеду сразу сделаю). | |
|
|
|
|
|
|
|
для: Plahov
(15.08.2007 в 18:29)
| | Было бы здорово. Ваш скрипт мне очень понравился, жаль только что отправки файла нет. | |
|
|
|