Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2018, 12:06   #1
Javany
Пользователь
 
Регистрация: 15.05.2018
Сообщений: 75
По умолчанию Не записывается вторая строка в текстовый документ.

Добрый день. Ребята, помогите пожалуйста найти ошибку. Есть функция которая записывает данные из формы в текстовый файл(почта и пароль). Заполняю форму, создаётся новый текстовый документ, и записывается строка,все нормально работает. Но когда я заполняю форму повторно, проверка отрабатывает, но следующая строка не записывается.
Спасибо.
Код:

function saveUsers(){
	$userEmail = isset($_POST['userEmail']) ? $_POST['userEmail']:'';
	$password = isset($_POST['password']) ? $_POST['password']:'';
	if(empty($userEmail) || empty($password))
	{
	$_SESSION['errors'] = 'Заполните все поля';
	return;

	}
    $file = fopen('usersdata.txt', 'a+');
	$string = file('usersdata.txt');

	if(empty($string))
	{
	fwrite($file, $userEmail .'|'. $password . "\r\n");
	$_SESSION['success']='Ура, теперь ты с нами!';
         return;
	}

	else{
		for($i = 0; $i<count($string);$i++) {
	 $string_cut = explode('|', $string[$i]);
	 //showArray($string[0]);
	 
	if($string_cut[0]==$userEmail){
		$_SESSION['errors']='Такой Email уже существует.';
         return;
	}	
}

	if($string[0]!==$userEmail){
		$_SESSION['success']='Круто, теперь ты с нами!';
         return;
         fwrite($file, $userEmail.'|'.$password."\r\n");  
	}

fclose($file);
}
header('Location: index.php?page=registration');
exit;
}
Не задавай вопрос, если не знаешь что делать с ответом...
Javany вне форума Ответить с цитированием
Старый 06.06.2018, 12:19   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Javany Посмотреть сообщение
Код:
if($string[0]!==$userEmail){
		$_SESSION['success']='Круто, теперь ты с нами!';
         return;
         fwrite($file, $userEmail.'|'.$password."\r\n");  
	}
ничего странного не видите?

например, позицию return ?

для начала попробуйте:
Код:
	if($string[0]!==$userEmail){
		$_SESSION['success']='Круто, теперь ты с нами!';
         fwrite($file, $userEmail.'|'.$password."\r\n");  
         fclose($file);
         return;
	}

p.s. кстати, и в остальных случаях, когда выходите при открытом файле, лучше его закрывать через fclose()
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2018, 14:56   #3
Javany
Пользователь
 
Регистрация: 15.05.2018
Сообщений: 75
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
например, позицию return ?
Да, стыдно мне... Спасибо Вам большое.
Не задавай вопрос, если не знаешь что делать с ответом...
Javany вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не записывается в файл строка amastudent Общие вопросы C/C++ 1 14.11.2017 11:35
как вывести в текстовый документ? stdio Помощь студентам 17 25.02.2012 12:46
где же вторая строка??? mrgrudge PHP 6 12.03.2010 15:23
Как откомпилировать текстовый документ Vitalyir84 Общие вопросы Delphi 9 15.02.2010 23:07
имена файлов в текстовый документ Mobile™ Операционные системы общие вопросы 7 02.11.2009 23:41