Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]
Forum PHP.pl > Forum > Przedszkole
kozioł
Witam ,

mam takie problem

mam w bazie sql tabele USER uzytkowników , jest imię ,nazwisko , login ,hasło , oraz nazwa jednostki itd.


chcę teraz użyć nazwy jednostki do formularza , ta nazwa musi się zapisać automatycznie podczas wysyłania formularza i nie musi być widoczna, z właśnie z tymi danymi użytkownika. Czy po sesji(loginie) , mogę jakoś otrzymać te wartość? , aby automatycznie została podstawiona podczas przesyłania formularza przez użytkownika na serwer?



dziękuję za pomoc
Khobar
Jeżeli masz system logowania i wykorzystujesz ciasteczka to

Po poprawnym logowaniu przypisz

  1. <?php
  2. $_SESSION['login'] = $login;
  3. $_SESSION['haslo'] = $haslo;
  4. ?>


i potem na kolejnej tam stronie w tej samej sesji
  1. <?php
  2. $query="SELECT * FROM `tabela` WHERE `login`=".$_SESSION['login'];
  3. ?>

przypisać odpowiednie wartości do zmiennych i potem posłać je w formularzu jako hidden np.:

  1. <?
  2. echo "<input type=\"hidden\" name=\"login\" value=\"",$_SESSION['login'],"\">";
  3. echo "<input type=\"hidden\" name=\"adres\" value=\"",$adres,"\">";
  4. ?>

przyjąc go jako jeden z parametrów dla GET lub POST

Jeżeli gdzieś zamotałem to napisz postaram sie to lepiej wytłumaczyć biggrin.gif
kozioł
próbowałem najpier wyświetlić odpowiedni katalog , który nazywa sie tak samo jak jednostka zalogowanego użytkownika , i nie wyświetla mi danych ,

poprostu nie widzi wartości z bazy sql pod pozycja jednostka jaka powinna być podstawiona do wyświetlania , jak ręcznie wpiszę nazwę katalogu , to dane wyświetla

to skrypt


  1. <?php
  2.  
  3. if ((isset($_SESSION['user_logged']) && 
  4.  $_SESSION['user_logged'] != "") || 
  5. (isset($_SESSION['user_password']) && 
  6.  $_SESSION['user_password'] != "")) {
  7. // Nic nie rób!
  8. } else {
  9.  
  10. $redirect = $_SERVER['PHP_SELF'];
  11. header("Refresh: 5; URL=logowanie.php?redirect=$redirect");
  12.  
  13. echo "Nie jesteś zalogowany. Dokonujemy przekierowania... " .
  14. "Cierpliwości!<br>";
  15. echo "(Jeżeli przeglądarka nie obsługuje przekierowań, " .
  16. "<a href=\"logowanie.php?redirect=$redirect\">kliknij tutaj</a>)";
  17.  
  18. die();
  19. }
  20. $conn = mysql_connect("localhost", "root", "vertrigo") or die(mysql_error());
  21. $db = mysql_select_db("users",$conn) or die ("nie mogę połączyć z bazą");
  22.  
  23. $_SESSION['login'] = $login;
  24. $_SESSION['haslo'] = $haslo;
  25.  
  26.  
  27. $query="SELECT * FROM login WHERE `login`=".$_SESSION['login'];
  28. echo "<input type=\"hidden\" name=\"login\" value=\"",$_SESSION['login'],"\">";
  29. echo "<input type=\"hidden\" name=\"jednostka\" value=\"",$jednostka,"\">";
  30.  
  31.  
  32. echo ('<b>Pliki w folderze:</b><br /></b><br /></b><br />');  
  33. foreach(glob('upload/$jednostka/*', GLOB_BRACE) as $file)
  34. if($file != 'upload/$jednostka/*' && $file != '..')
  35. echo "<a style=\"color:blue; cursor:pointer; text-decoration: underline;\" onclick=\"window.open('$file','podglad','toolbar=no,height=300px,width=400px,resizable=yes');\">" .$file. "</a> - <a href=\"usun.php?file=$file&filed=Delete+File\"><img src=\"img/usun.png\" alt=\"\" border=\"0\" /></a><br />";
  36. ?>


jeśli zamiast $jednostka w funkcji 'foreach' wpiszę z palca nazwę tej jednostki (katalogu) , to dane są wyświetlane



już mnie głowa zaczyna boleć :-(


jeszcze raz proszę o pomoc
-jang-
Zrób sobie taki test :
  1. <?php
  2. $jednostka = katalog;
  3. echo 'upload/$jednostka/*';
  4.  
  5. echo "upload/$jednostka/*";
  6. ?>


Widzisz różnicę ?
kozioł
tak ,widzę :-) ,


tylko to nic nie daje

zrobiłem też taki test

  1. <?php
  2. $query="SELECT * FROM login WHERE `login`=".$_SESSION['login'];
  3. echo "<input type=\"hidden\" name=\"login\" value=\"",$_SESSION['login'],"\">";
  4. echo "<input type=\"hidden\" name=\"jednostka\" value=\"",$jednostka,"\">";
  5. echo 'to sa dane przekazane do zmiennej $_SESSION:';
  6. print_r($_SESSION);
  7. echo 'to sa dane przekazane do zmiennej $jednostka:';
  8. print_r($jednostka);
  9.  
  10. echo ('<b>Pliki w folderze:</b><br /></b><br /></b><br />');  
  11. foreach(glob("upload/$jednostka/*", GLOB_BRACE) as $file)
  12. if($file != "upload/$jednostka/*" && $file != '..')
  13. ?>


i mam taki wynik

  1. <?php
  2. to sa dane przekazane do zmiennej $_SESSION:Array ( [user_logged] => user1 [user_password] => 1234 [login] => [haslo] => )
  3.  to sa dane przekazane do zmiennej $jednostka:
  4. ?>


czyli zmienna $jednostka , nie przyjmuje żadnych wartości , i nie wiem czemu :-(


pomocy

ok ,dałem sobie chyba radę ,


zrobiłem tak , nie wiem czy dobrze , ale na razie działa


  1. <?php
  2. $conn = mysql_connect("localhost", "root", "vertrigo") or die(mysql_error());
  3. mysql_select_db("users",$conn) or die ("nie mogę połączyć z bazą");
  4. $login=$_SESSION['user_logged'];
  5. $query = "SELECT jednostka FROM login where login ='$login'";
  6.  
  7. $results = mysql_query($query) or die("Wykonanie zapytania nie powiodło się: ".mysql_error());
  8. while($row=mysql_fetch_array($results))
  9. {
  10. extract($row);
  11.  
  12. }
  13.  
  14. echo "<input type=\"hidden\" name=\"jednostka\" value=\"",$jednostka,"\">";
  15.  
  16. echo ('<b>FTP DLA:</b>');
  17. echo "$jednostka";
  18.  
  19. echo ('<br></br><b>Pliki w folderze:</b><br /></b><br /></b><br /><br></br>');
  20. ?>
-jang-
Jak na mój gust to, to coś napewno nie działa.
To echo z lini 17 pokazuje Ci to co gdzieś wcześniej do tej zmiennej przypisałeś.
Zrób cały formularz a później odczytaj : echo $_POST['jednostka'];
Po drugie nie ,$jednostka, (przecinki) tylko .$jednostka. (kropki)
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.