Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] mysql i sesja -> brak wynikow
Forum PHP.pl > Forum > Przedszkole
sparky87
Plik Login.php , gdzie tworzona jest sesja :

  1. <?php
  2. $username=$_POST['username']; 
  3. $password=$_POST['password']; 
  4. $level=$_POST['level']; 
  5.  
  6.  
  7. $sql="SELECT * FROM $tbl_name WHERE name='$username' and pass='$password' and level='$level'";
  8. $result=mysql_query($sql);
  9. $count=mysql_num_rows($result);
  10. if($count==1){
  11. $_SESSION["username"] = $username; 
  12. $_SESSION["level"] = $level; 
  13. ..........
  14. }
  15. ?>


A to strona user.php ktora ma wyswietlic profil osoby logujacej sie z pomoca sesji :

  1. <?php
  2. if(!isset($_SESSION["username"])){
  3. header("location:index.php?pokaz=login");
  4. }
  5.  $query = "SELECT * FROM user WHERE name= '.$_SESSION[username].'";
  6.  $result = mysql_query ($query);
  7.  while ($row = mysql_fetch_array($result)) 
  8.  {
  9. ........
  10. }
  11. ?>


Ogólnie, chciałem aby po zalogowaniu się, na stronie user.php wyswietlilo dane profilu osoby logujacej się. Dane zapisane sa w bazie mysql, zaś z pomoca sesji chcialem wyciagnac dane konkretnej osoby. Proces logowania przechodzi normalnie ale nie wyswietla mi sie profil na user.php angrysmiley.gif Widzi moze ktos tutaj blad ? biggrin.gif
UDAT
Niezalogowanego wysyłasz na login.php gdzie się loguje i utyka.

EDIT: Daj na login.php session_start()
sparky87
Caly Login.php tak wyglada :

  1. <?php
  2.  
  3.  
  4. $username=$_POST['username']; 
  5. $password=$_POST['password']; 
  6. $level=$_POST['level']; 
  7.  
  8. $sql="SELECT * FROM user WHERE name='$username' and pass='$password' and level='$level'";
  9. $result=mysql_query($sql);
  10. $count=mysql_num_rows($result);
  11. if($count==1){
  12. $_SESSION["username"] = $username; 
  13. $_SESSION["level"] = $level; 
  14. if ($level=='superadmin') {
  15. header("location:superadmin.php");
  16. }
  17. elseif ($level=='admin') {
  18. header("location:admin.php");
  19. }
  20. else {
  21. header("location:index.php?pokaz=user");
  22. }
  23. }
  24. else {
  25. info("Wrong Username, Password or Permission",'blad');
  26. }
  27.  
  28. ?>

  1. <h1>Login<hr /></h1>
  2.  
  3. <form action="index.php" method="post">
  4. <input type="hidden" name="pokaz" value="login" />
  5. <table border="0" width="580" align="center">
  6. <tr>
  7. <td width="180" align="right"> Uzytkownik :</td>
  8. <td width="400" align="left" colspan="2" > <input type="text" size="25" name="username"></td>
  9. </tr>
  10. <tr>
  11. <td width="180" align="right"> Haslo :</td>
  12. <td width="400" align="left" colspan="2" > <input type="password" size="26" name="password"></td>
  13. </tr>
  14. <tr>
  15. <td width="180" align="right"> Poziom Dostepu :</td>
  16. <td width="400" align="left" colspan="2" > <select name="level" class="textfelt" >
  17. <option selected>--------------------</option>
  18. <option>user</option>
  19. <option>admin</option>
  20. <option>superadmin</option></select></td>
  21. </tr>
  22. <tr>
  23. <td width="180" align="right"></td>
  24. <td width="145"></td>
  25. <td width="255"><input type="submit" name="submit" value="Login"></td>
  26. </tr>
  27. </table>
  28. </form>


I nie chce dzialac mad.gif
lopik
Pewnie głupio gadam, ale czy nie powinno byc tak:

  1. $query = "SELECT * FROM user WHERE name= '".$_SESSION['username']."'";


i

  1. $sql="SELECT * FROM user WHERE name='".$username."' and pass='".$password."' and level='".$level."'";
sparky87
Login.php dziala (chyba) bez zarzutu, wiec narazie nic nie zmieniam tongue.gif

A to co zaproponowales, to juz testowalem tongue.gif i mam taki komunikat :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/f/c/fckublinie/user.php on line 10
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.