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

Форум PHP

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

 

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

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

тема: Не записывается в файл...
 
 автор: CKirill   (21.03.2006 в 17:09)   письмо автору
 
 

Вот мой код:

<?php
<form method="get" action="regist.php"
<
p>ваше имя:</p
<
input type="text" name="username"
<
br
<
p>ваш пароль:</p>
<
input type="password" name="userpass"
<
br
<
input type="submit" value="регистрация"
$rname fopen("rname.txt","a");
$rpass fopen("rpass.txt","a");
$username ="$username\r\n";
$username =  htmlspecialchars($username);
$userpass ="$userpass\r\n";
$userpass =  htmlspecialchars($userpass);
fputs($rname$username);
fputs($rpass$userpass);
fclose ($rname);
fclose ($rpass);
?>

Скажите пожалуйсто, почему файлы остаются пустыми?

   
 
 автор: Trianon   (21.03.2006 в 17:12)   письмо автору
 
   для: CKirill   (21.03.2006 в 17:09)
 

Это файл regist.php ?
Если да, то потому, что не стоит
$username = $_GET['username'];
$userpass = $_GET['userpass'];

   
 
 автор: CKirill   (21.03.2006 в 17:23)   письмо автору
 
   для: Trianon   (21.03.2006 в 17:12)
 

Это не файл regist.php, а rpass.txt и rname.txt.

   
 
 автор: Trianon   (21.03.2006 в 17:49)   письмо автору
 
   для: CKirill   (21.03.2006 в 17:23)
 

Ну-ну.. :)

<form>
<p>ваше имя:</p>  <input type="text" name="username">
<br>  <p>ваш пароль:</p> <input type="password" name="userpass">
<br>  <input type="submit" value="регистрация">  </form>
<?php
if(isset($_REQUEST['username'])   &&   isset($_REQUEST['userpass']))
{
  
$rname    fopen("rname.txt","a"); $rpass    fopen("rpass.txt","a");
  
$username $_REQUEST['username'];  $userpass $_REQUEST['userpass'];
  
fputs($rname"$username\r\n");     fputs($rpass"$userpass\r\n");
  
fclose ($rname);                    fclose ($rpass);
}
?>

   
 
 автор: CKirill   (22.03.2006 в 15:15)   письмо автору
 
   для: Trianon   (21.03.2006 в 17:49)
 

А что делает $_REQUEST?

   
 
 автор: Trianon   (22.03.2006 в 15:17)   письмо автору
 
   для: CKirill   (22.03.2006 в 15:15)
 

Хранит значения переданных из формы параметров запроса.

   
 
 автор: CKirill   (22.03.2006 в 15:27)   письмо автору
 
   для: Trianon   (22.03.2006 в 15:17)
 

У меня он уже без этого записал в файл, но он почемуто только 1 раз записывает, если потом удалить то что записало, тогда опять один раз записывается.

   
 
 автор: CKirill   (22.03.2006 в 15:18)   письмо автору
 
   для: Trianon   (21.03.2006 в 17:49)
 

Просто вдруг этот скрипт заработ =), в смысле без $_REQUEST.

   
 
 автор: Trianon   (22.03.2006 в 15:27)   письмо автору
 
   для: CKirill   (22.03.2006 в 15:18)
 

Точно так же вдруг он может и не заработ =) без них.

   
 
 автор: CKirill   (22.03.2006 в 15:29)   письмо автору
 
   для: Trianon   (22.03.2006 в 15:27)
 

Тогда буду сними буду работать=).

   
 
 автор: CKirill   (22.03.2006 в 15:42)   письмо автору
 
   для: Trianon   (21.03.2006 в 17:49)
 

Эту проверку:

if(isset($_REQUEST['username'])   &&   isset($_REQUEST['userpass'])) 

почему то не когда не проходит.
Хотя с которой я до этого пользовался:

if(empty($username)   &&   empty($userpass)) 

Работала.

   
 
 автор: Trianon   (22.03.2006 в 15:51)   письмо автору
 
   для: CKirill   (22.03.2006 в 15:42)
 

А какая у Вас версия php?
<?php  phpinfo(); ?>

   
 
 автор: CKirill   (22.03.2006 в 15:53)   письмо автору
 
   для: Trianon   (22.03.2006 в 15:51)
 

PHP Version 4.3.9

   
 
 автор: kasmanaft   (22.03.2006 в 17:56)   письмо автору
 
   для: CKirill   (22.03.2006 в 15:42)
 

потому что empty и isset - не одно и то же...
empty - пустая (0)
isset - есть какое то значение..

можно сделать их синомимами (почти) так: isset и !empty

   
 
 автор: Trianon   (22.03.2006 в 18:04)   письмо автору
 
   для: kasmanaft   (22.03.2006 в 17:56)
 

Верно. Если нужно записывать в файлы лишь тогда, когда пользователь что-то ввёл, то:

<form> 
<p>ваше имя:</p>  <input type="text" name="username"> 
<br>  <p>ваш пароль:</p> <input type="password" name="userpass"> 
<br>  <input type="submit" value="регистрация">  </form> 
<?php 
if(isset($_REQUEST['username'])   
    && isset(
$_REQUEST['userpass']
    && 
$_REQUEST['username'].$_REQUEST['userpass'] != '')

  
$rname    fopen("rname.txt","a"); $rpass    fopen("rpass.txt","a"); 
  
$username $_REQUEST['username'];  $userpass $_REQUEST['userpass']; 
  
fputs($rname"$username\r\n");     fputs($rpass"$userpass\r\n"); 
  
fclose ($rname);                    fclose ($rpass); 

?> 


>можно сделать их синомимами (почти) так: isset и !empty
Несовсем. Если форма отправлена с пустым полем, то соответствующий элемент обычно и isset и empty. Он передан, и он пуст. Передан пустым.

   
 
 автор: kasmanaft   (22.03.2006 в 18:19)   письмо автору
 
   для: Trianon   (22.03.2006 в 18:04)
 

ну я поэтому и сказал "почти" :) .....

   
Rambler's Top100
вверх

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