Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Skrypt logowania
K4mil94
post
Post #1





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


Witam.. Po przeczytaniu pewnego poradnika wziałem się za napisanie skryptu. Ma on pewien błąd otóż:
W każdej podstronie jest błąd
Kod
[b]Warning[/b]:  session_start() [[url="http://simsnews.pl/test/function.session-start"]function.session-start[/url]]: Cannot send session cookie - headers already sent by (output started at /home/ibanez/domains/simsnews.pl/public_html/test/funkcje.php:160) in [b]/home/ibanez/domains/simsnews.pl/public_html/test/omnie.php[/b] on line [b]5[/b]

[b]Warning[/b]:  session_start() [[url="http://simsnews.pl/test/function.session-start"]function.session-start[/url]]: Cannot send session cache limiter - headers already sent (output started at /home/ibanez/domains/simsnews.pl/public_html/test/funkcje.php:160) in [b]/home/ibanez/domains/simsnews.pl/public_html/test/omnie.php[/b] on line [b]5
[/b]I taki sam do plików: index.php, uzytkownicy.php, omnie.php, rejestracja.php.

A tutaj kody:

Index.php
Kod
<?php
//wczytanie pliku z funkcjami
  require_once ("funkcje.php");
  //rozpoczęcie sesji
session_start();
  //formularz logowania
  wy_form_logo();
?>

Funkcje.php
Kod
<?php

function pol_mysql()
{


//ustawiamy teraz dane naszej bazy
$db_host = 'localhost';
$db_user = 'ibanez_simsnews';
$db_pass = '********';
$db_name = 'ibanez_simsnews';

//ustawiamy polączenie z bazą danych
$lacz = mysql_pconnect($db_host, $db_user, $db_pass);
    if(!$lacz)
    {
     echo "Wystąpił błąd: Połączenie z bazą nie powiodło się.";
     exit;  }

//wybieramy bazę
if(!@mysql_select_db($db_name, $lacz)) {
echo '<b>Baza danych chwilowo niedostepna. Przepraszamy.</b>';
exit;   }

}

function wynik_db_do_tablicy($wynik)
{
  $tablica_wyn=array();

  for($licznik=0; $rzad=@mysql_fetch_array($wynik); $licznik++)
    $tablica_wyn[$licznik]=$rzad;

  return $tablica_wyn;
}

function html_url($url, $nazwa)
{
  // wyświetlenie URL-a jako łącza
?>
  <P align="center">
  <a href="<?=$url?>"><?=$nazwa?></a>
  </P>
<?
}

