Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Profil
Forum PHP.pl > Forum > Przedszkole
WebspyPL
Witam!
Jestem w trakcie tworzenia skryptu wyświetlania profilu danego użytkownika. I mam mały problem, a mianowicie.

1. Moja rejestracja składa się z trzech pól, a mianowicie:
  • Login
  • Hasło
  • Email


2. Chciałbym, aby zarejestrowany użytkownik po rejestracji i zalogowaniu mógł dodać w edycji profilu takie dane jak:
  • Imię
  • Miejscowość
  • Data Urodzenia


3. Czy muszę do bazy danych dodawać kolejne zapytania jeśli mam w niej tylko, a jeśli chcę żeby wyświetlało jeszcze Imię, miejscowość i datę urodzenia?
  • Login
  • Hasło
  • Email


4. Aby był wyświetlany profil będzie od tego specjalna strona np. www.nazwaStrony.pl/profil.php/loginUżytkownika
Jak można coś takiego stworzyć?

gorden
2. warunek od zalogowania + formularz
3. SELECT *
4. get + modrewrite w tym przypadku
WebspyPL
Cytat(gorden @ 24.12.2011, 13:14:37 ) *
2. warunek od zalogowania + formularz
3. SELECT *
4. get + modrewrite w tym przypadku


Mógłbyś wyjaśnić? Co do punktu drugiego mam po prostu skopiować warunek zalogowania i dodać specjalny formularz tak?
gorden
Tak. robisz formularz, gdzie value inputów to pobrane z bazy odpowiedniki dla nich. po zasubmitowaniu dajesz update tych pól na wartości inputów.
http://lmgtfy.com/?q=htacces+mod_rewrite
WebspyPL
Mam nadzieje, że dobrze zrozumiałem.

Tak wygląda ustawienia.php
  1. <?php
  2. session_start(); // rozpocz臋cie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <div class="content">
  8.  
  9. <form action="?strona=rejestracja" method="post">
  10. <input type="hidden" name="tryb" value="dodaj" />
  11. <table>
  12. <tr>
  13. <td>Imię:</td>
  14. <td><input type="text" name="imie" maxlength="18" value=""/></td>
  15. </tr>
  16. <tr>
  17. <td>Miejscowość:</td>
  18. <td><input type="text" name="miejscowosc" maxlength="30" value=""/></td>
  19. </tr>
  20. <tr>
  21. <td>Data urodzenia:</td>
  22. <td>
  23. <select name="dzien">
  24. <option>1</option>
  25. <option>2</option>
  26. <option>3</option>
  27. <option>4</option>
  28. <option>5</option>
  29. <option>6</option>
  30. <option>7</option>
  31. <option>8</option>
  32. <option>9</option>
  33. <option>10</option>
  34. <option>11</option>
  35. <option>12</option>
  36. <option>13</option>
  37. <option>14</option>
  38. <option>15</option>
  39. <option>16</option>
  40. <option>17</option>
  41. <option>18</option>
  42. <option>19</option>
  43. <option>20</option>
  44. <option>21</option>
  45. <option>22</option>
  46. <option>23</option>
  47. <option>24</option>
  48. <option>25</option>
  49. <option>26</option>
  50. <option>27</option>
  51. <option>28</option>
  52. <option>29</option>
  53. <option>30</option>
  54. <option>31</option>
  55. </select>
  56. <select name="miesiac">
  57. <option>1</option>
  58. <option>2</option>
  59. <option>3</option>
  60. <option>4</option>
  61. <option>5</option>
  62. <option>6</option>
  63. <option>7</option>
  64. <option>8</option>
  65. <option>9</option>
  66. <option>10</option>
  67. <option>11</option>
  68. <option>12</option>
  69. </select>
  70. <select name="rok">
  71. <option>1945</option>
  72. <option>1946</option>
  73. <option>1947</option>
  74. <option>1948</option>
  75. <option>1949</option>
  76. <option>1950</option>
  77. <option>1951</option>
  78. <option>1952</option>
  79. <option>1953</option>
  80. <option>1954</option>
  81. <option>1955</option>
  82. <option>1956</option>
  83. <option>1957</option>
  84. <option>1958</option>
  85. <option>1959</option>
  86. <option>1960</option>
  87. <option>1961</option>
  88. <option>1962</option>
  89. <option>1963</option>
  90. <option>1964</option>
  91. <option>1965</option>
  92. <option>1966</option>
  93. <option>1967</option>
  94. <option>1968</option>
  95. <option>1969</option>
  96. <option>1970</option>
  97. <option>1971</option>
  98. <option>1972</option>
  99. <option>1973</option>
  100. <option>1974</option>
  101. <option>1975</option>
  102. <option>1976</option>
  103. <option>1977</option>
  104. <option>1978</option>
  105. <option>1979</option>
  106. <option>1980</option>
  107. <option>1981</option>
  108. <option>1982</option>
  109. <option>1983</option>
  110. <option>1984</option>
  111. <option>1985</option>
  112. <option>1986</option>
  113. <option>1987</option>
  114. <option>1988</option>
  115. <option>1989</option>
  116. <option>1990</option>
  117. <option>1991</option>
  118. <option>1992</option>
  119. <option>1993</option>
  120. <option>1994</option>
  121. <option>1995</option>
  122. <option>1996</option>
  123. <option>1997</option>
  124. <option>1998</option>
  125. <option>1999</option>
  126. <option>2000</option>
  127. <option>2001</option>
  128. <option>2002</option>
  129. <option>2003</option>
  130. <option>2004</option>
  131. <option>2005</option>
  132. <option>2006</option>
  133. <option>2007</option>
  134. <option>2008</option>
  135. <option>2009</option>
  136. <option>2010</option>
  137. <option>2011</option>
  138. <option>2012</option>
  139. </select>
  140. </td>
  141. </tr>
  142. <tr>
  143. <td colspan="2" align="right">
  144. <div class="buttons">
  145. <button type="submit">Zapisz</button>
  146. <button type="reset">Wyczyść</button></center>
  147. </div></td>
  148. </tr>
  149. </table>
  150. </form>
  151.  
  152. </div>
  153.  
  154. <?php include('stopka.php'); ?>


