2016-01-13 4 views
1

Я проектирую сайт со страницей входа. часть входа и выборка из db отлично работают. но я хочу показать имя пользователя на главной странице после входа в систему. Я использую session_start(). но имя пользователя не отображается. Я проверил подобные вопросы, но ни один из них не был ответом для меня. Ниже приведены коды: PHP код:, показывающий имя пользователя после входа на сайт

$email = mysqli_real_escape_string($con,$_POST['user']); 
$pass = mysqli_real_escape_string($con,$_POST['pass']); 
$sel_user = "select * from admins where email='$email' AND password='$pass'"; 
$run_user = mysqli_query($con, $sel_user); 
$check_user = mysqli_num_rows($run_user); 
if($check_user>0) 
{ 
$_SESSION['email']=$email 
echo "<script>window.open('index2.html','_self')</script>"; 
} 
else { 
echo "<script>alert('Email or password is not correct, try again!')</script>"; 
} 

index2.html:

<?php 
     session_start(); 
?> 
    <div class="inline-block"> 
           <h5 class="no-margin"> Welcome </h5> 
           <h4 class="no-margin"> <?php echo $_SESSION['email']; ?> </h4> 
           <a class="btn user-options sb_toggle"> 
            <i class="fa fa-cog"></i> 
           </a> 
          </div> 
+1

Вы должны 'start_session()' в каждом файле вашего php-скрипта, включая, где вы устанавливаете '$ _SESSION ['email']' – noor

+1

Вы используете php-теги в html-файле. change index_2.html to index_2.php ... done –

+0

Вы должны поместить запятую в конец $ _SESSION ['email'] = $ email, найденную в первом файле. –

ответ

0

Try ниже код:

Первый код:

session_start(); 
$email = mysqli_real_escape_string($con,$_POST['user']); 
$pass = mysqli_real_escape_string($con,$_POST['pass']); 
$sel_user = "select * from admins where email='$email' AND password='$pass'"; 
$run_user = mysqli_query($con, $sel_user); 
$check_user = mysqli_num_rows($run_user); 
if($check_user>0) 
{ 
    $_SESSION['email']=$email 
    echo "<script>window.open('index2.html','_self')</script>"; 
} 
else { 
    echo "<script>alert('Email or password is not correct, try again!')</script>"; 
} 

index2.php:

<?php session_start(); ?> 
<div class="inline-block"> 
    <h5 class="no-margin"> Welcome </h5> 
    <h4 class="no-margin"> <?php echo $_SESSION['email']; ?> </h4> 
    <a class="btn user-options sb_toggle"> 
     <i class="fa fa-cog"></i> 
    </a> 
</div> 

Должно работать.

+0

Я уже добавил приложение AddType/x-httpd-php5 .html .htm в свой htaccess. поэтому я могу запустить php в своем html.but, так как ваш код упоминает, я должен добавить начало сеанса также в моем php-коде. поэтому он работает сейчас. thnks – user3696174

+0

Добро пожаловать, рад помочь вам! –

+0

* «Существует большая ошибка: вы не можете запускать PHP в .html-файле». * * Это неверно и должно быть отброшено из ответа или изменено, чтобы читать что-то вроде: * «Вам нужно проинструктировать Apache для лечения .html как PHP "*, как и OP, которые они использовали. –

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