2014-09-27 2 views
0

В настоящее время в моей системе входа пользователь должен зарегистрироваться после регистрации.Как сделать логин, когда пользователь регистрируется в системе

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    <p>Not a member yet?.Sign up here.By Sign up You are accepting our <a href="terms.php">terms and conditions</a> </p> 
    <fieldset> 
     <legend>Registration Info</legend> 
     <label for="username">Username:</label> 
     <input type="text" id="username" name="username" value="<?php if (!empty($username)) echo $username; ?>" /><br /> 
     <label for="email">Email id:</label> 
     <input type="email" id="email" name="email" /><br /> 
     <label for="password1">Password:</label> 
     <input type="password" id="password1" name="password1" /><br /> 
     <label for="password2">Password (retype):</label> 
     <input type="password" id="password2" name="password2" /><br /> 
    </fieldset> 
    <input type="submit" value="Sign Up" name="create" /> 
    </form> 

Если форма правильно

<?php 
     if (!empty($user_username) && !empty($user_password)) { 
// Make sure someone isn't already registered using this username 
    $query = "SELECT * FROM <database> WHERE username = '$username'"; 
    $data = mysqli_query($dbc, $query); 
    if (mysqli_num_rows($data) == 0) { 
    // The username is unique, so insert the data into the database 
    $query = "INSERT INTO <database> (username,last_name,password,join_date) VALUES ('$username','$email',SHA('$password1'), NOW())"; 
    $result=mysqli_query($dbc, $query) or die("cant create an account"); 
    }else{ 
     die("Somthing went wrong"); 
    } 
     } 
?> 

представлены только это будет сделано, он должен перейти на страницу входа и requerd войти, используя следующие коды

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    <fieldset> 
     <legend>Log In</legend> 
     <label for="username">Username:</label> 
     <input type="text" name="username" value="<?php if (!empty($user_username)) echo $user_username; ?>" /><br /> 
     <label for="password">Password:</label> 
     <input type="password" name="password" /> 
    </fieldset> 
    <input type="submit" value="Log In" name="submit" /> 
    </form> 

Я не хочу эту систему так происходит, когда пользователь подписывает это время сам пользователь должен быть доставлен на домашнюю страницу. И переменные сеанса также должны быть установлены во время процесса регистрации.

+0

Там должен быть несколько кодов для вручения логина, скопируйте этот код и мимо него в 'если (пусто ($ user_username) && пустом ($ user_password!)) {'condition, ** перед перенаправлением на странице входа ** и прокомментировать перенаправление для входа. –

+0

Изменен код. – 2014-09-27 09:16:08

ответ

0

Попытайтесь повторно использовать код, это поможет вам управлять кодом и приложением. Создайте функцию для входа в систему и используйте ту же функцию для обычного входа в систему и после регистрации, затем вызовите ту же функцию с данными, которые используются для регистрации ,

function authenticate($user_id, $pwd) 
{ 
// do the logic for login, 
//if success then set value in session and redirect to the respective page 
//if failed then error page 
} 



    if (!empty($user_username) && !empty($user_password)) { 
// Make sure someone isn't already registered using this username 
    $query = "SELECT * FROM <database> WHERE username = '$username'"; 
    $data = mysqli_query($dbc, $query); 
    if (mysqli_num_rows($data) == 0) { 
    // The username is unique, so insert the data into the database 
    $query = "INSERT INTO <database> (username,last_name,password,join_date) VALUES ('$username','$email',SHA('$password1'), NOW())"; 
    $result=mysqli_query($dbc, $query) or die("cant create an account"); 
    // call the authenticate function for login 
    authenticate($username, SHA('$password1')); 
    }else{ 
     die("Somthing went wrong"); 
    } 
     } 
+0

Как принять значения регистрации этой функции, если она уже добавлена ​​в базу данных ?. Или, если вы можете показать один пример, что вы имели в виду для меня? – 2014-09-27 09:24:07

0

Попробуйте что-то вроде этого: -

<?php 
     if (!empty($user_username) && !empty($user_password)) { 
// Make sure someone isn't already registered using this username 
    $query = "SELECT * FROM <database> WHERE username = '$username'"; 
    $data = mysqli_query($dbc, $query); 
    if (mysqli_num_rows($data) == 0) { 
    // The username is unique, so insert the data into the database 
    $query = "INSERT INTO <database> (username,last_name,password,join_date) VALUES ('$username','$email',SHA('$password1'), NOW())"; 
    $result=mysqli_query($dbc, $query) or die("cant create an account"); 

    $_SESSION["username"] = $username; // assign session variable here. 
    header("Location: home.php"); // redirect to home page 

    }else{ 
     die("Somthing went wrong"); 
    } 
     } 
?> 
Смежные вопросы