2016-04-06 6 views
0

Ich bekomme diesen Fehler beim Suchen nach Benutzersitzung auf index.php. Sobald sich ein Benutzer angemeldet hat, möchte ich im Menü eine Schaltfläche "Abmelden" anzeigen. Dies ist der Code:PHP-Sitzung existiert nicht auf index.php

session.php

<?php 
    include('config.php'); 
    session_start(); 

    $user_check = $_SESSION['login_user']; 

    $ses_sql = mysqli_query($db,"select username from users where username = '$user_check' "); 

    $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC); 

    $login_session = $row['username']; 

?> 

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<?php 
    include('session.php'); 
?> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link rel="stylesheet" type="text/css" href="/css/main.css" /> 
<title>LVRP</title> 
</head> 

<body> 
<div id="top-line"></div> 

<div id="header"> 
    <div class="wrapper"> 
     <div class="logo"> </div> 
    </div> 
</div> 

<div id="menu"> 
    <div class="wrapper"> 
     <ul id="navigation"> 
      <li><a class="active" href="index.php">Home</a></li> 
      <li><a class="inactive" href="/forum" target="_blank">Forums</a></li> 
      <li><a class="inactive" href="ucp.php">User Control Panel</a></li> 
      <?php if(isset($_SESSION['login_user'])){echo('<li><a class="inactive" href="logout.php">Log out</a></li>');} ?> 
     </ul> 
    </div> 
</div> 

<div id="content"> 

</div> 


</body> 
</html> 

Es gibt Notice: Undefined index: login_user in /var/www/html/session.php auf Linie 5 auf index.php

Antwort

1

"Es stirbt mit einer leeren Seite."

Fehler aktivieren

ini_set('display_errors', 'On'); 

Am oberen Rand der Seite verwenden, in der PHP-Tags und den Fehler posten.

+0

Danke. Wusste nicht, dass Sie Fehler aktivieren müssen. Anzeigen: ** Warnung: mysqli_connect(): (28000/1045): Zugriff verweigert für Benutzer 'root' @ 'localhost' (mit Passwort: YES) in /var/www/html/config.php in Zeile 7 * * Bedeutet das, dass www-data nicht die richtige Berechtigung in Linux hat? –

+0

Wenn Sie sich bei MySQL anmelden, welches Passwort verwenden Sie? Und das in den Passwort-Slot stecken. – Tommy

+0

Es ist ein alphanumerisches Passwort mit diesem Format: ** Aaaaaaaa1 ** –

1

versuchen Sie die folgenden Korrekturen:

<?php 
    include("config.php"); 
    session_start(); 

    if($_SERVER["REQUEST_METHOD"] == "POST") { 
     // username and password sent from form 

     $myusername = mysqli_real_escape_string($db,$_POST['username']); 
     $mypassword = mysqli_real_escape_string($db,$_POST['password']); 

     $sql = "SELECT ID FROM users WHERE username = '$myusername' and password = '$mypassword'"; 

     $result = mysqli_query($db,$sql); 
     $row = mysqli_fetch_array($result,MYSQLI_ASSOC); 
     //$active = $row['active']; 
     $active = $row['ID']; 

     $count = mysqli_num_rows($result); 

     // If result matched $myusername and $mypassword, table row must be 1 row 

     if($count == 1) { 
     // This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0. (From: http://php.net/manual/en/function.session-register.php) 
     //session_register("myusername"); 
     $_SESSION['login_user'] = $myusername; 

     header("location: ucp.php"); 
     }else { 
     $error = "Wrong username/password."; 
     echo "<pre>";var_dump($error);exit(); 
     } 
    } 
?> 
+0

Das funktioniert, aber ich versuche, einen Link im Menü hinzuzufügen, sobald der Benutzer angemeldet ist. Ich habe den Code in das OP eingefügt. –

Verwandte Themen