Вот есть код: PHP: <?php if(!$_POST['parol']) { echo "<form action=admin.php method=POST>"; echo "<input type=PASSWORD name=parol>"; echo "<input type=SUBMIT name=knopka value='Ввести пароль'>"; echo "</form><br><br>"; } $parol=$_POST['parol']; $file="parol.txt"; $open=fopen($file, "r"); $read=fread($open, filesize($file)); fclose($open); if(md5($parol)==$read) { $knigi="books"; $dir=opendir($knigi); while($file=readdir($dir)) { if (($file!=".") && ($file!="..")) $j=$j+1; } closedir($dir); echo "<form enctype='multipart/form-data' action='admin.php' method='POST' name='forma'> <i>Фирма товара</i><br> <input type=TEXT name='avtor' size=50><br><br> <i>Название товара</i><br> <input type=TEXT name='nazvanie' size=80><br><br> <i>Стоимость товара</i><br> <input type=TEXT name='cena' size='30'><br><br> <i>Описание товара</i><br> <textarea name='opisanie' rows=10 cols=50></textarea><br><br> <i>Фотография</i><br> <input type=FILE name='zak'><br><br> <input type=hidden name=parol value=$parol> <input type=SUBMIT name='otpr' value='Отправить'><br><br>"; if(($_POST['otpr']==true) && ($_POST['nazvanie']<>"")) { $avtor=$_POST['avtor']; $nazvanie=$_POST['nazvanie']; $cena=$_POST['cena']; $opisanie=$_POST['opisanie']; $next=$j+1; $next="$knigi/book000$next.php"; $prev="$knigi/book000$j.php"; include "zagryzka.php"; $new=fopen($next, "w"); $list=' <html> <head> <title>Товар</title> <meta name="avtor" content="'."$avtor".'"> <meta name="nazvanie" content="'."$nazvanie".'"> <meta name="stoimost" content="'."$cena".'"> <link rel="stylesheet" type="text/css" href="css/style.css"> </head> <body bgcolor="cyan"> <?php $teg=get_meta_tags(basename($_SERVER[\'PHP_SELF\'])); echo "<div>$teg[avtor]   $teg[nazvanie]</div><br><br>"; $file="'.$file.'"; if (file_exists("fotoshop/$file")) echo "<img src=\"fotoshop/$file\" border=0><br>"; $opisanie="'.$opisanie.'"; echo $opisanie; ?> </body> </html>'; fwrite($new, $list); fclose($new); $new=fopen($next, "r"); $old=fopen($prev, "r"); $oldread=fread($old, 1024); $newread=fread($new, 1024); if ($oldread===$newread) { fclose($new); unlink($next); fclose($old); } else { fclose($new); fclose($old); } } echo "<a href='magazin.php'>Вернуться в магазин</a>"; } else if ($parol) { echo "Пароль неверен!"; } ?> В этом коде есть кусок, который создает php файлик под именем book000$j.php где переменная $j число изначальное оно равно не известно чему..но первый файл должен быть book0001.php, а создаётся почему то book0002.php Вот не могу понять почему так? как это исправить?
посмотри, чтобы в папке небыло скрытых (вообще любых) файлов, например thumbs или ещё чего да и $j лучше задавать заранее
Нету фалов только папка. Задать 0 или что? вообще какое значение у переменной изначально 0 или 1 ??? я начинающий
Можешь вкратце описать, зачем именно тебе файлы с именами bookXXXX.php? Заодно обнаружится, что они не нужны.
Для того чтобы потом с главной страницы открывалась по клику именно book000X.php по id товару. Я тип интернет магаз хочу написать простейший. Так вот с главной открывается book0001.php а в папке то создаётся book0002.php вот и ищу решение проблемы собственно.
файлы там будут с именами book000ХХХХ.php посккольку первые нули статичны и после book0009 будет book00010 Ну это не важно Kandi, Всё-же в начале скрипта попробуй $j=0 или $j=1 (если не задавать, то он null) и вот ещё что не понятно $new=fopen($next, "w"); $list='...'; fwrite($new, $list); fclose($new); $new=fopen($next, "r"); нахрена так делать? можно было бы просто переместить указатель в начало файла а изначально открывать в режиме 'w+' Но всёравно потом идёт $newread=fread($new, 1024); зачем это, если содержимое ты тока что записал? видимо для этого?: if ($oldread===$newread) лучше бы сначала сравнил, а потом записал в файл, чем так насиловать файловую систему кстати, если включишь вывод ошибок, то они у тебя там точно будут
Собственно поставил 1, создался book0001.php но когда добавляешь второй товар типо) то опять создаётся book0001.php Не знаю как с этим бороться(( Всё, решил свою проблему) поставил проверку в Index.php PHP: if ($i == 1) $i+=1; если изначально i=1 то +1 вроде бы работает))))