Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите пжлст с гостевой книгой
 
 автор: vippi   (05.02.2007 в 10:45)   письмо автору
 
 

Я сам в пхп не силен , поставил на сайт как мне казалось простейшуюю гостевую
в локалке на тестовом апаче вроде все работало а на сайте нет :(((((
Начальство наседаит , ответьте кто могет помоч :))) сайт www.ohrana-truda.com там в контактах-гостевая
заранее спасиб :)))

   
 
 автор: retsoul   (05.02.2007 в 11:06)   письмо автору
 
   для: vippi   (05.02.2007 в 10:45)
 

вероятно, что не настроены атрибуты доступа к каталогу в котором создаётся файл с сообщением

   
 
 автор: vippi   (05.02.2007 в 11:25)   письмо автору
 
   для: retsoul   (05.02.2007 в 11:06)
 

можно подробнее чуть пжлст ?

   
 
 автор: vippi   (05.02.2007 в 11:25)   письмо автору
 
   для: retsoul   (05.02.2007 в 11:06)
 

можно подробнее чуть пжлст ?

   
 
 автор: bronenos   (05.02.2007 в 11:33)   письмо автору
 
   для: vippi   (05.02.2007 в 11:25)
 

Если у вас на файлах и пишутся сообщения в файл, допустим, messages.txt, то поставьте на этот файл права 666

   
 
 автор: vippi   (05.02.2007 в 11:37)   письмо автору
 
   для: bronenos   (05.02.2007 в 11:33)
 

write.php
<?

/*if (!ereg("http://127.0.0.1/index.php",$HTTP_REFERER))

{

Header("Location: http://127.0.0.1/");exit;

}

*/

//функция valid_url выполняет проверку написания URL;

function valid_url ($vurl) {

return (!ereg('^http://',$vurl));

}



//функция valid_email выполняет проверку написания e-mail'a, чтобы включить раскоментируйте ee и error_reporting;

function valid_email ($adr) {

return (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.

'@'.

'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.

'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',

$adr));

}

error_reporting(63); if(valid_email($emaila)) { } else { print "<body bgcolor=#FFFFCC text=#FFFFFF><script>history.back(-1);alert('e-mail введен не верно')</script></body>"; exit; }





// выводит ошибку, если не введенно имя;

error_reporting(63); if($nick=="") { print "<body bgcolor=#FFFFCC text=#FFFFFF><script>history.back(-1);alert('Не введено Имя')</script></body>"; exit; }




// выводит ошибку, если не введенно сообщение;

error_reporting(63); if($mess=="") { print "<body bgcolor=#FFFFCC text=#FFFFFF><script>history.back(-1);alert('Не введено сообщение')</script></body>"; exit; }



// $dat и $time задают формат даты и времени;

$hour=date("H",time()) + 2;

$dat=date("dS F, 20y", time());

$time=date("$hour:i:s", time());

$ip = getenv("REMOTE_ADDR");

$text_ip = gethostbyaddr($REMOTE_ADDR);
// при вводе HTML тэгов - преобразует в UNI Code. Работает только в PHP 4.0

//$translate = get_html_translation_table (HTML_ENTITIES);

//$mess = strtr ($mess, $translate);

$body = "Name: ".$nick."\nCообщение: \n".$mess."\nDate: [".$dat.",".$time."]\nUrl: ".$urla."\ne-mail: ".$emaila."\nip: ".$ip."\nhost: ".$text_ip;

$nick = htmlspecialchars($nick);

$nick = nl2br($nick);

$nick = ereg_replace("\n","",$nick);

$nick = stripslashes($nick);



$urla = htmlspecialchars($urla);

$urla = nl2br($urla);

$urla = ereg_replace("\n","",$urla);

$urla = stripslashes($urla);



$emaila = htmlspecialchars($emaila);

$emaila = nl2br($emaila);

$emaila = ereg_replace("\n","",$emaila);

$emaila = stripslashes($emaila);



$mess = htmlspecialchars($mess);

$mess = nl2br($mess);

$mess = ereg_replace("\n","",$mess);

$msgstr = split(" ", $mess, 50 );

$sizearray = sizeof($msgstr);


// $maxmsg задает максимальную длину сообщения в кол-ве символов;

$maxmsg = 3000;

$lenmsg = strlen($mess);

if ($lenmsg < $maxmsg) {

$filename="gb.inc";
$guestfile = fopen($filename,"r");
//flock($filename,2);
$guesttext = fread($guestfile, filesize ($filename));
//flock($filename,3);
fclose($guestfile);
$data=fopen($filename,"w+");
//flock($filename,2);
fwrite ($data,"<!-- $ip user:$nick --><div class='text'>От кого: ");

fwrite ($data,"<span class='text2'>$nick</span>");

fwrite ($data,"<br><!-- reset line -->");

fwrite ($data,"\n");

fwrite ($data,"Сообщение: <span class='text2'>");

$i = 0;

while ($i <= $sizearray -1) {

$msgout = $msgstr[$i];

$lenword = strlen($msgout);

// Длина слов в сообщении;

$maxlenword = 35;

if ($lenword <= $maxlenword) {

$msgout=stripslashes($msgout);

fwrite ($data,"$msgout ");

$i++;

}

else {

$maxlenword=35;

$msgout=stripslashes($msgout);

$lenword=strlen($msgout);

$i++;

}

}

fwrite ($data,"</span><br><!-- reset line -->");

fwrite ($data,"\n");

fwrite ($data,"[$dat,$time]");fwrite ($data,"<br><!-- reset line -->");

fwrite ($data,"\n");

fwrite ($data,"Адрес или телефон ");

fwrite ($data,"<a href=$urla target=\"_blank\">$urla</a>");fwrite ($data,"<br><!-- reset line -->");

fwrite ($data,"\n");

fwrite ($data,"E-mail: ");

fwrite ($data,"<a href=mailto:$emaila>$emaila</a><hr id=line width=100% size=1 nowrap></div><!-- reset line -->");

fwrite ($data,"\n");

fwrite ($data,"$guesttext");
//flock($filename,3);
fclose ($data);
}
else {

print "<body bgcolor=#FFFFCC text=#FFFFFF><script>history.back(-1);alert('Большое количество символов! Ваше количество $lenmsg символов. Максимально допустимое составляет $maxmsg символов.')</script></body>";
}



//Переадресовывает на страницу с которой эта получила форму;
Header("Location: index.php");exit;

?>

   
 
 автор: vippi   (05.02.2007 в 11:37)   письмо автору
 
   для: bronenos   (05.02.2007 в 11:33)
 

что не так ?

   
 
 автор: zavragnov   (05.02.2007 в 11:37)   письмо автору
 
   для: vippi   (05.02.2007 в 10:45)
 

У вас там куча проблем, возможно и с правами доступа к файлу gb.inc,

да и еще и это

Warning: Cannot modify header information - headers already sent by (output started at /home/ohranat/public_html/htmls/guestbook/write.php:132) in /home/ohranat/public_html/htmls/guestbook/write.php on line 212


это отправка заголовка после вывода инфы в браузер


Для начала поставте права доступа на gb.inc 777 чарез FTP клиента и посмотрите, а с header чуть сложнее возможно придеться переделывать

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования