Форма обратной связи, помогите подправить

Статус
В этой теме нельзя размещать новые ответы.

TAKOY

Постоялец
Регистрация
24 Фев 2008
Сообщения
84
Реакции
5
Всем привет, возникла такая проблема, поставил к себе на сайт форму обратной связи ( чесно не помню где взял ), она выдает пару ошибок, но письма приходят, если кто знает , что в строчках в которых ошибки выдает нужно прописать или чтото изменить ответьте пожалуйста!
вот страница сайта где установлена форма
вот файл на который ругается и строчка 2 и 103 ( выделил цветом )
<?
$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>&nbsp;</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>&nbsp;</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>&nbsp;</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> Поля обязательные для заполнения&nbsp;&nbsp;&nbsp;<input type=submit value='Отправить' >&nbsp;<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>";
?>
я вот целый день сегодня разбирался, поставил на другой сайт, на другом хосте , вообще ничего не работает, маленькая строчка вверху вещает, что типа ненайден файл на хосте, поигрался с правами доступа на папки и заработало все отлично ( на этом сайте движок zebrum_lite_202 ) и письма доходят. начал опять первый сайт ковырять , вернее эту форму обратной связи - все по старому, зашел на сайт создателя скрипта, купил самый последний скрипт формы обратной связи за 50 руб. , кстати вот он, залил его на хост вместо старого, тоже самое. написал на форум поддержки вот переписка--

Здравствуйте, только купил у вас конструктор формы обратной связи, залил на хост ( вот адрес странички с формой Для просмотра ссылки Войди или Зарегистрируйся ) и сразу как заходиш на эту страничку вверху выдаёт ошибку --- Notice: Undefined index: action in /home/ukrrec/public_html/ogorodic.org.ua/form3-20100221173610/form/form.php on line 2 и в самом низу тоже ошибка ---- Notice: Undefined variable: h in /home/ukrrec/public_html/ogorodic.org.ua/form3-20100221173610/form/form.php on line 154 .
И после того как нажал на кнопку отправить, когда идет процес отправки тоже появляются 2 ошибки , но я не успеваю их запомнить, в конце первой видно --- on line 30
письма доходят, но что это за ошибки не знаю. помогите пожалуйста решить проблему. Распишите подробнее, вплоть до того --- на какие папки и файлы нужно выставить какие права и в какой строчке и в каком файле что дописать или изменить.
Заранее спасибо.
Ответить
автор: Plahov (21.02.2010 в 18:49) to: fraerok (21.02.2010 в 18:10)


Отключите Notice.

Изменить уровень вывода ошибок можно в файле php.ini (конфигурационный файл PHP).
Для этого необходимо найти в файле php.ini параметр error_reporting и установить значение E_ERROR. Например вот так:
error_reporting = E_ERROR

вот, куда я ставлю скрипт этой формы стоит новая версия zebrum_lite_203, я вроде нашел конфигурационный файл, это оказался index.php, вот что в нем есть

<?php
/**
* @version $Id: index.php 10 2009-10-08 20:25:03Z lks $
*/


/**
* Раскомментируйте следующие строчки для отображения ошибок. После устранения
* ошибок не забудьте закоментировать их обратно
*/
//error_reporting(E_ALL);
//ini_set('display_errors', 1);

header('Content-Type: text/html; charset=utf-8');
require_once dirname(__FILE__) . '/zengine/bootstrap.php';

/**
* Запрос страницы
*/
if (! defined('ZENGINE')) {
define('ZENGINE', $_SERVER['REQUEST_URI']);
}

/**
* Инициализация движка
*/
zengine::run(current(explode('?', ZENGINE)));
и вот в том месте что я выделил цветом сделал так error_reporting(E_ERROR);, но ничего не изменилось.
люди знающие прошу поможите мне а)))
заранее спасибо
 

Вложения

  • form3-20100221173610.zip
    23 KB · Просмотры: 7
вобщем написал разработчикам зебрума и все по быстренькому решилось. вот переписка--

Вообще-то это ошибки скрипта и по хорошему их нужно править.
Что касается отключения нотисов, то в файле .htaccess можно прописать:

php_value error_reporting 6135



можно так же отключить вывод всех ошибок:

php_flag display_errors off



или для отключения нотисов в index.php прописать:

error_reporting(E_ALL & ~E_NOTICE);



Если первый вариант не сработал (PHP работает как FastCGI, а не модуль апача), то можно использовать второй.

И всех делов. Может кому пригодится.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху