2016-06-13 8 views
0

Будучи новым для php, я пытаюсь отобразить конкретную страницу html, используя простую аутентификацию php без базы данных. Я храню разные имена пользователей и пароли в массиве логинов. Я хочу отобразить другую страницу для каждого имени пользователя. Например if isset[Username]= Marc header("location:marc.html")Как отобразить конкретную страницу html с использованием аутентификации php без базы данных?

login.html

<form action="login.php" method="post" name="Login_Form"> 
    <table width="400" border="0" align="center" cellpadding="5" cellspacing="1" class="Table"> 
    <?php if(isset($msg)){?> 
    <tr> 
     <td colspan="2" align="center" valign="top"><?php echo $msg;?></td> 
    </tr> 
    <?php } ?> 
    <tr> 
     <td colspan="2" align="left" valign="top"><h3>Client identification</h3></td> 
    </tr> 
    <tr> 
     <td align="right" valign="top"></td> 
     <td><input name="Username" type="text" placeholder="Username" class="Input"></td> 
    </tr> 
    <tr> 
     <td align="right"></td> 
     <td><input name="Password" type="password" placeholder="Password" class="Input"></td> 
    </tr> 
    <tr> 
     <td> </td> 
     <td><input name="Submit" type="submit" value="Enter" class="Button3"></td> 
    </tr> 
    </table> 
</form> 

login.php

<?php session_start(); /* Starts the session */ 

    /* Check Login form submitted */  
    if(isset($_POST['Submit'])){ 

     /* Define username and associated password array */ 
     $logins = array(
        'Marc' => 'pass','username1' => 'password1', 
        'Guy' => 'pass','username2' => 'password2', 
        'Lucie' => 'pass','username3' => 'password3', 
        'Eva' => 'pass','username4' => 'password4'); 

     /* Check and assign submitted Username and Password to new variable */ 
     $Username = isset($_POST['Username']) ? $_POST['Username'] : ''; 
     $Password = isset($_POST['Password']) ? $_POST['Password'] : ''; 

     /* Check Username and Password existence in defined array */   
     if (isset($logins[$Username]) && $logins[$Username] == $Password){ 

        /* Success: Set session variables and redirect to Protected page */ 
      $_SESSION['UserData']['Username']=$logins[$Username]; 
      header("location:marc.html"); 
      exit; 
     } else { 
      /*Unsuccessful attempt: Set error message */ 
      $msg="<span style='color:red'>Invalid Login Details</span>"; 
     } 
    } 
?> 
+1

Прохладный. Что не работает? –

+0

Как вы можете получить PHP-код в html-файле? – Andreas

+0

'header (" location: ". Strtolower ($ Username).". Html ");'? –

ответ

1

На первый взгляд я ожидать, что вам нужно:

header("location:marc.html"); 

изменения в:

$url = strtolower($Username); 
header("location:".$url.".html"); 
+0

. Мой плохой ... Я должен был попробовать ваше решение, прежде чем что-то сказать ... На самом деле это то, что мне нужно! Спасибо! –