Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rejestracja/problem
Forum PHP.pl > Forum > PHP
ChRiStIuS
Nie mam pojecia co jest nie tak. Caly czas otrzymuje bląd ze w 160 znaczy: "
Parse error: syntax error, unexpected $end in D:\stronki\Gra\funkcje.php on line 160". Nie moge blędu znalesc

  1. <?php 
  2.  
  3. function pol_mysql()
  4. {
  5.  
  6.  
  7. //ustawiamy teraz dane naszej bazy 
  8. $db_host = 'localhost';
  9. $db_user = 'root';
  10. $db_pass = '';
  11. $db_name = 'uzytkownicy';
  12.  
  13. //ustawiamy polączenie z bazą danych
  14. $lacz = mysql_pconnect($db_host, $db_user, $db_pass);
  15. if(!$lacz)
  16. {
  17.  echo "Wystąpił błąd: Połączenie z bazą nie powiodło się.";
  18.  exit; }
  19.  
  20. //wybieramy bazę 
  21. if(!@mysql_select_db($db_name, $lacz)) {
  22. echo '<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>';
  23. exit;  }
  24.  
  25. }
  26.  
  27. function wynik_db_do_tablicy($wynik)
  28. {
  29. $tablica_wyn=array();
  30.  
  31. for($licznik=0; $rzad=@mysql_fetch_array($wynik); $licznik++)
  32. $tablica_wyn[$licznik]=$rzad;
  33.  
  34. return $tablica_wyn;
  35. }
  36.  
  37. function html_url($url, $nazwa)
  38. {
  39. // wyświetlenie URL-a jako łącza
  40. ?>
  41. <P align="center">
  42. <a href="<?=$url?>"><?=$nazwa?></a>
  43. </P>
  44. <?
  45. }
  46.  
  47. //wyswietla nam pole do zalogowania się, bądź rejestracji ;)
  48. function wy_form_logo()
  49. {
  50. ?>
  51. <form method=post action="uzytkownicy.php?m=log">
  52. <TABLE ALIGN="center">
  53.  <tr>
  54.  <td><b>Login:</b></td>
  55.  <td><input type=text name="login"></td>
  56.  <td><b>Hasło:</b></td>
  57.  <td><INPUT type=password name="haslo"></td>
  58.  <td align=center colspan=2>
  59.  <INPUT TYPE="SUBMIT" VALUE="Zaloguj"></td>
  60.  <td><a href="uzytkownicy.php?m=rejestracja">Rejestracja</a></td>
  61.  </tr>
  62.  </table></form>
  63.  
  64. <?php
  65. }
  66. // formularz rejestracji
  67. function dodaj_form()
  68. {
  69. ?>
  70. <form method=post action="rejestracja.php">
  71. <TABLE ALIGN="center">
  72.  <tr>
  73.  <td colspan=2><H1>Dodanie nowego użytkownika</H1><TD></TD></td>
  74.  <tr>
  75.  <td>Login:</td>
  76.  <td><input type=text name=login></td></tr>
  77.  <tr>
  78.  <td>Numer Gadu-Gadu:</td>
  79.  <td><input type=text name=gg></td></tr>
  80.  <tr>
  81.  <td>Skšd jesteœ:</td>
  82.  <td><input type=tekst name=skad></td></tr>
  83.  <tr>
  84.  <td>Płeć:</td>
  85.  <td>Mężczyzna: <input type="radio" value="m" checked name="plec"> Kobieta: <input type="radio" name="plec" value="k"></td></tr>
  86.  <tr>
  87.  <td>Hasło:</td>
  88.  <td><input type=password name=haslo></td></tr>
  89.  <tr>
  90.  <td>Powtórz hasło:</td>
  91. <td><input type=password name=haslo2></td></tr>
  92.  <tr><td colspan=2><h4>Hasło powinno składać się z nie więcej niż 12 znaków.</H4></td></TR>
  93.  <tr>
  94.  <td align=center colspan=2>
  95.  <input type=submit value="Zapisz"></td></TABLE></form>
  96. <?
  97. html_url("index.php", "Logowanie");
  98. }
  99. //dodajemy użytkownika do bazy danych
  100. function dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2)
  101. {
  102. if ($haslo != $haslo2)
  103. {
  104. echo "<H3 ALIGN=center>Hasła nie są takie same.</h3>";
  105. dodaj_form();
  106. }
  107. $polaczenie= pol_mysql();
  108. // sprawdzenie, czy login nie powtarza się
  109. $wynik = mysql_query("select * from users where login='$login'");
  110. if(!$wynik)
  111. return "Problem: zapytanie z bazy nieudane";
  112. if (mysql_num_rows($wynik)>0)
  113. {
  114. echo "<H3 ALIGN=center>Użytkownik o takiej nazwie jest już zarejestrowany, spróbuj inny login</h3>";
  115. dodaj_form();
  116. }
  117. $czas = date("j-m-Y-G:i:s");
  118. // umieszczenie usera w bazie danych
  119. $zapytanie = "insert into users values
  120.  ('', '$login', '$gg', '$skad', '$plec', '$haslo', '$czas')";
  121. $wynik=mysql_query($zapytanie);
  122. if($wynik)
  123. {
  124. echo "<H3 ALIGN=center>Rejestracja zakończona pomyœlnie</h3>";
  125. echo "<H4 ALIGN=center><a href='index.php'>Strona Logowania</a></h4>";
  126. }
  127. return true;
  128. }
  129.  
  130. function logowanie($login, $haslo)
  131. {
  132. $polaczenie= pol_mysql();
  133. // sprawdzenie, czy login nie powtarza się
  134. $wynik = mysql_query("select * from users where login='$login'");
  135. if(!$wynik)
  136. return "Problem: zapytanie z bazy nieudane";
  137. if (mysql_num_rows($wynik)== 0)
  138. {
  139. echo "<H3 ALIGN=center>Niema takiego użytkownika w bazie danych</h3>";
  140. wy_form_logo();
  141. }
  142. $tab_user = wynik_db_do_tablicy($wynik);
  143. if ($tab_user[0]['haslo'] != $haslo)
  144. {
  145. echo "<H3 ALIGN=center>Niepoprawne hasło</h3>";
  146. wy_form_logo();
  147. }
  148.  $user = $login;
  149.  //rejestrowanie danych sesji
  150.  session_register("user");
  151.  echo "zalogowany jako: <b>" .$user."</b>, jesteœ z <b>".$tab_user[0]['skad']."</b>, data twojej rejestracji to: <b>".$tab_user[0]['data']."</b><br>";
  152.  echo "<a href=omnie.php>Strona o mnie</a>";
  153.  
  154. }
  155. ?>