Czy tak to ma wyglądać? snitch.gif
gorden
To zwykły formularz nie mogę nic powiedzieć. A poza tym, najpierw sprawdź czy działa a później pisz tutaj o ewentualnych problemach.
WebspyPL
Dobra olejmy na razie ustawienia. Na razie ważniejszy jest profil.

Cytat
4. Aby był wyświetlany profil będzie od tego specjalna strona np. www.nazwaStrony.pl/profil.php/loginUżytkownika
Jak można coś takiego stworzyć?


Jak rozumiem mam funkcją GET wyciągnąć z bazy login użytkownika?
ciekawskiii
jak juz to profil.php?login=$login lub ?id=$id_usera a jak chcesz przyjazne linki to kolega wyzej podal.
Ten login masz z bazy wrzucic do GET
WebspyPL
ciekawskiii, jak rozumiem dobrze to www.adresStrony.pl/profil.php?login=NazwaProfilu ?

Wrzucić z bazy do GET? Czyli po prostu GET ma pobrac login?
ciekawskiii
w profilu
  1. $login=$_GET['login']; //filtruj oczywiscie
  2. $sql=mysql_query("SELECT * FROM tabela WHERE login='$login'");
  3. $login_z_bazy=$a['login'];
  4.  
  5. //sprawdzasz czy istnieje
  6. if(mysql_num_rows($sql)==1)
  7. {
  8. //wyswietlasz profil
  9. echo $login_z_bazy;
  10. }else{
  11. //brak takiego profilu
  12. }


i gdzies tam link do profilu profil.php?login=$login
WebspyPL
Mam nadzieje, że dobrze zrozumiałem.

Plik profil.php
  1. <?php
  2. session_start(); // rozpocz臋cie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <div class="content">
  8.  
  9. <?php
  10. $login=$_GET['login']; //filtruj oczywiscie
  11. $sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'");
  12. $login_z_bazy=$a['login'];
  13.  
  14. //sprawdzasz czy istnieje
  15. if(mysql_num_rows($sql)==1)
  16. {
  17. //wyswietlasz profil
  18. echo $login_z_bazy;
  19. }else{
  20. //brak takiego profilu
  21. }
  22. ?>
  23.  
  24. </div>
  25.  
  26. <?php include('stopka.php'); ?>


A, tutaj błąd po wejściu w nazwaStrony.pl/profil.php
Cytat
Warning: mysql_query() [function.mysql-query]: Access denied for user 'webspy'@'localhost' (using password: NO) in /home/webspy/public_html/profil.php on line 12

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/webspy/public_html/profil.php on line 12

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webspy/public_html/profil.php on line 13

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/webspy/public_html/profil.php on line 17



Cytat
i gdzies tam link do profilu profil.php?login=$login

Gdzieś tam to znaczy? Np. chciałbym, aby po kliknięciu na LOGIN przenosiło automatycznie do profilu.
Login profilu jest wyświetlany na stronie głównej w ten sposób:

  1. <?php
  2. // jeżeli użytkownik jest zalogowany wyświetlamy inforamcję
  3. if (isset($_SESSION['login'])) {
  4. echo '<p><img class="user" src="img/user.png">Jesteś zalogowany/a jako: <strong>'.$_SESSION['login'].'</strong></p>';
  5. }
  6.  
  7. else {
  8. echo '';
  9. }
  10. ?>

ciekawskiii
nie masz połączenia z bazą danych. Łączysz sie w ogóle?!
Gdzies tam to znaczy gdzie chcesz. Skoro chcesz zrobic link do profilu to przed linkiem wyciagasz login z bazy i dodajesz go do linku ?login=$login_z_bazy lub ?login=$_SESSION["login"]; dla Twojego profilu
WebspyPL
A, faktycznie zapomniałem o tym..

Dodałem łączenie, ale po wejściu na nazwaStrony.pl/profil.php - nie mam już żadnego błędu, ale wylogowuje mnie ze strony i muszę się ponownie logować i potem nadal to samo.

profil.php
  1. <?php
  2. session_start(); // rozpocz?cie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <div class="content">
  8.  
  9. <?
  10. include('inc/db.php');
  11. session_start(); //sesja
  12. ob_start(); //emulacja headerow
  13. $login=$_GET['login']; //filtruj oczywiscie
  14. $sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'");
  15. $login_z_bazy=$a['login'];
  16.  
  17. //sprawdzasz czy istnieje
  18. if(mysql_num_rows($sql)==1)
  19. {
  20. //wyswietlasz profil
  21. echo $login_z_bazy;
  22. }else{
  23. //brak takiego profilu
  24. }
  25. ?>
  26.  
  27. </div>
  28.  
  29. <?php include('stopka.php'); ?>
ciekawskiii
masz dwa razy session_start i ob_start uhh popatrz troche a na koncu chyba brakuje ob_end_flush();
mozesz przed getem dodac warunek, jesli get nie istnieje
  1. if(isset($_GET['login']))
  2. {
  3. //Wyswietlasz profil
  4. }else{
  5. //przekierowanie lub co tam chcesz
  6. }
WebspyPL
To niestety nic nie dało, bo wylogowuje nadal po wejściu na nazwaStrony.pl/profil.php

profil.php
  1. <?php
  2. session_start(); // rozpocz?cie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <div class="content">
  8.  
  9. <?
  10. include('inc/db.php');
  11. $login=$_GET['login']; //filtruj oczywiscie
  12. $sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'");
  13. $login_z_bazy=$a['login'];
  14.  
  15. //sprawdzasz czy istnieje
  16. if(mysql_num_rows($sql)==1)
  17. {
  18. if(isset($_GET['login']))
  19. {
  20. //Wyswietlasz profil
  21. }else{
  22. //przekierowanie lub co tam chcesz
  23. }
  24. }
  25.  
  26.  
  27. ?>
  28.  
  29. </div>
  30. <?php include('stopka.php'); ?>


Cytat
Skoro chcesz zrobic link do profilu to przed linkiem wyciagasz login z bazy i dodajesz go do linku ?login=$login_z_bazy lub ?login=$_SESSION["login"]; dla Twojego profilu


Oto kod, ale coś nie działa, bo nie przekierowuje mnie na login.. :/
  1. <?php
  2. // jeżeli użytkownik jest zalogowany wyświetlamy inforamcję
  3. if (isset($_SESSION['login'])) {
  4. echo '<p><img class="user" src="img/user.png">Jesteś zalogowany/a jako: <strong><a href="profil.php?login=$_SESSION["login"];" style="text-decoration: none;">'.$_SESSION['login'].'</a></strong></p>';
  5. }
  6.  
  7. else {
  8. echo '';
  9. }
  10. ?>


ref
gorden
1. linijki 6-9 wywal, zupełnie niepotrzebne.
2. tradycyjnie Twój kod jest narażony na sql injection. potraktuj $login mysql_real_escape_stringiem
3. w profil.php nie ma błędu, pokaż header.php i inc/db.php.
WebspyPL
header.php
  1. !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Webspy</title>
  6. <link rel="stylesheet" href="css/style.css" type="text/css"
  7. media="screen" />
  8. </head>
  9. <body>
  10.  
  11. <div id="logo"></div>
  12.  
  13. <div id="menu">
  14. <br>
  15. <ul>
  16. <li><a href="index.php">Strona Główna</a></li>
  17. <li><a href="index.php">Forum</a></li>
  18. <li><a href="index.php">Czat</a></li>
  19. <?php if (isset($_SESSION['login'])) { echo ''; } else {?>
  20. <li><a href="logowanie.php">Zaloguj się</a></li>
  21. <?php } ?>
  22. <?php if (isset($_SESSION['login'])) { echo ''; } else {?>
  23. <li><a href="rejestracja.php">Zarejestruj się</a></li>
  24. <?php } ?>
  25. <ul>
  26. <?php if (!isset($_SESSION['login'])) { echo ''; } else {?>
  27. <li><a href="logowanie.php?p=wyloguj">Wyloguj się</a></li>
  28. <?php } ?>
  29. </ul>
  30. </div>


inc/db.php
  1. <?php
  2.  
  3. // dane do połączenia z bazą MySQL
  4. $mysql_host = 'localhost';
  5. $mysql_login = 'login_uzytkownika';
  6. $mysql_haslo = 'haslo_uzytkownika';
  7. $mysql_baza = 'baza_uzytkownika';
  8.  
  9. // połączenie z bazą danych
  10. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd: nie udało się nawiązać połączenia z bazą danych.');
  11.  
  12. // połączenie ze schematem bazy danych
  13. mysql_select_db($mysql_baza) or die('Błąd: nie udało się wybrać schematu bazy danych.');
  14.  
  15. ?>


$mysql_login = 'login_uzytkownika';
$mysql_haslo = 'haslo_uzytkownika';
$mysql_baza = 'baza_uzytkownika';


Zmieniłem celowo.

Cytat
1. linijki 6-9 wywal, zupełnie niepotrzebne.

Z ktorego kodu?


Cytat
2. tradycyjnie Twój kod jest narażony na sql injection. potraktuj $login mysql_real_escape_stringiem

zaraz się tym zajme.


Cytat
Skoro chcesz zrobic link do profilu to przed linkiem wyciagasz login z bazy i dodajesz go do linku ?login=$login_z_bazy lub ?login=$_SESSION["login"]; dla Twojego profilu


Oto kod, ale coś nie działa, bo nie przekierowuje mnie na login.. :/
  1. <?php
  2. // jeżeli użytkownik jest zalogowany wyświetlamy inforamcję
  3. if (isset($_SESSION['login'])) {
  4. echo '<p><img class="user" src="img/user.png">Jesteś zalogowany/a jako: <strong><a href="profil.php?login=$_SESSION["login"];" style="text-decoration: none;">'.$_SESSION['login'].'</a></strong></p>';
  5. }
  6.  
  7. else {
  8. echo '';
  9. }
  10. ?>
ciekawskiii
popraw link na
  1. profil.php?login='.$_SESSION['login'].'


