Система підключення - Проблема d; присвоєння змінних AzernyNicare - OpenClassrooms

Питання ? Не хвилюйтеся, ми допоможемо вам !

Проблема присвоєння змінних

присвоєння

Привіт на добраніч,

Це мій перший допис на цьому форумі, трохи подивившись туди-сюди, я не знайшов вирішення своєї проблеми, тому приходжу попросити поради та невеликої допомоги, дозвольте пояснити:

Я сподіваюся, щоб на практиці досягти успіху у створенні системи запису сеансу на сайті. Це мій найперший php-код, який буде нещадним у ваших відгуках, я тут, щоб вдосконалити себе (добре і так не погано xD)

На даний момент дуже базово, у моїй базі даних записано лише три поля, ідентифікатор, ім’я користувача та пароль, а потім я заповнив би та ускладнив.

Тому я хочу, щоб користувач зареєструвався через форму, а потім зв’язався за допомогою правильного пароля та правильного логіна.

Для початку я запустив свою базу даних,

Потім я перевірив, чи користувач ввів логін/mdp, якщо ні, я відправляю його назад у форму (ця частина працює)

Потім, якщо він ввів логін і пароль, я перевіряю, чи зареєстровано це в базі даних, і я привітаюся з ним, якщо це добре, або повертаю форму, якщо вона не є хорошою (тобто, де мій код неправильний)

Ось чого мені вдалося досягти, чи не могли б ви пояснити мені мою помилку? ?

Ще раз спасибі за вашу допомогу і справді не соромтеся повідомити, чи можу я зробити краще:).

P.S. Я запустив добре, на початку своєї сторінки початок сесії забув вказати вище:

-
Опубліковано AzernyNicare 9 жовтня 2014 року о 23:58:34

Уникайте постійного підключення до бази даних. Робіть це тоді, коли вам це дійсно потрібно. Перемістіть код з місця, щоб поставити його безпосередньо перед рядком 15. В ідеалі, розмістіть код в іншому файлі та включіть його до структури мови включення, коли вам це потрібно. Наразі завжди є краще, але добре в дусі СУХОГО це вже добре.

- isset приймає кілька параметрів, щоб ви могли писати, isset ($ _POST ['ім'я користувача'], $ _POST ['пароль']) замість того, щоб викликати функцію вдвічі.

- $ _SESSION ['log'] = true ви використовуєте оператор присвоєння (=), тоді як ви хочете використовувати оператор порівняння (== або ===)

Також перегляньте, чи хочете ви бачити користувача, який вже ввійшов на цю сторінку.

Та ж проблема, що і оператори лінії 13. Насправді, у вашому рядку 20 слід перевірити, чи масив порожній чи ні. Подобається це:

Перевірка вже виконана під час запиту за допомогою речення WHERE.

У дусі СУХОГО розмістити частини, які повторюються у файлах, які будуть включені. Як у рядках 35 - 40 та 49 - 55 це та сама форма.

Це добре для першої спроби. Ми часто бачимо гірше.

RyDroid писав:

Метод Execute приймає 2 форми маркерів з асоціативним ключем або без нього:.

Дякую за відповіді, зараз я коригую свій код.

Дякую RyDroid, Я знаю, що наявність чіткого і читабельного коду приємніше для всіх, я його краще організую.

В іншому випадку для "Хеш і брудний пароль", я не розумію, що ви маєте на увазі під цим: /, я повинен приготувати свій пароль ^^ '? Інакше минувши жарт, я збираюся попросити свого друга google про якусь інформацію, щоб побачити це трохи чіткіше.

Белзебут119, тож дякую за всі поради, ці маленькі деталі заощадять мені багато часу (особливо функція isset () з декількома параметрами) =).

Для рядків 2 - 9 це виправлено.

Для рядка 13 Також виправлено, я справді не звертав уваги на порівняння:/дрібні деталі, які дорогі x)

Я б також подумав включити повторювані частини, але у мене виникне запитання раптово, немає проблем або тонкощів, якщо сам файл include містить php.

(Я хочу розширити своє мислення, якщо моя сторінка php містить код, який змінює змінну, яка використовується у моєму включенні, коли буде оброблений php включеної сторінки? Це залежить від позиції включення? Або php файлу включена сторінка завжди буде оброблятися згодом?) Вибачте, я спробував підсумувати питання, яке мене мучить якомога краще x).

Я закінчую вирішувати інші проблеми, які ви мені вказали, і я швидко все це перевірю =).

Ще раз спасибі вам обом за пораду.

-
Опубліковано AzernyNicare 10 жовтня 2014 року о 01:29:26