drPayton
Ten błąd najczęściej oznacza niewłaściwą liczbę klamr. Sformatuj ten kod jakoś porządnie i policz klamry otwierające i zamykające.

added: Klamry się zgadzają, problem jest z tagami otwierającymi php. Zmień wszystkie <? na <?php i sprawdź czy błąd nadal będzie (u mnie po zmianie jest ok)
ChRiStIuS
Problem rozwiązany mam jeszcze drugi teraz w stronie logowania pojawia mi sie cos takiego: "Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\stronki\Gra\funkcje.php:160) in D:\stronki\Gra\index.php on line 5"

  1. <?php
  2. //wczytanie pliku z funkcjami
  3. require_once ("funkcje.php");
  4. //rozpoczęcie sesji
  5.  
  6. //formularz logowania
  7. wy_form_logo();
  8. ?>
jang
  1. <?php
  2.  
  3. //wczytanie pliku z funkcjami
  4. require_once ("funkcje.php");
  5. //rozpoczęcie sesji
  6.  
  7. //formularz logowania
  8. wy_form_logo();
  9. ?>

session_start(); musi się znajdować w pierwszej linii
krisX
noo nie w pierwszej
byle przed kodem html lub echo
ChRiStIuS
Mimo to nadal nie dziala. Pola do logowania i obok jest link do rejestracji po kliknieciu .. bialem tlo. Wszystko odwoluje sie do pliku funkcje.php.
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.