Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z sesją + pytanie o realizacje
Forum PHP.pl > Forum > Przedszkole
mpshotter
Witam, podczas realizacji poniższego kodu :


  1. <?php
  2. //error_reporting(E_ALL^E_NOTICE);
  3. include("inc/connect.php");
  4.  
  5. $message="";
  6.  
  7. if (isset($_POST['user'])){
  8. $user=$_POST['user'];
  9. $pas=$_POST['pas'];
  10.  
  11. $results=mysql_query("select id_kontrahent, ktr_nazwa, pass, id_typ FROM kontrahent WHERE ktr_nazwa = '$user' AND pass = '$pas'") or die (mysql_error());
  12. if($row = mysql_fetch_array($results)){
  13.  
  14.  
  15. $_SESSION['id_kontrahent'] =$row[id_kontrahent];
  16. $_SESSION['user']= $user;
  17. $_SESSION['id_u_typ']= $row[id_typ];
  18.  
  19.  
  20.  
  21. // header("location:index.php");
  22. // exit;
  23. } else {
  24. $message="Nieprawidłowa nazwa użytkownika lub hasło";
  25. }
  26. }
  27. ?>
  28. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  29. "http://www.w3.org/TR/html4/strict.dtd">
  30. <HTML>
  31. <HEAD>
  32. <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
  33.  
  34. <TITLE>Logowanie</TITLE>
  35. <link rel="Stylesheet" type="text/css" href="style.css" />
  36.  
  37. </HEAD>
  38. <BODY>
  39. <div>
  40. <p>
  41. <? echo $message; ?>
  42. <form method="post" action="<? echo("{$_SERVER['PHP_SELF']}"); ?>">
  43. <input type="text", name="user">
  44. <input type="password" name="pas">
  45. <input type="submit", name="submit", value="Wyślij">
  46. </form>
  47. </p>
  48. </div>
  49. </body>
  50. </html>



Wyskakują mi takie błędy męczę się już z nimi chyba z dwiue godziny i nie mogę dojsć dlaczego :

Notice: Use of undefined constant id_kontrahent - assumed 'id_kontrahent' in C:\xampp\htdocs\www\login.php on line 17

Notice: Use of undefined constant id_typ - assumed 'id_typ' in C:\xampp\htdocs\www\login.php on line 19



Druga sprawa to pytanie jak zrealizować coś takiego że: jest sobie tam tabela wyświetlana na stronie, a po kliknięciu danego powiedzmy odnośnika zawartego w w wierszu tej tabeli dane poniżej danego wiersza są przesuwane w dół a w tym miejscu wyświetlany jest formularz z danymi pobranymi z bazy

jest możliwość zrealizowania tego z poziomu php i css czy zostaje tylko ajax i js
jacobson
$row[id_typ]; i $row[id_kontrahent]; powinno byc tak : $row["id_kontrahent"]; i $row["id_typ"];

a to co mowisz poczytaj o jQuery. Tworzysz ukrytego diva w ktorym sa dane i po nacisnieciu ten div sie uwidacznia.
mpshotter
ale czy w tym zrealizuje dokładnie coś takiego że jest tabela



numer nazwa ilosc koszt
1 asd 2 36,6
2 asd 2 36,6
3 asd 2 36,6
4 asd 2 36,6
5 asd 2 36,6


i klikając w przykładowa numer który jest odnośnikiem rozwinie mi się to tak że między kolejnymi wierszami tabeli zostanie wyświetlony formularz czyli klikając w numer 3 tabela przyjmie postać:

numer nazwa ilosc koszt
1 asd 2 36,6
2 asd 2 36,6
3 asd 2 36,6

//tutaj formularz edytujący dane



4 asd 2 36,6
5 asd 2 36,6


i czy takie coś nie za bardzo wpłynie na szybkość pobieranych danych
bo myślałem żeby zrobić w php tak że po kliknięciu danego numeru ładowany jest tam jakiś <div></div> z formularzem przesuwający to wszystko ale chyba będzie sporo zachodu przy takim czymś...



a co do błędu czemu na niektórych stronach nie pokazuje mi tego błędu questionmark.gif? np :

  1. <?php
  2. $kth = "SELECT ktr_nazwa, nip, regon, ulica, kod_p, miasto, telefon, mail, adr_ftp FROM kontrahent WHERE id_typ = 2";
  3. $results = mysql_query($kth) or die (mysql_error());
  4.  
  5. ?>
  6. <h1>Kontrahenci</h1>
  7. <table>
  8. <th>Kontrahent</th>
  9. <th>Nip</th>
  10. <th>Regon</th>
  11. <th>Ulica</th>
  12. <th>Kod pocztowy</th>
  13. <th>Miasto</th>
  14. <th>Telefon</th>
  15. <th>Mail</th>
  16. <th>FTP</th>
  17. <?php
  18. while ($row = mysql_fetch_array($results)){
  19. echo "<TR>";
  20. echo "<TD id=tdl>$row[ktr_nazwa]</TD>";
  21. echo "<TD id=tdr>$row[nip]</TD>";
  22. echo "<TD id=tdl>$row[regon]</TD>";
  23. echo "<TD>$row[ulica]</TD>";
  24. echo "<TD>$row[kod_p]</TD>";
  25. echo "<TD>$row[miasto]</TD>";
  26. echo "<TD>$row[telefon]</TD>";
  27. echo "<TD>$row[mail]</TD>";
  28. echo "<TD>$row[adr_ftp]</TD>";
  29.  
  30. }
  31. ?>
  32. </tr>
  33. </table>
  34.  



i pojawia się kolejny błąd przy odbieraniu sesji:
Notice: Undefined index: user in C:\xampp\htdocs\www\index.php on line 20

Notice: Undefined index: id_kontrahent in C:\xampp\htdocs\www\index.php on line 21

Notice: Undefined index: id_u_typ in C:\xampp\htdocs\www\index.php on line 22



  1. <?php
  2. include("/inc/connect.php");
  3.  
  4.  
  5. if (isset ($_SESSION['user'], $_SESSION['id_typ']))
  6. { echo "Zaloguj się.";
  7. header("refresh:2; url=login.php");
  8. exit();}
  9. $user = $_SESSION['user'];
  10. $iduser = $_SESSION['id_kontrahent'];
  11. $id_u_typ = $_SESSION['id_u_typ'];
  12. echo "$user:$iduser:$id_u_typ";
  13.  
  14. ?>




Czy ktoś jest mi w stanie powiedzieć co robie źle odbierając te zmienne z sesji questionmark.gif
nospor
Cytat
Naprawdę Ci się to negatywnie kojarzy?
Bo jedne serwery mają włączone wyświetlanie wszystkich błędów a inne nie.

Cytat
i pojawia się kolejny błąd przy odbieraniu sesji:
Notice: Undefined index: user in C:\xampp\htdocs\www\index.php on line 20

Notice: Undefined index: id_kontrahent in C:\xampp\htdocs\www\index.php on line 21

Notice: Undefined index: id_u_typ in C:\xampp\htdocs\www\index.php on line 22
Jak się odwółujesz do indeksu, który nie istnieje, to masz błąd - logiczne.
Zanim coś pobierzesz, to sprawdzaj czy to istnieje. (isset())
mpshotter
no tak z tym że sprawdzam issetem czy jest zainicjowane :

  1. if (isset ($_SESSION['user'], $_SESSION['id_typ']))



a skoro jest to w w warunku przez który przechodzi to dlaczego jest problem ? i nie można się do zmiennej sesyjnej odwołać
nospor
Tja.... tylko że jak to jest prawda to ty w tym IFie robisz exit i nie dochodzisz do linijek z błędem. Dopiero jak to nie jest prawda to ty idziesz do linijek z bledem. Bez sesnu logika tongue.gif
mpshotter
ok fakt pominąłem "!" zmieniłem to, ale zmiennych sesyjnych nadal nie wysyła a w pliku z logowaniem mi te zmienne normalnie wyświetla :/

hmm... a czy problem nie jest przesyłanie przez header? bo zrobiłem przykładową strone z sesjami i przesyła tam zmienne normalnie
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.