Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php if ($_GET['step'] == '2'){?>
- <div class='lets-wrapper'>
- <div class='step-letsgo'>
- <h2>We're glad you're here, <?php echo $user->screenName; ?> </h2>
- <p>Tweety is a constantly updating stream of the coolest, most important news, media, sports, TV, conversations and more--all tailored just for you.</p>
- <br/>
- <p>
- Tell us about all the stuff you love and we'll help you get set up.
- </p>
- <span>
- <a href='../home.php' class='backButton'>Let's go!</a>
- </span>
- </div>
- </div>
- <?php } ?>
- <?php
- if(isset($_POST['signup'])){
- $screenName = $_POST['screenName'];
- $email = $_POST['email'];
- $password = $_POST['password'];
- $error = '';
- if(empty($screenName) or empty($password) or empty($email)){
- $error = 'All fields are required';
- }else {
- $email = $getFromU->checkInput($email);
- $screenName = $getFromU->checkInput($screenName);
- $password = $getFromU->checkInput($password);
- if(!filter_var($email)) {
- $error = 'Invalid email format';
- }else if(strlen($screenName) > 20){
- $error = 'Name must be between in 6-20 characters';
- }else if(strlen($password) < 5){
- $error = 'Password is too short';
- }else {
- if($getFromU->checkEmail($email) === true){
- $error = 'Email is already in use';
- }else {
- $user_id = $getFromU->create('users', array('email' => $email, 'password' => md5($password) , 'screenName' => $screenName, 'profileImage' => 'assets/images/defaultprofileImage.png', 'profileCover' => 'assets/images/defaultCoverImage.png'));
- $_SESSION['user_id'] = $user_id;
- header('Location: includes/signup.php?step=1');
- }
- }
- }
- }
- <?php include '../core/init.php';
- $user_id = $_SESSION['user_id'];
- $user = $getFromU->userData($user_id);
- if(isset($_GET['step']) === true && empty($_GET['step']) === false){
- if(isset($_POST['next'])){
- $username = $getFromU->checkInput($_POST['username']);
- if (!empty($username)) {
- if(strlen($username) > 20){
- $error = "Username must be between in 6-20 characters";
- }else if($getFromU->checkUsername($username) === true){
- $error = "Username is already taken!";
- }else{
- $getFromU->update('users', $user_id, array('username' => $username));
- header('Location: signup.php?step=2');
- }
- }else{
- $error = "Please enter your username to choose";
- }
- }
- ?>
- <!doctype html>
- <html>
- <head>
- <title>twitter</title>
- <meta charset="UTF-8" />
- <link rel="stylesheet" href="assets/css/font/css/font-awesome.css"/>
- <link rel="stylesheet" href="../assets/css/style-complete.css"/>
- </head>
- <!--Helvetica Neue-->
- <body>
- <div class="wrapper">
- <!-- nav wrapper -->
- <div class="nav-wrapper">
- <div class="nav-container">
- <div class="nav-second">
- <ul>
- <li><a href="#"<i class="fa fa-twitter" aria-hidden="true"></i></a></li>
- </ul>
- </div><!-- nav second ends-->
- </div><!-- nav container ends -->
- </div><!-- nav wrapper end -->
- <!---Inner wrapper-->
- <div class="inner-wrapper">
- <!-- main container -->
- <div class="main-container">
- <!-- step wrapper-->
- <?php if ($_GET['step'] == '1') {?>
- <div class="step-wrapper">
- <div class="step-container">
- <form method="post">
- <h2>Choose a Username</h2>
- <h4>Don't worry, you can always change it later.</h4>
- <div>
- <input type="text" name="username" placeholder="Username"/>
- </div>
- <div>
- <ul>
- <li><?php if (isset($error)){echo $error;} ?></li>
- </ul>
- </div>
- <div>
- <input type="submit" name="next" value="Next"/>
- </div>
- </form>
- </div>
- </div>
- <?php } ?>
- <?php if ($_GET['step'] == '2'){?>
- <div class='lets-wrapper'>
- <div class='step-letsgo'>
- <h2>We're glad you're here, <?php echo $user->screenName; ?> </h2>
- <p>Tweety is a constantly updating stream of the coolest, most important news, media, sports, TV, conversations and more--all tailored just for you.</p>
- <br/>
- <p>
- Tell us about all the stuff you love and we'll help you get set up.
- </p>
- <span>
- <a href='../home.php' class='backButton'>Let's go!</a>
- </span>
- </div>
- </div>
- <?php } ?>
- </div><!-- main container end -->
- </div><!-- inner wrapper ends-->
- </div><!-- ends wrapper -->
- </body>
- </html>
- <?php
- }
- ?>
- <?php
- class User {
- protected $pdo;
- function __construct($pdo) {
- $this->pdo = $pdo;
- }
- public function checkInput($var) {
- $var = htmlspecialchars($var);
- $var = trim($var);
- $var = stripcslashes($var);
- return $var;
- }
- public function login($email, $password){
- $stmt = $this->pdo->prepare("SELECT 'user_id' FROM 'users' WHERE 'email' = :email AND 'password' = :password");
- $stmt->bindParam(":email", $email, PDO::PARAM_STR);
- $stmt->bindParam(":password", md5($password), PDO::PARAM_STR);
- $stmt->execute();
- $user = $stmt->fetch(PDO::FETCH_OBJ);
- $count = $stmt->rowCount();
- if($count > 0){
- $_SESSION['user_id'] = $user->user_id;
- header('Location:home.php');
- }else {
- return false;
- }
- }
- public function register($email, $screenName, $password){
- $stmt = $this->pdo->prepare("INSERT INTO 'users' (email, password, screenName, profileImage, profileCover) VALUES (:email, :password, :screenName, 'assets/images/defaultprofileImage.png', 'assets/images/defaultCoverImage.png') ");
- $stmt->bindParam(":email", $email, PDO::PARAM_STR);
- $stmt->bindParam(":password", md5($password), PDO::PARAM_STR);
- $stmt->bindParam(":screenName", $screenName, PDO::PARAM_STR);
- $stmt->execute();
- $user_id = $this->pdo->lastInsertId();
- $_SESSION['user_id'] = $user_id;
- }
- public function userData($user_id) {
- $stmt = $this->pdo->prepare("SELECT * FROM 'users' WHERE 'user_id' = :user_id");
- $stmt->bindParam(":user_id", $user_id, PDO::PARAM_INT);
- $stmt->execute();
- return $stmt->fetch(PDO::FETCH_OBJ);
- }
- public function logout(){
- $_SESSION = array();
- session_destroy();
- header('Location: ../index.php');
- }
- public function create($table, $fields = array()){
- $columns = implode(',', array_keys($fields));
- $values = ':'.implode(', :', array_keys($fields));
- $sql = "INSERT INTO {$table} ({$columns} VALUES ({$values}))";
- if($stmt = $this->pdo->prepare($sql)){
- foreach ($fields as $key => $data) {
- $stmt->bindValue(':'.$key, $data);
- }
- $stmt->execute();
- return $this->pdo->lastInsertId();
- }
- }
- public function update($table, $user_id, $fields = array()){
- $columns = '';
- $i = 1;
- foreach ($fields as $name => $value) {
- $columns .= "'{$name}' = :{$name}";
- if($i < count($fields)){
- $columns .= ', ';
- }
- $i++;
- }
- $sql = "UPDATE {$table} SET {$columns} WHERE 'user_id' = {$user_id}";
- if($stmt = $this->pdo->prepare($sql)){
- foreach ($fields as $key => $value) {
- $stmt->bindValue(':'.$key, $value);
- }
- $stmt->execute();
- }
- }
- public function checkUsername($username){
- $stmt = $this->pdo->prepare("SELECT 'username' FROM 'users' WHERE 'username' = :username");
- $stmt->bindParam(":username", $username, PDO::PARAM_STR);
- $stmt->execute();
- $count = $stmt->rowCount();
- if($count > 0){
- return true;
- }else {
- return false;
- }
- }
- public function checkEmail($email){
- $stmt = $this->pdo->prepare("SELECT 'email' FROM 'users' WHERE 'email' = :email");
- $stmt->bindParam(":email", $email, PDO::PARAM_STR);
- $stmt->execute();
- $count = $stmt->rowCount();
- if($count > 0){
- return true;
- }else {
- return false;
- }
- }
- public function userIdByUsername($username){
- $stmt = $this->pdo->prepare("SELECT 'user_id' FROM 'users' WHERE 'username' = :username");
- $stmt->bindParam(":username", $username, PDO::PARAM_STR);
- $stmt->execute();
- $user = $stmt->fetch(PDO::FETCH_OBJ);
- return $user->user_id;
- }
- }
- ?>
- <?php
- include 'database/connection.php';
- include 'classes/user.php';
- include 'classes/tweet.php';
- include 'classes/follow.php';
- global $pdo;
- session_start();
- $getFromU = new User($pdo);
- $getFromT = new Tweet($pdo);
- $getFromF = new Follow($pdo);
- define("BASE_URL", "http://localhost/twitter/");
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement