Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie pojawia się część kodu.
Forum PHP.pl > Forum > Przedszkole
mariuszg
Witam exclamation.gif!

Poniższy kod sprawdza wartość komórki typ w tabeli dane dla konkretnego loginu.

Chodzi oto że po wyświetleniu strony nie drukuje tabelki pierwszej lub drugie – zależy od wartości pola typ w bazie. Ale po odświeżeniu strony pojawia się za każdym razem.
Dlaczego muszę to odświeżać ?
Proszę o pomoc exclamation.gif!

  1. <?
  2. if ($_SESSION["zalogowany"]=="tak") {
  3.  
  4.  
  5. include("admin/setup.php");
  6. mysql_connect ($hostt ,$userr,$hasloo);
  7. mysql_select_db ($baza);
  8.  
  9.  
  10. $zapytanie = "SELECT * FROM konta where login like '$zalog' ";
  11. $wykonaj = mysql_query ($zapytanie);
  12. while($wiersz=mysql_fetch_array ($wykonaj)) {
  13.  
  14. $typkonta = "".$wiersz['typ']."";
  15.  
  16. }
  17.  
  18.  
  19. print $typkonta; //tego nie drukuje - dopiero po odświeżeniu strony 
  20. //$typkonta = "p"; /// jeśli dodam na stałe wartość to jest oki
  21.  
  22.  
  23. if ($typkonta == "p") {
  24.  
  25. <center> 
  26. <div style="width: 400px">
  27. <div class="p1 tlo"></div><div class="p2 tlo"></div>
  28. <div class="p3 tlo"></div><div class="p4 tlo"></div>
  29. <div class="srodek tlo">
  30.  
  31. <table width="380" cellspacing="0" cellpadding="0" border="0" align="center">
  32. <tr>
  33. <td><a href="konto.php">Start</a></td>
  34. <td><a href="kontoprofil.php">Profil</a></td>
  35. <td><a href="kontoustawienia.php">Ustawienia</a></td>
  36. <td align="right"><a href="index.php?login=koniec" >wyloguj się</a></td>
  37. </tr>
  38. </table>
  39.  
  40. </div>
  41. <div class="p4 tlo"></div><div class="p3 tlo"></div>
  42. <div class="p2 tlo"></div><div class="p1 tlo"></div>
  43. </div><br />
  44.  </center> 
  45. ";  
  46.  }
  47.  
  48.  
  49.  if ($typkonta == "a") {
  50.  
  51. <table align=center width="600" cellspacing="0" cellpadding="0" border="0">
  52. <tr>
  53. <td><a href="konto.php">Start</a></td>
  54. <td><a href="kontoogloszenia.php">Ogłoszenia</a></td>
  55. <td><a href="noweoglosz.php?send=krok1&pierwszy=pierwszy">Nowe ogłoszenie</a></td>
  56. <td><a href="kontoustawienia.php">Ustawienia</a></td>
  57. <td>inne</td>
  58. <td>inne</td>
  59. <td><a href="index.php?login=koniec">wyloguj się</a></td>
  60. </tr>
  61. </table><br />
  62. ";  
  63. }
  64.  
  65.  
  66.  
  67.  
  68. }
  69.  
  70. ?>
skowron-line
a zobacz tak
  1. <?php
  2. $typkonta = $wiersz['typ'];
  3. ?>
Kaes13
Wydaje mi się że nie drukuje Ci się bo zmienna $typkonta jest typu array
Jak wsadzisz to w funkcje while to jak się zachowa?
Powinieneś użyć chyba funkcji mysql_fetch_row zamiast mysql_fetch_array
mariuszg
Niestety nie pomaga nic.
Kaes13
Spróbuj w while wstawić echo $typkonta;
Sprawdzisz jakie wartości przybiera ta zmienna
Rozumiem że na podstawie tego typ konta chcesz określać co to za użytkownik tak?
mariusz g
tak - sprawdzam jaki użytkownik i w zależności od tego będą różne linki.

Jestem już w pracy więc wieczorem sprawdzę i odpiszę.

Korzystam z krasnala może to przez to.
mariuszg
witam exclamation.gif!

Wstawiłem w while $typkonta i nic nie wyświetliło dopiero po odświeżeniu strony.



Ale pokombinowałem i teraz jest oki - dodałem %$zalog% z % - pytanie czy tak może być - czy coś się przez to nie rozjedzie.


sorki - działa ale źle - po zalogowaniu wyświetla drugie menu a po odświeżeniu pierwsze prawidłowe


  1. $zapytanie = "SELECT * FROM konta where login like '%$zalog%'";
JaRoPHP
Cytat(Kaes13 @ 18.12.2006, 11:42:42 ) *
Wydaje mi się że nie drukuje Ci się bo zmienna $typkonta jest typu array...
Powinieneś użyć chyba funkcji mysql_fetch_row zamiast mysql_fetch_array
Typu array? Na pewno? Chyba raczej wyniki zwrócone przez funkcję pobierającą rekordy z bazy danych są przechowywane w tablicy, ale zmienna $typkonta, przyjmuje wartość elementu tablicy...
Aby było ciekawiej, zarówno funkcja mysql_fetch_row(), jak i mysql_fetch_array() zawracają tablicę, lub wartość FALSE.

@mariuszg sprawdź, jaką wartość przyjmuje zmienna $zalog, oraz jaki jest wynik tego zapytania:
  1. <?php
  2. $zapytanie = "SELECT * FROM konta WHERE login LIKE '%$zalog%'";
  3. echo $zapytanie;
  4.  
  5. $result = mysql_query($zapytanie);
  6. echo mysql_num_rows($result);
  7.  
  8. while($wiersz = mysql_fetch_array ($result)) {
  9. echo $wiersz['typ'] . "<br />n";
  10. }
  11. ?>
mariuszg
po zalogowaniu - logowałem się na konto typu "a"

  1. SELECT * FROM konta WHERE login LIKE '%%'2p
  2. a


a po odświeżeniu strony - jest ok i pokazało kod:


  1. SELECT * FROM konta WHERE login LIKE '%agen%'1a
JaRoPHP
W jaki sposób przypisujesz dane do zmiennej $zalog i gdzie to przypisanie sie pojawia?
Po uruchomieniu widać, że zmiennej tej nie ma przy pierwszym wywołaniu, możesz to sprawdzić:
  1. <?php
  2. if((isset($zalog) && !empty($zalog)) {
  3.  $zapytanie = "SELECT * FROM konta WHERE login LIKE '%$zalog%'";
  4.  echo $zapytanie;
  5. } else {
  6.  echo "Błąd";
  7. }
  8. ?>

A jak zachowuje się skrypt, kiedy zalogujesz się na konto typu "p"?
mariuszg
Witam exclamation.gif!

Działa exclamation.gif! Wartość $zalog to wartość przechowywana w sesji czyli powinna być taka .$_SESSION["zalog"].
Po jej wstawieniu wszystko dział. Teraz kod wygląda tak:
  1. $zapytanie = "SELECT * FROM konta where login like '".$_SESSION["zalog"]."'";
  2. $wykonaj = mysql_query ($zapytanie);
  3. while($wiersz = mysql_fetch_array ($wykonaj)) {
  4.  
  5. $typkonta = "".$wiersz['typ']."";
  6. }


nie kumam tych sesji

Wielkie dzięki za pomoc exclamation.gif!
lilik
zrob tak smile.gif
  1. <?
  2. if ($_SESSION["zalogowany"]=="tak") 
  3. { include("admin/setup.php");
  4. mysql_connect ($hostt ,$userr,$hasloo);  
  5. mysql_select_db ($baza);
  6. $zapytanie = "SELECT * FROM konta where login like '$zalog' ";
  7. $wykonaj = mysql_query ($zapytanie);
  8. $wiersz=mysql_fetch_array ($wykonaj);  
  9. $typkonta = "".$wiersz['typ']."";  
  10. print $typkonta;
  11. }
  12. ?>

bo w koncu pobierasz tylko jedna wartosc z bazy to poc petla while ? winksmiley.jpg
mariuszg
Dzięki exclamation.gif! Tak zrobiłem. Działa super.
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.