Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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


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, 13:19   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,499
Репутация: 5308
По умолчанию

Цитата:
Сообщение от 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, 15:56   #3
Javany
Форумчанин
 
Регистрация: 15.05.2018
Сообщений: 75
Репутация: 129
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


07:32.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru