Member 13810736 Ответов: 0

Регистрационная форма и набор файлов cookie для нее


Требования:

Создайте PHP-приложение, позволяющее пользователю зарегистрироваться на веб-сайте и ввести информацию профиля, которая будет храниться в файлах cookie.
Часть I: Страница регистрации
Создайте страницу под названием register.php это отображает форму регистрации Пользователя со следующими полями из таблицы customer:
Адрес электронной почты - обязательно, действительный адрес электронной почты, максимальная длина 60
Имя - обязательно, максимальная длина 40
Фамилия - обязательно, максимальная длина 20
Пароль - обязательно, 8-20 символов
Подтвердите пароль - обязательно, 8-20 символов, должен совпадать пароль
Считайте записи из таблицы жанров и выводите каждую из них в виде флажка, используя имя в качестве метки и идентификатор жанра в качестве значения. Попросите пользователя выбрать до 3 любимых жанров. Пользователь должен выбрать не менее 1 жанра и не более 3.
Добавьте кнопку отправки со значением Register.
Когда форма будет отправлена, проверьте информацию и отобразите сообщения об ошибках, если есть какие-либо ошибки.
Часть II: создание файлов cookie
Если все данные из формы действительны, то создайте файлы cookie следующим образом:
имя: имя и фамилия из формы с пробелом между ними, срок действия: 30 дней с текущей даты
genre1: первый жанр, выбранный пользователем, истекает: 1 год с текущей даты
genre2: второй жанр, выбранный пользователем, истекает: 1 год с текущей даты. Если выбор не был сделан, не создавайте файл cookie.
genre3: третий жанр, выбранный пользователем, истекает: 1 год с текущей даты. Если выбор не был сделан, не создавайте файл cookie.
купон: значение = .25, временный файл cookie.
Трансфер в аэропорт index.html страница (см. Следующий шаг)
Часть III: индексная страница
Создайте страницу под названием index.php
Добавьте свои функции верхнего и нижнего колонтитулов для html
После заголовка проверьте, существует ли файл cookie с именем. Если да, то выведите сообщение: Добро пожаловать, имя! где имя-значение имени куки.
Проверьте, существует ли файл cookie купона. Если это так, выведите сообщение: "закажите сегодня, чтобы получить скидку 25% на весь ваш заказ!".
Проверьте, существует ли файл cookie genre1. Если это так, то получите значение и проверьте наличие файлов cookie genre2 и genre3, а также получите эти значения, если они существуют. Создайте запрос, чтобы выбрать максимум 20 треков из таблицы треков, которые имеют жанр, соответствующий одному из жанров, введенных пользователем. (т. е. выберите * из треков, где genreId = 1 или genreId = 2 или genreId = 3 ограничивают 20).
Если файл cookie genre1 не существует, просто создайте простой запрос для выбора первых 20 треков (select * from tracks limit 20)
Выполните sql-запрос.
На странице отобразите заголовок: "треки, которые вам могут понравиться"
Перечислите название, жанр, композитора и цену единицы для 20 треков в вашем наборе данных. Если валюта является чем - то иным, чем доллары США, умножьте коэффициент пересчета из массива и отобразите в предпочтительной валюте.
Включите ссылку на сайт register.php страница.

Что я уже пробовал:

<?php
$conn = mysqli_connect("localhost", "root", "","chinook");
        if (isset($_POST['submit'])) {
        $valid = true;
if (isset($_POST['submit'])) {
$valid = true;

		$email = htmlspecialchars($_POST['email']);
        if (empty($email)) {
            echo "<p class="error">Please enter your email address</p>";
            $valid = false;
}}
		setcookie('email',$email,time()+60*60*7);
	
		if (!preg_match('/[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}/',$email)) {
            echo "<p class="error">Invalid email address</p>";
        }
        $firstname = htmlspecialchars(trim($_POST['firstname']));
        if (empty($firstname)) {
            echo "<p class="error">Please enter your first name</p>";
            $valid = false;
        }
        $lastname = htmlspecialchars(trim($_POST['lastname']));
        if (empty($lastname)) {
            echo "<p class="error">Please enter your last name</p>";
            $valid = false;
        }
       
        $username = htmlspecialchars(trim($_POST['username']));
        if (empty($username)) {
            echo "<p class="error">Please enter a username</p>";
            $valid = false;
        }
	
        $password = htmlspecialchars(trim($_POST['password']));
        if (empty($password)) {
            echo "<p class="error">Please enter a password</p>";
            $valid = false;
        }
		  if (!preg_match('/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{8,15}$/',$password)) {
            echo "<p class="error">Password must have 1 uppercase letter, 1 lowercase letter, 1 number and be 8-15 characters in length</p>";
        }
		if (strlen($password)<8 or strlen($password)>20) {
            echo "<p class="error">password must be between 6 and 12 characters in length</p>";
            $valid = false;
        }
		$confirmpassword = htmlspecialchars(trim($_POST['confirmpassword']));
        if (empty($confirmpassword)) {
            echo "<p class="error">Please enter a confirm password</p>";
            $valid = false;
        }
       
        if (strcmp($password,$confirmpassword)!=0) {
            echo "<p class="error">Passwords do not match</p>";
            $valid = false;
        }
		if (isset($_POST['Genre'])) {
        $playlists = $_POST['Genre'];
        } 
		else {
            echo "<p class="error">Please choose Genre.</p>";
            $valid = false;
            $Genre[0]="";
        }
		if (isset($_POST['register'])) {
            setcookie('firstname', $_POST['firstname'], time()+ (60 * 60 * 24 * 30), "/");
            setcookie('lastname',($_POST['lastname']), time()+ (60 * 60 * 24 * 30), "/");
        
			setcookie('Genre1', md5($_POST['Genre1']), time()+(60*60*24*365),"/");
			setcookie('Genre2', md5($_POST['Genre2']), time()+(60*60*24*365),"/");
			setcookie('Genre3', md5($_POST['Genre3']), time()+(60*60*24*365),"/");
			
			//setcookie('coupon', .25($_POST['coupon']), time()+ "/");
        } else {
            setcookie('firstname', $_POST['firstname'], false, '/');
            setcookie('lastname', md5($_POST['lastname']), false, '/');
        }
        if ($valid) {
            header("Location: index1.php?firstname=$firstname&lastname=$lastname");
            exit();
        }
		
    } else {
        $firstname="";
        $lastname="";
        $email="";
        $username="";
        $password="";
        $confirmpassword="";
		$Genre="";
    }
?>

 <p>
    Email address:
    
</p>
<p>
    First name:
    
</p>
<p>
    Last name:
    
</p>

<p>
    Username:
    
</p>
<p>
    Password:
    
</p>
<p>
	Confirm Password:
    
</p>
<p>
	Genre:
<?php
$conn = mysqli_connect("localhost", "root", "",'chinook');
$query = "Select name from Genre";
$result = mysqli_query($conn,$query);
if (!$result) {
die(mysqli_error($conn)); }
while ($row = mysqli_fetch_assoc($result)){
echo "".$row['name'];
}
?>

</p><p>
    
</p>

OriginalGriff

И что же?
Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Где ты застрял?
Какая помощь вам нужна?

Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Member 13810736

Я должен сделать 2 страницы: 1-register.php и еще 2-index.php
согласно тому, что я пробовал, у меня есть форма и проверка об этом в php на странице регистрации, и теперь мне нужно

0 Ответов