0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 13
1

Форма регистрации и логина по видео урокам - все равно не работает

21.07.2012, 21:25. Показов 1104. Ответов 8
Метки нет (Все метки)

Братва помогите по форме логина , не могу найти ошибку выходить это

Fatal error: Can't use function return value in write context in C:\xampp\htdocs\logreg\login.php on line 16
то есть на строку $errors() = 'You need to enter a username and password';

мои файлы
это логин файл
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
include 'core/init.php';
 
/*
if (user_exists('alex') === true) {
    echo 'Exists';
}
die ();
*/
 
if (empty($_POST) === false) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    
    if (empty($username) === true || empty($password) === true){
        $errors() = 'You need to enter a username and password';
    } else if (user_exists($username) === false) {
        $errors() = 'We can\'t find that username. Have you registered?';
    }
}
?>
init.php

PHP
1
2
3
4
5
6
7
8
9
10
<?php
session_start();
error_reporting();
 
require 'database/connect.php';
require 'functions/general.php';
require 'functions/users.php';
 
$errors = array();
?>
connect.php

PHP
1
2
3
4
5
<?php
$connect_error = 'Sorry, we\'re experiencing connection problems';
mysql_connect('localhost','root','') or die($connect_error);
mysql_select_db('lr');
?>
general.php

PHP
1
2
3
4
5
<?php
function sanatize($data){
    return mysql_real_escape_string($data);
}
?>
users.php

PHP
1
2
3
4
5
6
7
8
9
<?php
function user_exists($username) {
    $username = sanatize($username);
    $query = mysql_query("SELECT COUNT ('user_id') FROM 'users' WHERE 'username' = '$username'");
    return (mysql_result($query, 0) == 1) ? true : false;
}
 
 
?>
за любую помощь буду благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2012, 21:25
Ответы с готовыми решениями:

Неправильно работает форма логина
Собственно вот код connectclass connnection = new connectclass(); DataTable...

Форма логина работает неправильно
Здравствуйте, помогите исправить код. При вводе данных в поля выводит только &quot;Не удалось открыть...

Формы регистрации нет, а боты все равно регистрируются
Здравствуйте! Я на своем сайте включила форму регистрации. все было нормально, но потом я заметила,...

отношение к видео урокам
как вы относитесь к видео урокам по C++ ? помогают ли они новичкам или это пустая трата времени.....

8
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.07.2012, 03:01 2
Цитата Сообщение от unicum Посмотреть сообщение
$errors() = 'You need to enter a username and password';
я так понимаю там нужно квадратные скобки [] а не круглые

Добавлено через 1 минуту
или вообще без них - смотря как вы хотите, в массив или в обычную переменную
0
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
22.07.2012, 04:04 3
А я вообще не опнимаю зачем заносить текст в массив если его нужно просто выдать пользователю?
0
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
22.07.2012, 04:04 4
А я вообще не понимаю зачем заносить текст в массив если его нужно просто выдать пользователю?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.07.2012, 12:47 5
Цитата Сообщение от pyramida Посмотреть сообщение
А я вообще не понимаю зачем заносить текст в массив если его нужно просто выдать пользователю?
1. использование сессий/кук/хедеров - аналог "частичного" накапливания вывода в переменную.
2. можно проверить - если массив пустой, то значит все ок, иначе - выводим не пустые значения.
3. удобнее - все ошибки при наличии хранятся в одном месте, не надо их искать

Добавлено через 10 минут
и сказать что этот скрипт слегка уязвим - это еще очень мягко. скрипт просто сплошная дыра %)
p.s. кстати, функция empty() решается одним пробелом в поле ввода - это если переменную проверять, а сам массив $_POST при нажатии на кнопку формы (независимо от того, писали что в полях ввода или нет) сразу станет не пустым...
0
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
22.07.2012, 16:17 6
KOPOJI, 1,2,3 это все относительно. Конечно не спорю у меня маловато опыта в серьезных проектах, может быть там такое и применяется. Сами знаете что лучше посмотреть ТЗ чтобы понять что больше половины кода просто не нужны Вам знаком метод KISS надеюсь?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.07.2012, 17:04 7
Цитата Сообщение от pyramida Посмотреть сообщение
1,2,3 это все относительно.
я и не говорил что это обязаловка просто если допустим вместо
PHP
1
echo "<html> .... ";
накапливать в переменную этот вывод то потом не будет проблем с отправкой заголовков в середине документа (или ob_start() прописать). ну это, опять же, кому как удобнее.
а по поводу кода - там вообще все лишнее, толку то с такой регистрации все равно нет пробелов понаставь в форме - и ты уже зарегился)

Не по теме:

Цитата Сообщение от pyramida Посмотреть сообщение
Вам знаком метод KISS надеюсь?
к сожалению, нет.. можно поподробнее о нем?)

0
Vovan-VE
22.07.2012, 17:07
  #8

Не по теме:

Цитата Сообщение от pyramida Посмотреть сообщение
Вам знаком метод KISS надеюсь?
Цитата Сообщение от KOPOJI Посмотреть сообщение
к сожалению, нет.. можно поподробнее о нем?)
Keep It Simple (http://ru.wikipedia.org/wiki/K... %B8%D0%BF))

1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.07.2012, 17:22 9

Не по теме:

ахахахх :D жестко и правдиво :D



Добавлено через 11 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
 session_start();
 if(isset($_POST['go'])) {
//connect to bd
    $login = mysql_real_escape_string(stripslashes(trim($_POST['login'])));
    $pass = mysql_real_escape_string(stripslashes(trim($_POST['pass'])));
if(!empty($login)&&!empty($pass)) {
    $query = sprintf("SELECT id FROM `users` Where `login`='%s' and `pass`='%s'",$login,$pass);
    $res = mysql_query($query);
if($res) {
if(mysql_num_rows($res)) {
// все ок, есть такой - ставим сессию
}
else echo "Пользователь с таким логином не найден, проверьте правильность введенных данных";
}
else echo "В данный момент сервер не доступен. Попробуйте позднее";
}
else echo "Вы заполнили не все поля!";
}
?>
<form method=post>
Login: <input type=text name=login />
Pass:  <input type=password name=pass />
<input type=submit name=go value="Поехали!" />
</form>
Добавлено через 1 минуту
если по простому - то нормально, без всяких лишних ваших функций с одной строчкой в виде возврата обработанного значения и коду всего 25-30 строчек..
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2012, 17:22
Помогаю со студенческими работами здесь

Изучение HTML по видео урокам
Всем привет дорогие друзья, многие знают, что часть людей любят изучать непосредственно через...

Не работает форма регистрации
Не заносятся данные в бд index.php &lt;!doctype html&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; ...

Форма регистрации не работает
Нужно зарегестрировать пользователя, и чтобы он появлялся в бд phpmyadmin. Но постоянно...

Не работает форма регистрации
Доброго времени суток. Нужно написать простой сайт по продажи недвижимости ... Решил с формы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru