Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не выводит сообщения никакие!

Ypikandro Ученик (68), на голосовании 2 года назад
Все работает правильно, а именно, если создаешь пользователя с тем же именем, то его не записывает в файл. Но не выводит сообщения по типу: "Пользователь был зарегистрирован", которые находятся в return
В чем проблема?

КОД:

<? if ((isset($_POST['text'])) || (isset($_POST['pass']))): ?>
<script type="Data/javascript">
alert('<?=save(($_POST['text']), ($_POST['pass']))?>');

</script>
<? endif; ?>



<form method="post">

<p><label>Ваше логин: <input name="text" type="text" size="10"></label></p>
<p><label>Ваше пароль: <input name="pass" type="password" size="10"></label></p>
<input name="ok" type="submit" value="Зарегистрировать аккаунт!!!" />
</form>


<?
function save($data, $data2, $fileName = "Data.txt", $separator = "\n") {
$data = trim($data);
$data2 = trim($data2);
$data2 = md5($data2);

if (empty($data) && empty($data2))
return "Ничего не было введено!";

if (in_array($data, explode($separator, file_get_contents($fileName))))
return "Такой логин уже есть!!!";

$result = file_put_contents($fileName, $data .$separator, FILE_APPEND);
$result2 = file_put_contents($fileName, $data2 .$separator, FILE_APPEND);

if ($result === FALSE)
return "Ошибка регистрации." ;
else
return "Вы были успешно зарегистрированны!";
}
?>
Голосование за лучший ответ
фигня какая-та Мастер (1002) 2 года назад
return не выводит данные на экран, а только является результатом выполнения функции.

либо вызывай функцию так:
echo save(параметры);

либо используй echo вместо return, например:
echo 'Вы были успешно зарегистрированы!'; // с одной "н"

хотя с твоей логикой написания, чтобы ничего не сломать, придется делать так:
return print('Вы были успешно зарегистрированы!');
Аль Капоне Ученик (177) 2 года назад
зачем придумывать велосипед, когда всё уже придумано, и намного лучше. Мой совет: основы php понятны - хорошо. Изучай основы ООП. Рекомендую этот плэйлист:
https://www.youtube.com/playlist?list=PLqQ1VsG-wgxfUc8pKsv7MBSbp5Q3zFLi4
Будет понятно ООП приступай к изучению самого лучшего фреймворка Laravel. Видеоуроков на nnmclub точка to полно, желательно от webformyself, на ютубе тоже, например, https://www.youtube.com/playlist?list=PLd2_Os8Cj3t8StX6GztbdMIUXmgPuingB
EVK IT Сервис К Мыслитель (5236) 2 года назад
Если форма отправляется через ajax запрос, то можно выдавать сообщение о результате

$.ajax({
method: "POST", // метод HTTP, используемый для запроса
url: "about.php", // строка, содержащая URL адрес, на который отправляется запрос
data: { // данные, которые будут отправлены на сервер
data: data,
data1: data1
},
success: function ( msg ) { // функции обратного вызова, которые вызываются если AJAX запрос выполнится успешно
alert(msg ); // выдаем ответ от сервера
}
});

И используй MySql а не текстовый файл, на дворе же 21 век
Похожие вопросы