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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Куда теряются данные ?

Сообщения:  [1-10]   [11-15] 

 
 автор: KPETuH   (22.02.2007 в 10:06)   письмо автору
1.8 Кб
 
   для: dima2207   (22.02.2007 в 05:08)
 

Вот в прикрепленном файле смотрите немного подправил предыдуший скрипт + добавил форму все работает, так что я думаю вся заморочка была из-за пременной $flag вы с ней просто запутались :)

   
 
 автор: KPETuH   (22.02.2007 в 09:23)   письмо автору
 
   для: dima2207   (22.02.2007 в 05:08)
 

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

<? 
if ($_POST[name_usr]==''
    { 
        echo 
"Вы не ввели имя."
    } 
else 
    { 
        if (
$_POST[pas_usr]==''
            { 
                echo 
"Вы не ввели пароль."
            } 
        else 
            { 
                
$name=$_POST['name_usr']; 
                
$file file ('name.dat');
                if (!
$file) {echo "Файл базы не найден"; die;} 
                for (
$i=0$i<=count($file); $i++) 
                { 
                    if (
trim($file[$i]) == $name
                        { 
                            
$pass=$_POST['pas_usr'];
                            
$file2 file ('password.dat');
                            if (!
$file2) {echo "Файл базы не найден"; die;}
                            if (
trim($file2[$i]) == $pass)
                                {
                                    echo 
"Здравствуйте: $name";
                                    break;   
                                }
                            else
                                {
                                    echo 
"Пароль неверен поробуйте еще раз";   
                                }    
                          }
                   else
                          {
                                echo 
"Такого пользователя нет в базе данных. Пожалуйста зарегистрируйтесь";
                          }
             
                } 
         
          
            } 
         
    } 
?>

   
 
 автор: KPETuH   (22.02.2007 в 09:11)   письмо автору
 
   для: dima2207   (22.02.2007 в 05:08)
 

1. Блин ну вы же код выставляете не для себя, а для других, поэтому пожалуйста готовте его получше читать такой код совершенно не возможно.
2. Помоему вся заморочка у вас из-за переменной $flag.Зачем она вообще вам нужна легко можно обойтись без нее.

   
 
 автор: dima2207   (22.02.2007 в 05:08)   письмо автору
 
   для: retsoul   (22.02.2007 в 03:51)
 

Все бесполезно !!!!!!!!

<?
        
if ($_POST[name_usr]=='')
                     {
                   echo 
"Вы не ввели имя.";
           }
             else
             {
                         if (
$_POST[pas_usr]=='')
                       {
             echo 
"Вы не ввели пароль.";
             }
             else
             {
$new=$_POST['name_usr'];
  
$file fopen("name.dat","r");
  if(!
file)
  {
    echo(
"ошибка открытия файла ");
  }
  
$file file ('name.dat');
  
$name $new;
  
$flag true;
  for (
$i=0$i<count($file); $i++)
  {
    if (
trim($file[$i]) == $name)
    {
       
$k=$i;
      
$flag false;
      break;
    }
  }

  if(
$flag)
  {
$new2=$_POST['pas_usr'];
  
$file2 fopen("password.dat","r");
  if(!
file)
  {
    echo(
"ошибка открытия файла ");
  }
  
$file file ('password.dat');
  
$flag true;
  if (
$file2[$k] == $new2)
    {
      print 
"Здравствуйте: $new";
      
$flag false;
      break;
    }
  }
else{
  if(
$flag)
  {

   print 
$new;
        }
        else{

                         echo 
$new,$new2," Такого пользователя нет в базе данных";

              }



//}

}

}
                            }

?>

   
 
 автор: retsoul   (22.02.2007 в 03:51)   письмо автору
 
   для: dima2207   (22.02.2007 в 03:45)
 

да, в теле, поэтому и требуется объявить его вне цикла

   
 
 автор: dima2207   (22.02.2007 в 03:45)   письмо автору
 
   для: retsoul   (22.02.2007 в 03:43)
 

да , но по моему переменная у меня находится в теле цыкла !!!

<?
if (empty($_POST[name_usr]) && empty($_POST[pas_usr])) {
exit("Вы не ввели имя.");
} else {
$new=$_POST['name_usr'];
$file = fopen("name.dat","r");
if(!$file) {
echo ("Ошибка открытия файла ");
}
$file = file('name.dat');
$name = $new;
$flag = true;
for ($i=0; $i<count($file); $i++)
{
if (trim($file[$i]) == $name)
{
//-------------------------------------------------------------------
$new=$_POST['pas_usr'];
$file = fopen("password.dat","r");
if(!$file){
echo("ошибка открытия файла ");
}
$file = file ('password.dat');
$name = $new;
$flag = true;
//for ($i=0; $i<count($file); $i++){
if ($file[$i] == $name)
{

print "Здравствуйте : $name_usr на вашем счете : $count условных единиц ";
//break;


$flag= false;
break;
}
if($flag)
{

print "Неверный пароль.";
}
}

}
}
$flag = false;
if($flag)
{
print "Такого пользователя нет в базе данных .";
}


?>

   
 
 автор: retsoul   (22.02.2007 в 03:43)   письмо автору
 
   для: dima2207   (22.02.2007 в 03:32)
 

так тоже можно попробовать

   
 
 автор: dima2207   (22.02.2007 в 03:32)   письмо автору
 
   для: retsoul   (22.02.2007 в 03:21)
 

ну да , в этом то и весь смысл что-бы пароль по адресу масива который находится в переменной $i , так это что-э получается что нужно дублироавать эту переменную ???а что если я сделаю вот так $k=$i в теле цыкла до brake; а брашатся потом к $k .

   
 
 автор: retsoul   (22.02.2007 в 03:21)   письмо автору
 
   для: dima2207   (22.02.2007 в 03:17)
 

это понятно, но существует ли значение $i?
ведь оно, как видно из листинга, объявлено только в цикле, а значит и живёт, пока живёт цикл, может поможет, если добавить $i = 0 перед циклом?

   
 
 автор: dima2207   (22.02.2007 в 03:17)   письмо автору
 
   для: retsoul   (22.02.2007 в 03:05)
 

Это переменная куда считывается массив пароля , и сравнивается введенный с тем что в масиве !!!

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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