if(isset... daj na początku pliku a nie gdzieś tam w środku. Najpierw sprawdzasz czy get istnieje a pozniej dopiero czy login istnieje
WebspyPL
Ciekawski, dzięki śmiga.

header.php
  1. !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Webspy</title>
  6. <link rel="stylesheet" href="css/style.css" type="text/css"
  7. media="screen" />
  8. </head>
  9. <body>
  10.  
  11. <div id="logo"></div>
  12.  
  13. <div id="menu">
  14. <br>
  15. <ul>
  16. <li><a href="index.php">Strona Główna</a></li>
  17. <li><a href="index.php">Forum</a></li>
  18. <li><a href="index.php">Czat</a></li>
  19. <?php if (isset($_SESSION['login'])) { echo ''; } else {?>
  20. <li><a href="logowanie.php">Zaloguj się</a></li>
  21. <?php } ?>
  22. <?php if (isset($_SESSION['login'])) { echo ''; } else {?>
  23. <li><a href="rejestracja.php">Zarejestruj się</a></li>
  24. <?php } ?>
  25. <ul>
  26. <?php if (!isset($_SESSION['login'])) { echo ''; } else {?>
  27. <li><a href="logowanie.php?p=wyloguj">Wyloguj się</a></li>
  28. <?php } ?>
  29. </ul>
  30. </div>


inc/db.php
  1. <?php
  2.  
  3. // dane do połączenia z bazą MySQL
  4. $mysql_host = 'localhost';
  5. $mysql_login = 'login_uzytkownika';
  6. $mysql_haslo = 'haslo_uzytkownika';
  7. $mysql_baza = 'baza_uzytkownika';
  8.  
  9. // połączenie z bazą danych
  10. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd: nie udało się nawiązać połączenia z bazą danych.');
  11.  
  12. // połączenie ze schematem bazy danych
  13. mysql_select_db($mysql_baza) or die('Błąd: nie udało się wybrać schematu bazy danych.');
  14.  
  15. ?>


$mysql_login = 'login_uzytkownika';
$mysql_haslo = 'haslo_uzytkownika';
$mysql_baza = 'baza_uzytkownika';


Zmieniłem celowo.

Cytat
1. linijki 6-9 wywal, zupełnie niepotrzebne.

Z ktorego kodu?


Cytat
2. tradycyjnie Twój kod jest narażony na sql injection. potraktuj $login mysql_real_escape_stringiem

zaraz się tym zajme.


rf
gorden
z tego kodu pod
Cytat
Oto kod, ale coś nie działa, bo nie przekierowuje mnie na login.. :/


w miejscu tego błędu z wylogowaniem zrób print_r($_SESSION) i się dowiesz co nie gra najprawdopodobniej. nie pytaj jak tego używać, znajomość tablic wystarczy i manual.

ps. nie wiem co Ty masz z tym echo '', wystarczy zwykły operator negacji, który widzę, że znasz, aby uniknąć tego.
WebspyPL
Tak wygląda plik profil.php
  1. <?php
  2. session_start(); // rozpocz?cie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <div class="content">
  8.  
  9. <?
  10. include('inc/db.php');
  11. $login=$_GET['login']; //filtruj oczywiscie
  12. $sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'");
  13. $login_z_bazy=$a['login'];
  14.  
  15. //sprawdzasz czy istnieje
  16. if(mysql_num_rows($sql)==1)
  17. {
  18. if(isset($_GET['login']))
  19. {
  20. //Wyswietlasz profil
  21. }else{
  22. //przekierowanie lub co tam chcesz
  23. }
  24. }
  25.  
  26. echo "<pre>";
  27. print_r($_SESSION);
  28. echo "</pre>";
  29.  
  30.  
  31. ?>
  32.  
  33. </div>
  34. <?php include('stopka.php'); ?>


A po wejściu na www.nazwaStrone.pl/profil.php wyświetla
  1. (
  2. [admin] => ok
  3. [login] =>
  4. )

ciekawskiii
no ale co jest teraz nie tak?
Przeczytaj moj edytowany post pare pozycji wstecz. isset() masz w złym miejscu
WebspyPL
Dobra postaram się to wytłumaczyć.
Chcę, aby po wejściu na www.nazwaStrony.pl/profil.php?login=Webspy wyświetlało mój profil, w którym byłyby informacje, które bym wybrał, aby się wyświetlały.
Po wejściu na www.nazwaStrony.pl/profil.php?login=Webspy wyskakuje mi:
  1. (
  2. [admin] => ok
  3. [login] => Webspy
  4. )


A chciałbym, aby było coś w stylu http://www.fotka.pl/profil/test - czyli zdjęcie, wpisy, znajomi oraz tabelka z imieniem, wiekiem oraz miejscem zamieszkania. Wygląd oczywiście sam zrobię, ale jak to poprawnie skonfigurować, aby wyświetlało te dane.

Po wejściu w www.nazwaStrony.pl/profil.php mam:
  1. (
  2. [admin] => ok
  3. [login] =>
  4. )


I mnie automatycznie wylogowuje. :/

gorden
dlaczego Cie wylogowuje niby? admin=>ok domyślam się, ze chodzi o pełne uprawnienia. sesja login również jest zaissetowana.

1. wywal print_r
2. w miejsce //Wyswietlasz profil daj echo $a['login']. w else możesz dać "Nie ma takiego użytkownika"
ciekawskiii
Dalem Ci przykład jak wyswietlic login w profilu. Tak samo robisz z pozostalymi danymi. Zrob w bazie pola imie, wiek itd. i je wyswietl a wczesniej zrob opcje edycji profilu zeby te dane uzupelniac.
Przeciez nikt za Ciebie nie bedzie pisal calej strony.
WebspyPL
gorden, wywaliłem printa.

  1. <?php
  2. session_start(); // rozpocz?cie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <div class="content">
  8.  
  9. <?
  10. include('inc/db.php');
  11. $login=$_GET['login']; //filtruj oczywiscie
  12. $sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'");
  13. $login_z_bazy=$a['login'];
  14.  
  15. //sprawdzasz czy istnieje
  16. if(mysql_num_rows($sql)==1)
  17. {
  18. if(isset($_GET['login']))
  19. {
  20. echo $a['login']
  21. } else{
  22. //przekierowanie lub co tam chcesz
  23. }
  24. }
  25.  
  26.  
  27. ?>
  28.  
  29. </div>
  30. <?php include('stopka.php'); ?>


I wyskakuje błąd po przejściu na profil.php:
  1. Parse error: syntax error, unexpected '}', expecting ',' or ';' in /home/webspy/public_html/profil.php on line 23


Cytat
Dalem Ci przykład jak wyswietlic login w profilu. Tak samo robisz z pozostalymi danymi. Zrob w bazie pola imie, wiek itd. i je wyswietl a wczesniej zrob opcje edycji profilu zeby te dane uzupelniac.
Przeciez nikt za Ciebie nie bedzie pisal calej strony.


Tak wiem jak pobierać dane z bazy i jak dodać to. Edycje profilu także będę robił, ale najpierw wyświetlanie.. smile.gif
gorden
myślałem że wyciągasz jakieś nauki z moich porad, ale Ty działasz na zasadzie ctrl+c ctrl+v
WebspyPL
Pisałem wcześniej, że jestem w tym całkowicie zielony..
ciekawskiii
zawsze jak robie taka strone to staram sie robic wszystko po kolei tzn. to co najpierw zrobiłby użytkownik, wiadomo że nie wyświetli swoich danych dopoki ich nie uzupelni. To tak samo jakbys najpierw robil opcje zmiany hasla nie majac logowania i rejestracji.

zanim znowu napiszesz ze masz blad to popatrz w ten kod nawet godzine, jesli wtedy nie bedziesz wiedzial to napisz. Przylatujac tu z kazdym bledem niczego sie nie nauczysz.

parse error Ci wyraźnie wskazuje gdzie i jaki masz błąd

p.s. Proponuje najpierw przeczytac jakies podstawy php
WebspyPL
Cytat
parse error Ci wyraźnie wskazuje gdzie i jaki masz błąd


Skoro nie rozumiem tego błędu to pewnie dlatego wklejam go na forum.

Cytat
p.s. Proponuje najpierw przeczytac jakies podstawy php


Na pewno przeczytam już zamówiłem książkę.


Pomożecie mi z tym błędem?..

ciekawskiii
brakuje na końcu średnika w linii 22
WebspyPL
Dobra dzięki, a co z tym wylogowywaniem ? Bo nadal jeśli wejdę na nazwaStrony.pl/profil.php to mnie wylogowuje.
Barcelona
Nie masz nigdzie na stronie takiego kodu?



To odpowiada za usunięcie sesji, co za tym idzie wylogowanie.
gorden
Ludzie...
dałeś print_r i sesja nadal istnieje, nie ma prawa wylogować do czasu print_r. napisz jak wygląda strona kiedy użytkownik jest zalogowany/wylogowany. i teraz wykorzystuje swoje wróżbiarskie zdolności by sprawdzić plik logowanie.php na Twoim serwerze. może chociaż daj efekt tego $a, to chyba logiczne, bez powodu bym Ci nie kazał wstawiać tego w kod.
odsyłam do podstaw podstaw podstaw php bo komuś się nie chciało czytać takich rzeczy jak błędy parsera, operatory i wygląd składni a od razu się zabiera za bazy danych

Cytat
brakuje na końcu średnika w linii 22

gratuluje rozumu, taki banał mu podpowiedzieć.. wróć dać mu gotowca bo nie chce mu się sprawdzić w jakiej linii ma błąd

i czemu usunąłeś posta
Cytat
Taki kod mam tylko i wyłącznie w pliku logowanie.php - który odpowiada właśnie za wylogowywanie i zalogowanie.
W profile.php nie mam takiej linijki i nie wiem dlaczego tak się dzieje.
WebspyPL
Ponieważ chcę się zastosować do rady ciekawskiego.

Mam problem z plikiem ustawnienia.php stworzyłem tabelkę o nazwie profil, a w niej kolumny.


Tak wygląda mój plik ustawienia.php
  1. <?php
  2. session_start(); // rozpocz?cie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <div class="content">
  8.  
  9. <form action="?strona=profil" method="post">
  10. <input type="hidden" name="tryb" value="dodaj" />
  11. <table>
  12. <tr>
  13. <td>Imię:</td>
  14. <td><input type="text" name="imie" maxlength="50" value="" /></td>
  15. </tr>
  16. <tr>
  17. <td>Nazwisko:</td>
  18. <td><input type="text" name="nazwisko" maxlength="50" value="" /></td>
  19. </tr>
  20. <tr>
  21. <td>Miejscowość:</td>
  22. <td><input type="text" name="miejscowosc" value="" maxlength="50" /></td>
  23. </tr>
  24. <tr>
  25. <td>Płeć:</td>
  26. <td> <select name="plec">
  27. <option>Mężczyzna</option>
  28. <option>Kobieta</option>
  29. </select></td>
  30. </tr>
  31. <tr>
  32. <td colspan="2" align="right">
  33. <div class="buttons">
  34. <button type="submit">Zapisz</button>
  35. </div></td>
  36. </tr>
  37. </table>
  38. </form>
  39.  
  40. </div>
  41.  
  42. <?php include('stopka.php'); ?>


Po kliknięciu na przycisk zapisz powinno utworzyć w bazie danych kolumnę z informacjami takimi jakie podamy wyżej.
Co robię nie tak?
ciekawskiii
Jaja sobie robisz?

Zmykaj po podstawy do google.

Ta tabela w bazie danych jest zła.

Samo do bazy sie nie zapisze bo Ty tak chcesz.

tyle w tym temacie. Pomoglem Ci troche ale teraz przesadzasz. Nikt nie bedzie Ci wszystkiego pisał. Naucz sie podstaw a pozniej wroc
WebspyPL
Niby dlaczego jest zła? Nie piszę, abyś mi podał gotowe rozwiązanie tylko naprowadził ...
Barcelona
Ale Ty nie wiesz nawet na jakiej zasadzie współpracuje PHP z MySQL'em. A garniesz się na tworzenie strony opartej na tej technice.

Polecam tą stronę na początek Kurs PHP
WebspyPL
Barcelona, posłuchałem rady.

Po wejściu na swoją stronę - www.AdresStrony.pl/ustawienia.php
Mam coś takiego:


A, tutaj pliczek ustawienia.php
  1. <?php
  2. session_start(); // rozpocz?cie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <div class="content">
  8. include('inc/db.php');
  9.  
  10. $imie = mysql_real_escape_string(trim($_POST["imie"]));
  11. $nazwisko = mysql_real_escape_string(trim($_POST["nazwisko"]));
  12. $miejscowosc = mysql_real_escape_string(trim($_POST["miejscowosc"]));
  13. $plec = mysql_real_escape_string(trim($_POST["plec"]));
  14.  
  15. if ($_POST['dodaj']) {
  16. $wynik = mysql_query("INSERT INTO profil VALUES('$imie', '$nazwisko', '$miejscowosc', '$plec')");
  17. if ($wynik) {
  18. echo "<p>Twojego dane zostały zmienione.</p>";
  19. }
  20. } else $tryb="";
  21. }
  22. <form action="?strona=profil" method="post">
  23. <input type="hidden" name="tryb" value="ustaw" />
  24. <table>
  25. <tr>
  26. <td>Imię:</td>
  27. <td><input type="text" name="imie" maxlength="50" value="" /></td>
  28. </tr>
  29. <tr>
  30. <td>Nazwisko:</td>
  31. <td><input type="text" name="nazwisko" maxlength="50" value="" /></td>
  32. </tr>
  33. <tr>
  34. <td>Miejscowość:</td>
  35. <td><input type="text" name="miejscowosc" value="" maxlength="50" /></td>
  36. </tr>
  37. <tr>
  38. <td>Płeć:</td>
  39. <td> <select name="plec">
  40. <option>Mężczyzna</option>
  41. <option>Kobieta</option>
  42. </select></td>
  43. </tr>
  44. <tr>
  45. <td colspan="2" align="right">
  46. <div class="buttons">
  47. <input type="submit" name="ustaw" value="Zapisz">
  48. </div></td>
  49. </tr>
  50. </table>
  51. </form>
  52.  
  53. </div>
  54.  
  55. <?php include('stopka.php'); ?>