//wyswietla nam pole do zalogowania się, bądź rejestracji;)
function wy_form_logo()
{
?>
  <form method=post action="uzytkownicy.php?m=log">
  <TABLE ALIGN="center">
   <tr>
   <td><b>Login:</b></td>
     <td><input type=text name="login"></td>
     <td><b>Hasło:</b></td>
     <td><INPUT type=password name="haslo"></td>
     <td align=center colspan=2>
     <INPUT TYPE="SUBMIT" VALUE="Zaloguj"></td>
     <td><a href="uzytkownicy.php?m=rejestracja">Rejestracja</a></td>
     </tr>
</table></form>

<?
}
// formularz rejestracji
function dodaj_form()
{
?>
  <form method=post action="rejestracja.php">
  <TABLE ALIGN="center">
   <tr>
     <td colspan=2><H1>Dodanie nowego użytkownika</H1><TD></TD></td>
   <tr>
     <td>Login:</td>
     <td><input type=text name=login></td></tr>
   <tr>
     <td>Numer Gadu-Gadu:</td>
     <td><input type=text name=gg></td></tr>
   <tr>
     <td>Skšd jesteœ:</td>
     <td><input type=tekst name=skad></td></tr>
   <tr>
     <td>Płeć:</td>
     <td>Mężczyzna: <input type="radio" value="m" checked name="plec"> Kobieta: <input type="radio" name="plec" value="k"></td></tr>
   <tr>
     <td>Hasło:</td>
     <td><input type=password name=haslo></td></tr>
   <tr>
     <td>Powtórz hasło:</td>
        <td><input type=password name=haslo2></td></tr>
   <tr><td colspan=2><h4>Hasło powinno składać się z  nie więcej niż 12 znaków.</H4></td></TR>
   <tr>
     <td align=center colspan=2>
     <input type=submit value="Zapisz"></td></TABLE></form>
<?
      html_url("index.php", "Logowanie");
}
//dodajemy użytkownika do bazy danych
function dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2)
{
    if ($haslo != $haslo2)
    {
        echo "<H3 ALIGN=center>Hasła nie są takie same.</h3>";
        dodaj_form();
        exit;
    }
  $polaczenie= pol_mysql();
  // sprawdzenie, czy login nie powtarza się
  $wynik = mysql_query("select * from users where login='$login'");
  if(!$wynik)
    return "Problem: zapytanie z bazy nieudane";
  if (mysql_num_rows($wynik)>0)
    {
    echo "<H3 ALIGN=center>Użytkownik o takiej nazwie jest już zarejestrowany, spróbuj inny login</h3>";
    dodaj_form();
    }
  $czas = date("j-m-Y-G:i:s");
  // umieszczenie usera w bazie danych
  $zapytanie = "insert into users values
                 ('', '$login', '$gg', '$skad', '$plec', '$haslo', '$czas')";
  $wynik=mysql_query($zapytanie);
if($wynik)
    {
    echo "<H3 ALIGN=center>Rejestracja zakończona pomyœlnie</h3>";
    echo "<H4 ALIGN=center><a href='index.php'>Strona Logowania</a></h4>";
    exit;
    }
  return true;
}

function logowanie($login, $haslo)
{
  $polaczenie= pol_mysql();
  // sprawdzenie, czy login nie powtarza się
  $wynik = mysql_query("select * from users where login='$login'");
  if(!$wynik)
    return "Problem: zapytanie z bazy nieudane";
  if (mysql_num_rows($wynik)== 0)
    {
    echo "<H3 ALIGN=center>Niema takiego użytkownika w bazie danych</h3>";
    wy_form_logo();
    exit;
    }
  $tab_user = wynik_db_do_tablicy($wynik);
  if ($tab_user[0]['haslo'] != $haslo)
    {
      echo "<H3 ALIGN=center>Niepoprawne hasło</h3>";
    wy_form_logo();
    exit;
    }
   $user = $login;
   //rejestrowanie danych sesji
   session_register("user");
   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>";
   echo "<a href=omnie.php>Strona o mnie</a>";

}
?>

uzytkownicy.php
Kod
<?
//wczytanie pliku z funkcjami
  require_once ("funkcje.php");
//rozpoczęcie sesji
session_start();
//kod PHP
  if ($_GET['m'] == 'rejestracja')
  dodaj_form();
  if ($_GET['m'] == 'log')
  logowanie($login, $haslo);
  ?>

omnie.php
Kod
<?php
//wczytanie pliku z funkcjami
  require_once ("funkcje.php");
//rozpoczęcie sesji
session_start();
//kod PHP
if (session_is_registered("user"))
{
echo "Może posłużyć jako menu, czy coś innego;)";
echo "<br><A HREF=wyloguj.php>Wyloguj</a>";
}
else
{
echo "<H3 ALIGN=center>Nie masz uprawnień do korzystania z tej strony! Wróc i się zaloguj</h3>";
html_url("index.php", "Logowanie");
exit;
}
?>

PS. Jak wchodze w omnie.php to mi niszczy sesje nie wiem dlaczego ;/
Go to the top of the page
+Quote Post

