Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не работает if ($nick == $dat_arr[0]) !!! 
:(
    Опции темы
grIeIy
Дата 15.3.2006, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 14.2.2006

Репутация: нет
Всего: нет



Код

$data = File("bd.dat");
for ($p=0;$p<count($data);$p++) {
$dat_arr = explode("|", $data[$p]);

if ($nick == $dat_arr[0]) 
{
echo "<p><center>Такой ник уже есть в системе. Придумайте другое имя .</center><p>";
session_destroy();
exit();
}


как быть?
PM MAIL   Вверх
PARROT
Дата 15.3.2006, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

    $data=file("users.txt");
    foreach ($data as $us){
    list($pass, $log)=explode("\t", $us);
    if($log==$login){
        $er="Этот логин занят!!!";
}
}


Это сообщение отредактировал(а) PARROT - 15.3.2006, 22:22


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
CyClon
Дата 15.3.2006, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: 3
Всего: 4



Вероятно, ты пишешь под register_globals oN, но у тебя они OFF.

И еще. Попробуй:

Код
<?php

$list = file("users.php");

$check = 0; // Ради безопаности, чтобы register_globals не воспользовались

foreach ($list as $string)
{
    if ($_GET['login'] == $string)
    {
        $check = 1;
        break;
    }
}

if ($check === 0) // И еще раз защита от register_globals, ведь на сколько я знаю в GET передается str, а не int
{
    echo "Этот логин занят.";
    exit;
} else {
    echo "Вы зарегистрированы!";
}

?>


Код не проверял, но должен работать smile


--------------------
user posted image
PM   Вверх
grIeIy
Дата 16.3.2006, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 14.2.2006

Репутация: нет
Всего: нет



Код

   $data=file("users.txt");
    foreach ($data as $us){
    list($pass, $log)=explode("\t", $us);
    if($log==$login){
        $er="Этот логин занят!!!";
}
}

это точно правильно?
а то что то всегда выдаёт Этот логин занят!!!" вне зависимости от того что он действительно уже есть в базе или нет.
PM MAIL   Вверх
Guedda
Дата 16.3.2006, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Попробуй, как сказал CyClon.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
PARROT
Дата 16.3.2006, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

<center>Регистрация нового пользователя<Form Method="POST">
Имя пользователя:<br><Input Type="text" Name="login" Value=""><Br>
Пароль:<Br><Input Type="password" Name="passw1" Value=""><Br>
Повторите пароль:<Br><Input Type="password" Name="passw2" Value=""><Br>
<Input Type="submit" name="send" Value="Add User">&nbsp;<Input Type="reset" Value="Очистить">
</Form>
</center>
<?php
if($send){

    if(!ereg("^[a-z0-9]+$", $login)){
        $error="Ошибка: Вы ввели недопустимое имя пользователя!<br>";
        }
    if(!ereg("^[a-z0-9]+$", $passw1)){
        $error.="Ошибка: Вы ввели недопустимый пароль!<br>";
        }
    if($passw1!==$passw2){
        $error.="Введите пароль правильно!";
        }

if(!$error){
    $data=file("users.txt");
    foreach ($data as $us){
    list($pass, $log)=split("\t", $us);
    if($log==$login){
        $er="Этот логин занят!!!";
        }
    
    }
    if(!$er){
    $dat=fopen("users.txt", "a");
    fwrite($dat, "$passw1\t$login\n");
    fclose($dat);
    }
    
}
else
{echo"$error";}
}
?>



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
grIeIy
Дата 16.3.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 14.2.2006

Репутация: нет
Всего: нет



Цитата(PARROT @ 16.3.2006, 18:23)
Код

<center>Регистрация нового пользователя<Form Method="POST">
Имя пользователя:<br><Input Type="text" Name="login" Value=""><Br>
Пароль:<Br><Input Type="password" Name="passw1" Value=""><Br>
Повторите пароль:<Br><Input Type="password" Name="passw2" Value=""><Br>
<Input Type="submit" name="send" Value="Add User">&nbsp;<Input Type="reset" Value="Очистить">
</Form>
</center>
<?php
if($send){

    if(!ereg("^[a-z0-9]+$", $login)){
        $error="Ошибка: Вы ввели недопустимое имя пользователя!<br>";
        }
    if(!ereg("^[a-z0-9]+$", $passw1)){
        $error.="Ошибка: Вы ввели недопустимый пароль!<br>";
        }
    if($passw1!==$passw2){
        $error.="Введите пароль правильно!";
        }

if(!$error){
    $data=file("users.txt");
    foreach ($data as $us){
    list($pass, $log)=split("\t", $us);
    if($log==$login){
        $er="Этот логин занят!!!";
        }
    
    }
    if(!$er){
    $dat=fopen("users.txt", "a");
    fwrite($dat, "$passw1\t$login\n");
    fclose($dat);
    }
    
}
else
{echo"$error";}
}
?>

на странице:
Код

Notice: Undefined variable: error in w:\home\webbiz.org.ru\www\partner\index.php on line 21
[ убрать подсказку | никогда больше не показывать ]
[Денвер: показать возможную причину ошибки]
Notice: Undefined offset: 1 in w:\home\webbiz.org.ru\www\partner\index.php on line 24

Notice: Undefined variable: er in w:\home\webbiz.org.ru\www\partner\index.php on line 30

но самое главное: я добавляю такой же ник а он его ещё раз добавляет, как ничего нибывало!
PM MAIL   Вверх
CyClon
Дата 16.3.2006, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: 3
Всего: 4



grIeIy, Мой вариант попробуй. И еще. Приведи-ка кусочек файла с юзерами. В каком формате у тебя все хранится? Поможем.
Добавлено @ 19:41
На счет выше приведенных ошибок: Нужно или зараннее определять переменную, либо проверять ее функцией empty или isset.


--------------------
user posted image
PM   Вверх
grIeIy
Дата 16.3.2006, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 14.2.2006

Репутация: нет
Всего: нет



вот мой скрипт:

Код

session_start();

if (isset($site) && !empty($site))
{

$data = File("partners.dat");
for ($p=0;$p<count($data);$p++) {
$dat_arr = explode("|", $data[$p]);

if ($site == $dat_arr[1]) 
{
echo "<p><center>Такая ссылка уже есть в системе. Зарегистрируйте другую.</center><p>";
session_destroy();
exit();
}

}

$fp = fopen("partners.dat", 'a');
fputs ($fp, "$email|$site\r\n");
fclose($fp);
echo "Ссылка добавлена в систему<br><br>";
echo "Ваша страница <b>".$dat_arr[1]."</b> принята.";

}
else
{
include ("form.html"); /форма с пунктами для ввода данных
}


и он неработает, он с isset и empty
PM MAIL   Вверх
grIeIy
Дата 24.3.2006, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 14.2.2006

Репутация: нет
Всего: нет



ну дык никто не поможет?
PM MAIL   Вверх
mr.fox
Дата 25.3.2006, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 13.3.2005
Где: Ирландия

Репутация: -1
Всего: 2



Цитата(grIeIy @ 24.3.2006, 23:35 Найти цитируемый пост)
ну дык никто не поможет?

откуда $nick береться?
PM MAIL WWW ICQ   Вверх
grIeIy
Дата 27.3.2006, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 14.2.2006

Репутация: нет
Всего: нет



из form submit
вроде post там стоит
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0670 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.