gorden
hahahahahahahahahaha, powiedz mi, Ty jesteś jakimś trollem internetowym, zgadza się? Błagam, pierwsza lekcja każdego kursu php... nie bierz się za programowanie! pozdrawiam i wesołych świąt!
WebspyPL
Już sobie z tym sam poradziłem, ale teraz mam problem z wysłaniem wpisanych informacji do bazy.

ustawienia.php
  1. <?php
  2. session_start(); // rozpocz?cie sesji
  3. ?>
  4.  
  5. <?php include('header.php'); ?>
  6.  
  7. <div class="content">
  8. <?php
  9. include('inc/db.php');
  10.  
  11. $imie = mysql_real_escape_string(trim($_POST["imie"]));
  12. $nazwisko = mysql_real_escape_string(trim($_POST["nazwisko"]));
  13. $miejscowosc = mysql_real_escape_string(trim($_POST["miejscowosc"]));
  14. $plec = mysql_real_escape_string(trim($_POST["plec"]));
  15.  
  16. if ($_POST['ustaw']) {
  17. $wynik = mysql_query("INSERT INTO profil VALUES('$imie', '$nazwisko', '$miejscowosc', '$plec')");
  18. if ($wynik) {
  19. echo "<p>Twojego dane zostały zmienione.</p>";
  20. }
  21. } else $tryb="";
  22.  
  23. ?>
  24. <form action="?strona=profil" method="post">
  25. <input type="hidden" name="tryb" value="ustaw" />
  26. <table>
  27. <tr>
  28. <td>Imię:</td>
  29. <td><input type="text" name="imie" maxlength="50" value="" /></td>
  30. </tr>
  31. <tr>
  32. <td>Nazwisko:</td>
  33. <td><input type="text" name="nazwisko" maxlength="50" value="" /></td>
  34. </tr>
  35. <tr>
  36. <td>Miejscowość:</td>
  37. <td><input type="text" name="miejscowosc" value="" maxlength="50" /></td>
  38. </tr>
  39. <tr>
  40. <td>Płeć:</td>
  41. <td> <select name="plec">
  42. <option>Mężczyzna</option>
  43. <option>Kobieta</option>
  44. </select></td>
  45. </tr>
  46. <tr>
  47. <td colspan="2" align="right">
  48. <div class="buttons">
  49. <input type="submit" name="ustaw" value="Zapisz">
  50. </div></td>
  51. </tr>
  52. </table>
  53. </form>
  54.  
  55. </div>
  56.  
  57. <?php include('stopka.php'); ?>


Co zrobiłem źle?

wookieb
Patrząc na historie twoich wypocin jednoznacznie stwierdzam, że nie znasz podstaw PHP. Poznaj je a potem wróć.
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.