2014-04-01 2 views
-4

Этот код работает отлично. Все, что я хочу сделать, это передать имя FirstName и LastName (используя SESSION), которое уже хранится в $ userName. Первое и последнее имя фактически извлекается из базы данных при попытке входа в систему. Я хочу иметь Имя и фамилия показать на каждой странице после входа в .. СпасибоПеременная сеанса динамически передается на следующую страницу

<table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td><?php 
$DisplayForm = TRUE; 
$errors = 0; 

if(isset($_POST['uname']) && isset($_POST['pass'])) { 
include("dbconnect.php"); 
if($DBConnect !== FALSE){ 
$SQLstring = "SELECT userid, first_name, last_name FROM users WHERE username ='". 
$_POST['uname']. "' and password = '".md5($_POST['pass'])."'"; 
$DisplayForm = FALSE; 
$QueryResult = @mysql_query($SQLstring, $DBConnect); 
echo mysql_error(); 
if (mysql_num_rows($QueryResult)=== 0){ 
    echo "<p style='color:red;'><b>&nbsp;&nbsp;&nbsp;The email address/password " . 
    " combination is not valid.</b></p>\n"; 
    ++$errors; 
    $DisplayForm = TRUE; 
} 
else 
{ 
    $DisplayForm = FALSE; 
} 

} 

} 

if ($DisplayForm) 
{?> 


<form id="form1" name="loginForm" method="post" action="index.php"> 
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
    <td width="93" bgcolor="#DACFAF"><strong> &nbsp;&nbsp;&nbsp;Username:</strong></td> 
    <td width="149" bgcolor="#DACFAF"><label for="textfield"></label> 
    <input type="text" name="uname" id="textfield" /></td> 
    <td width="76" bgcolor="#DACFAF"><strong>Password:</strong></td> 
    <td width="150" bgcolor="#DACFAF"><label for="textfield2"></label> 
    <input type="password" name="pass" id="pass" /></td> 
    <td width="196" bgcolor="#DACFAF"><input type="image" name="login" src="images/login.jpg" />&nbsp;</td> 
    <td width="68" bgcolor="#DACFAF">&nbsp;</td> 
    <td width="68" bgcolor="#DACFAF"><strong><a href="register.php">Register</a> </strong> </td> 
    </tr> 
</table> 
    </form> 

<?php } 
    else { 
    $Row = mysql_fetch_assoc($QueryResult); 
    $userID = $Row['userid']; 
    $userName = $Row['first_name']. " ". $Row['last_name']; 


    echo "<table width=780px border=0px >"; 
       echo "<tr>"; 
       echo "<td style='color:red;'>"; 
       echo "<b>&nbsp;&nbsp;&nbsp;Welcome back, $userName!</b>"; 
       echo "</td>"; 
       echo"<td align='right'>"; 
       echo "<form method='POST' action=''>"; 
       echo "<input type='submit' name='submit' value='logout'>"; 
       echo "</form>"; 
       echo "</td>"; 
       echo "</tr>"; 
       echo "</table>"; 


    } 


?>&nbsp;</td> 
    </tr> 
</table> 
+0

В чем ваша проблема? _ –

+0

Какой результат вы получаете сейчас? –

+0

Не уверен, как действительно пройти сеанс. я могу проходить между формами, но динамика не работает. – user3479738

ответ

0

Предполагая, что вы знаете, как установить $ _SESSION переменной.

или если не

В журнале в PHP начать сеанс с помощью session_start();. после проверки. Поместите имя внутри переменной $_SESSION.

как этого

$_SESSION['username'] = $firstname.$lastname;

предполагающих $ ПгвЬЫат имеет имя пользователя и $ Lastname имеет фамилию пользователя.

ТОГДА:

Помещенный session_start(); в самом начале вашего файла PHP, который вы хотите отобразить имя пользователя.

затем

$userName=$_SESSION['username'];

Надень два вместе в самом начале каждого файла PHP вы хотите, чтобы отобразить имя. Теперь вы можете использовать переменную $userName для отображения названия.

+0

спасибо .. будет работать на нем и вернуться к вам .. спасибо. – user3479738

+0

Спасибо. Я смог исправить это, добавив $ _SESSION ['username'] = "$ userName"; Проблема, которую я имел раньше, заключалась в том, что я добавлял ее в сеанс, объявленный в верхней части страницы. – user3479738

+0

Хорошо. Рад, что смог помочь :) –

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