Система підключення - Проблема 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