вообщем такой код - почему то в окне, где должны быть сообщение (что то вроде гостевой) пишен ряд ошибок - вот таких: Warning: fopen(otzivi/.txt) [function.fopen]: failed to open stream: No such file or directory in C:\server\Apache Group\Apache2\htdocs\soobshenie.php on line 15 Warning: fclose(): supplied argument is not a valid stream resource in C:\server\Apache Group\Apache2\htdocs\soobshenie.php on line 16 Warning: file(otzivi/.txt) [function.file]: failed to open stream: No such file or directory in C:\server\Apache Group\Apache2\htdocs\soobshenie.php on line 18 Warning: krsort() expects parameter 1 to be array, boolean given in C:\server\Apache Group\Apache2\htdocs\soobshenie.php on line 19 Warning: Invalid argument supplied for foreach() in C:\server\Apache Group\Apache2\htdocs\soobshenie.php on line 20 Все это на вот такой вот скрипт PHP: <html> <head> <title>Сообщения</title> </head> <body> <div id="lolo3">Сдесь вы можете оценить подборку и оставить свое сообщение</div><br> <table width="50%" border="2" bordercolor="green" bgcolor="silver"><td> <?php $filen="otzivi/$ind".".txt"; $chislo=10; if(!file_exists($filen)) { $open=fopen($filen, "w"); fclose($open); } $lolo=file($filen); krsort($lolo); foreach($lolo as $line2) { $j++; if($j<=$chislo) { echo $line2."<br><br>"; } } echo "</td></tr></table>"; if(isset($_POST['otziv'])) { $ind=$_POST['ind']; $filen="otzivi/$ind"."txt"; $otzivi=$_POST['otziv']; $data=date('d.m.Y'); $imja=$_POST['imja']; $adress=$_POST['adress']; $nov=fopen($filen, "a"); $danie=strit_tags($imja)." e-mail: ".strip_tags($adress)." Добавлено: ".$data; fwrite($nov, "<B style=color:#000066>".$danie."</B><br>".strip_tags($otziv).chr(10)); fclose($nov); echo "<a href=# onClick='history.back()'><button>Вернутся</button></a>"; } else { echo "<form action=soobshenie.php methom=POST> Ваше имя: <input type=text name=imja><br> Ваш e-mail: <input type=text name=adress><br> Ваше сообщение <br> <textarea name=otzin cols=50 rows=15 wrap=virtual></textarea> <input type=hidden name=ind value=$ind> <input type=sumbit value='Добавить'> </form>"; } ?> </body> </html>
1. ВНИМАТЕЛНО ЧИТАЙТЕ сообщения об ошибках 2. откуда в имени файла слеш? $filen="otzivi/$ind"."txt"; или $ind не передался о! сдается мне, что опять в 1000-ый раз дело в register_globals
может быть мне кто нибудь объяснить что это register_globals? а то может и действительно все из-за него... а мучаюсь, теряю свое и отнимаю у других время.. А слеш появился из книжки - я рнр только начал изучать - по книге- там так было написано...
если поставить обраный слеш, или убрать его вовсе - все ошибки пропадают... но сообщения не отправилсяются...
stakanych http://phpfaq.ru/globals В начало страницы - ERROR_REPORTING (E_ALL ^ E_STRICT); А вообще смотрите логически - $ind объявляется только в середине скрипта, а обращаетесь вы к нему в начале. Попробуйте $ind = $_POST ['ind'] поставить в начале
register_globals находиться в php.ini имеет два параметра вкл и выкл лучше, что б он был выкл, но в твоем случае нужен вкл...
register_globals - это опция, которая позволяет обращаться к глобальным переменным напрямую, минуя суперглобальные массивы. etc. register_globals on >> $mode register_globals off >> $_GET['mode'] Использование данной опции чрезвычайно нежелательно, так как ведет к дыре в системе безопасности. В новых версиях php эта настройка по умолчанию отключена.