За последние 24 часа нас посетили 18782 программиста и 1651 робот. Сейчас ищут 945 программистов ...

Создание профиля

Тема в разделе "PHP для новичков", создана пользователем Mlizar, 17 дек 2016.

  1. Mlizar

    Mlizar Новичок

    С нами с:
    17 дек 2016
    Сообщения:
    4
    Симпатии:
    0
    Необходимо при регистрации создавать отдельный файл с данными пользователя по определенному шаблону.
    То есть необходимо вносить изменения в файл "profile.php" и копировать его директорию пользователя.

    Код страницы регистрации:

    <?php require_once "includes/login.php" ?>
    <html>
    <head>
    <?php
    $title="Регистрация";
    require_once "blocks/head.php";
    ?>
    </head>
    <body>

    <?php
    require_once "blocks/header.php";
    $connection = new mysqli(HN, UN, PW, DB);

    $data=$_POST;
    if(isset($data['doRegister'])){
    $errors=array();
    if(trim($data['login'])==''){
    $errors[]='Введите login';
    }
    if(trim($data['email'])==''){
    $errors[]='Введите email';
    }
    if($data['password']==''){
    $errors[]='Введите пароль';
    }
    if($data['rPassword']!=$data['password']){
    $errors[]='Повторный пароль введен не верно';
    }

    $login=$data['login'];
    $email=$data['email'];
    $result = mysqli_query($connection,"SELECT * FROM users WHERE login='$login'");
    if (mysqli_num_rows($result)){
    $errors[]='Пользователь с данным login\'ом уже существует!';
    }
    $result = mysqli_query($connection,"SELECT * FROM users WHERE email='$email'");
    if (mysqli_num_rows($result)){
    $errors[]='Пользователь с данным email\'ом уже существует!';
    }
    if(empty($errors)){

    $password=password_hash($data['password'], PASSWORD_DEFAULT);
    $query = mysqli_query($connection,"INSERT INTO users (login, email, password) VALUES ('$login', '$email', '$password')");
    if($query=='TRUE'){
    echo '<div id="done">Вы успершно зарегесрировались!</div>';
    mkdir("profiles/$email", 0777);
    mkdir("profiles/$email/avatar", 0777);
    copy('image/default_avatar/default-avatar.png', "profiles/$email/avatar/$email-avatar.png");


    //Профиль
    $query=mysqli_query($connection, "SELECT * FROM users WHERE email='$email'");
    $result=mysqli_fetch_array($query);
    copy('profile.php', 'profiles/$email/$email-profile.php');


    }
    else{
    echo '<div id="errors>"Произошла ошибка!</div>';
    }
    }else
    {
    echo '<div id="errors">'.array_shift($errors).'</div>';
    }
    }
    ?>

    <article>

    <div id="section"><?php echo $title ?></div>

    <div id="registration">
    <form action="registration.php" method="POST">
    <p>Login</p>
    <input type="text" class="field" name="login">
    <p>Email</p>
    <input type="email" class="field" name="email">
    <p>Пароль</p>
    <input type="password" class="field" name="password">
    <p>Повторите пароль</p>
    <input type="password" class="field" name="rPassword"><br>
    <input type="submit" id="doRegister" name="doRegister" value="Зарегестрироваться">
    </form>
    </div>

    </article>

    <?php
    require_once "blocks/footer.php";
    mysqli_close($connection);
    ?>

    </body>
    </html>


    Код страницы профиля:


    <?php require_once "includes/login.php" ?>
    <html>
    <head>
    <?php
    $title='Профиль';
    require_once "blocks/head.php";
    ?>
    </head>
    <body>

    <?php
    require_once "blocks/header.php";
    ?>

    <article>

    <div id="section"><?php echo $title ?></div>

    <div id="setting">
    <div>Настройки</div>
    </div>

    <div id="profile">
    <div id="info">
    <div>ID: <?php $result['id'] ?></div>
    <div>Login: <?php $result['login'] ?></div>
    <div>Полное имя: </div>
    <div>Последнее посещение: </div>
    <div>О себе: </div>

    <div id="avatar">
    <img src=<?php echo 'profiles/$email/avatar/$email-avatar.png' ?>>
    </div>

    </div>

    </article>

    <?php
    require_once "blocks/footer.php";
    ?>

    </body>
    </html>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Не надо так делать :D
     
  3. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Я конечно тоже новичок, но мне кажется, что лучше для этих целей использовать базу данных.
     
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    @Mlizar, создайте нужные шаблоны в одном экземпляре, а все фактические данные берите из БД. Если действительно нужно сохранять какие-то вспомогательные файлы вроде аватарок и т.п., отражайте в их путях слаг или числовой id пользователя, например:
    /images/avatars/<slag|id>.jpg
    /images/users/<slag|id>/avatar.jpg