2017-01-06 2 views
0

У меня есть эта регистрационная форма, которую пользователь заполняет и отправляет на другую страницу, которая добавляет информацию в мою базу данных. Есть ли способ, который после регистрации человека я могу отправить имя пользователя и пароль на страницу входа и автоматически записывать их в журнал? это код, который добавляет в свою базу данных после того, как пользователь зарегистрировался:Выполнение регистрации на странице регистрации после завершения регистрации

require "connection.php"; 

session_start(); 

if ($_POST['firstname'] != "" && $_POST['lastname'] !="" && $_POST['email'] != "" && $_POST['username'] !="" && $_POST['password'] !="") 
{ 
    $firstname = $_POST['firstname']; 
    $lastname = $_POST['lastname']; 
    $email = $_POST['email']; 
    $password = $_POST['password']; 
    $username = $_POST['username']; 

    $query1="SELECT * FROM users WHERE username = '$username' "; 
    $username = mysqli_real_escape_string($conn,$username); 
    $password = mysqli_real_escape_string($conn,$password); 
    $firstname = mysqli_real_escape_string($conn,$firstname); 
    $lastname = mysqli_real_escape_string($conn,$lastname); 
    $email = mysqli_real_escape_string($conn,$email); 




    $result = mysqli_query($conn,$query1) 
    or die(mysqli_error($conn)); 

    if(mysqli_num_rows($result) != 0) 
    { 
     $_SESSION['er_firstname'] = $firstname; 
     $_SESSION['er_lastname'] = $lastname; 
     $_SESSION['er_email'] = $email; 
     header("Location: index.php/?a=1"); 
    } 



    else { 
     unset($_SESSION['er_firstname']); 
     unset($_SESSION['er_lastname']); 
     unset($_SESSION['er_email']); 
    $query = "INSERT INTO users (firstname, lastname, password, username) VALUES ('$firstname','$lastname','$email','$password', '$username')"; 


    $data = mysqli_query($conn,$query)or die(mysqli_error($conn)); 

    header("Location: index.php/?a=2"); 

    } 

} 


?> 

И это мой Войти код, когда я пользователь обычно вводит там имя пользователя и пароль, чтобы войти:

<?php 

session_start(); 
$username = $_POST['username']; //either username or email 
$password = $_POST['password']; 


if($username=="" || $password == "") 
{ 
    header("Location: index.php"); 

} 

require "connection.php"; 

if(!empty($username) && !empty($password)) { 

    $username = mysqli_real_escape_string($conn,$username); 
    $password = mysqli_real_escape_string($conn,$password); 


    $query = "SELECT * FROM users WHERE username = '$username' OR email = '$username' AND password = '$password'"; 
    $data = mysqli_query($conn,$query); 


    if($data) { 
     if (mysqli_num_rows($data) == 1) { 
      $row = mysqli_fetch_assoc($data); 
      $_SESSION['id'] = $row['id']; 
      $_SESSION['username'] = $row['username']; 

      header("Location: http://home"); 

     } 
     else { 
      header("Location: index.php/?i=1"); 
      exit(); 
     } } 

    else { 
     die("Query failed"); 
    } 

} 
else { 
    $_SESSION['message'] = "Please enter a email and password"; 
    header("Location: index.php"); 
    exit(); 
} 

Так что есть способ отправить add.php на login.php, я попытался переключить местоположение заголовка add.php на login.php, но он не работал.

+0

Ummmm, если вы не хотите использовать подготовленные операторы, вам нужно избежать переменных *** до ***, которые вы используете в запросе ('$ username'). И чтобы ответить на ваш вопрос, установите те же самые переменные сеанса и перенаправляйтесь на ту же страницу, что и при входе в систему. – jeroen

+0

выполните функцию входа в систему и передайте необходимые параметры имени пользователя и пароля для входа в систему. – manny

+0

. Вы можете создать уникальный столбец в своей базе данных и затем сохранить его внутри сеанса или файла cookie. Затем вы можете включить некоторую форму проверки на каждую из ваших страниц входа, которые запрашивают этот уникальный ключ. – Kitson88

ответ

1

Вы можете обойти весь экран входа в систему. Вы можете просто применить логику входа в свою регистрационную обработку.

Это связано с добавлением трех строк кода по внешнему виду.

+0

Я положил это в свой login.php вместе с другим кодом правильно? – jasy

+0

Нет, это будет в файле php, который добавит пользователя после заполнения формы. – KingNED

+0

Хорошо, после чего именно? вместо 'header (" location/index.php? a = 2 ")' – jasy

Смежные вопросы