[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в области переменной или неправильный if
novamap
Добрый вечер. Использую последнюю версию XAMPP c версией PHP 7.0.9

Делаю сайт с валидацией формы по уроку на ютубе:

https://youtu.be/Epej2kWxH8M?list=PLB8wmVoWIIx5vDttXncH_WXF_JjC7PIjc
На 20 минуте этого видео идет проверка валидации формы - у меня же выводит ошибку
Notice: Undefined variable: Module in C:\xampp\htdocs\form\account.php on line 3

1) Как я понимаю это либо переменная $Module не видима в файле account.php хотя include('form/account.php'); присутствует в файле index.php и переменная $Module должна быть видимой в файле account.php

2) Либо не корректная проверка if ($Module == 'register' and $_POST['enter'])

Прошу помощи - как убрать ошибку. Причем когда убираю из if - $Module == 'register' and то валидация успешно работает. Понимаю, что урок старый, аж 2014 года и код корявый может быть - но все же прошу у знатоков помощи.

Архивы с готовым кодом (Урок 4) находится на Яндекс-ДИСКЕ


Коды файлов:

index.php где идет определение URL


<?php

// Подключаем файл setting.php

include_once 'setting.php';
// Стартуем сессии
session_start();

// В переменную $CONNECT вносим подключение к нашей БД
$CONNECT = mysqli_connect(HOST, USER, PASSWORD, DATABASE);

// Код определяет какую страницу подгружать пользователю
// Переменная $_SERVER['REQUEST_URI'] - это глобальная переменная
// Переменная $Page - это имя страницы
// Переменная $Module - это имя модуля
// Переменная $URL_Path разбивает адрес url на части
// Переменная $URL_Parts


if ($_SERVER['REQUEST_URI'] == '/') {
$Page = 'index';
$Module = 'index';
}
else
{
$URL_Path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$URL_Parts = explode('/', trim($URL_Path, ' /'));
$Page = array_shift($URL_Parts);

if (!empty($Module)) {
$Param = array();
for ($i = 0; $i < count($URL_Parts); $i++) {
$Param[$URL_Parts[$i]] = $URL_Parts[++$i];
}
}
}


if ($Page == 'index') include('page/index.php');
else if ($Page == 'login') include('page/login.php');
else if ($Page == 'register') include('page/register.php');
else if ($Page == 'account') include('form/account.php');


function FormChars($p1) {
return nl2br(htmlspecialchars(trim($p1), ENT_QUOTES), false);
}

function Head($p1) {
echo '<!DOCTYPE html><html><head><meta charset="utf-8" /><title>'.$p1.'</title><meta name="keywords" content="" /><meta name="description" content="" /><link href="http://localhost/resource/style.css" rel="stylesheet"></head>';
}


function Menu () {
echo '<div class="MenuHead"><a href="/"><div class="Menu">Главная</div></a><a href="/register"><div class="Menu">Регистрация</div></a><a href="/login"><div class="Menu">Вход</div></a></div>';
}

function Footer () {
echo '<footer class="footer">Mr.Shift - <a href="https://www.youtube.com/channel/UCpEWlcj5rkU1H9vkIf9Lb5g" target="blank">Мой канал на You Tube</a> - Пишем свой движок на PHP</footer>';
}

?>


Файл register.php где вводят данные чтобы зарегистрироваться на сайте.

<?php Head('Главная страница') ?>
<body>
<
div class="wrapper">
<
div class="header"></div>
<
div class="content">
<?php Menu() ?>
<div class="Page">
<
h3>Заполните форму:</h3>

<
form method="POST" action="/account/register">

<
br><input type="text" name="login" placeholder="Логин">
<
br><input type="email" name="email" required placeholder="E-mail">
<
br><input type="password" name="password" required placeholder="Пароль">
<
br><input type="text" name="name" required placeholder="Имя"><br>
<
br><select size="1" name="country">
<
option value="0">Не скажу</option>
<
option value="1">Украина</option>
<
option value="2">Россия</option>
<
option value="3">США</option>
<
option value="4">Канада</option>
</
select><br>
<
br><input type="file" name="avatar"><br>
<
br><input type="submit" name="enter" value='Регистрация'> <input type="reset" value='Очистить'>
</
form>
</
div>
</
div>
<?php Footer() ?>
</div>
</
body>
</
html>


Файл aсcount.php где идет проверка, валидация форм введенных в register.php

<?php

if ($Module == 'register' and $_POST['enter']) {
$_POST['login'] = FormChars($_POST['login']);
$_POST['email'] = FormChars($_POST['email']);
$_POST['password'] = FormChars($_POST['password']);
$_POST['name'] = FormChars($_POST['name']);
$_POST['country'] = FormChars($_POST['country']);
$_POST['avatar'] = FormChars($_POST['avatar']);

if (!$_POST['login'] or !$_POST['email'] or !$_POST['password'] or !$_POST['name']) {
exit('Ошибка валидации формы.');
}
else echo 'Валидация формы прошла успешно!';

}

?>



Спасибо всем за поддержку!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.