Posty w temacie
- K4mil94   [PHP][MYSQL]Skrypt logowania   3.10.2008, 17:29:22
- - byqu   [PHP] pobierz, plaintext <?phpsession_start...   3.10.2008, 17:34:13
- - K4mil94   Dzięki pomogło ) A to ? Jak wchodze w o...   3.10.2008, 17:38:40
- - Lejto   użyj mod_rewrite   3.10.2008, 17:49:35
- - K4mil94   Ale chodzi mi o zrobienie w ogóle czegoś taki...   3.10.2008, 17:56:30
- - Piniek   w bazie danych trzymasz dane do profilu, potem dy...   3.10.2008, 18:04:14
- - K4mil94   Z tego co rozumiem to każdy user ma mieć swoją tab...   3.10.2008, 18:10:27
- - Piniek   nie kazdy osobną tabelę a osobny "rekord...   3.10.2008, 18:13:43
- - K4mil94   Byłby do tego poradnik jakiś ? bo nie zabardzo to ...   3.10.2008, 18:20:03
- - Piniek   wątpię, jak chcesz to zrobić pożądanie to naucz s...   3.10.2008, 18:22:40
- - K4mil94   Uczyłem się PHP i już coś umiem ale nie znam wszys...   3.10.2008, 18:31:42
- - Lion_87   CytatNie wiem czy dobrze myślę ale mam taki skrypt...   3.10.2008, 19:02:49
- - K4mil94   Dobra. Pomyślałem nad tym i wywnioskowałem żeby do...   4.10.2008, 07:18:23
- - Piniek   podałem ci zapytanie do bazy kilka postów wyżej. P...   4.10.2008, 07:20:12
- - K4mil94   Właśnie napisałem sobie listę ...   4.10.2008, 07:47:46
- - Lion_87   Ale Piniek napisal CI jak ma wygladac zapytanie ?...   4.10.2008, 08:13:24
- - K4mil94   A jak definiować id każdego usera ?   4.10.2008, 08:18:52
- - Lion_87   no np przez mała zmiane w Twoim skrypcie wyzej [P...   4.10.2008, 08:37:23
- - K4mil94   A jak zrobić zeby samo czytało z bazy id i odrazu ...   4.10.2008, 09:26:55
- - Lion_87   O co Ci kaman bo juz nie wiem?   4.10.2008, 14:15:23
- - K4mil94   1. Chcę mieć żeby każdy użytkownik miał swój profi...   4.10.2008, 14:32:09
- - Lion_87   id=$login_id To jest unikalne id każdego use...   4.10.2008, 14:49:18
- - K4mil94   Coś takiego ? [PHP] pobierz, plaintext <?s...   4.10.2008, 15:06:41
- - Lion_87   Całosc? do textarea? po co? Oddzielnie w inpu...   4.10.2008, 16:20:38
- - K4mil94   ale np mam blog. czyli jakas dłuższa wypowiedz pas...   4.10.2008, 16:51:09
- - Lion_87   to wtedy [PHP] pobierz, plaintext <?php<for...   4.10.2008, 17:14:11
- - K4mil94   Teraz następny problem. Nie rejestruje mi ludzi fu...   4.10.2008, 17:27:29
- - Lion_87   Cytat$zapytanie = "insert into users val...   4.10.2008, 17:31:29
- - K4mil94   Nic nie dało ;/ Tylko błąd w 3 lini w pliku rejest...   4.10.2008, 17:35:50
- - -dr_NO-   jeżęli pierwsze pole to jest id, i masz ustawione ...   4.10.2008, 19:13:53
- - K4mil94   Właśnie spróbowałem tak po napisaniu posta, ale te...   4.10.2008, 19:40:10
- - Gość   Jeżeli chodzi o błędy: [PHP] pobierz, plaintext ...   4.10.2008, 19:56:29
- - K4mil94   Array ( [login] => volume [gg] => 10977417 [...   5.10.2008, 07:24:44
- - Lion_87   hmmm a napewno dobrze sie z baza lączysz? dob...   5.10.2008, 09:55:13
|- - K4mil94   Cytat(Lion_87 @ 5.10.2008, 10:55:13 )...   11.10.2008, 09:09:49
- - MWL   Lion_87, najpierw niech to się przefiltruje za pom...   5.10.2008, 09:56:47
- - Lion_87   Moze pokaz nam tabele w MySQL do której chcesz zar...   11.10.2008, 12:58:26


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:01