Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [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
byqu
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 5
Dołączył: 24.08.2006
Skąd: Warszawa

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


  1. <?php
  2. ?>

Musisz tę funkcję wykonywać tuż po "<?php", gdyż nic nie może zostać wysłane do przeglądarki, przed jej wywołaniem.
Go to the top of the page
+Quote Post
K4mil94
post
Post #3





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

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


Dzięki pomogło (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) A to ? Jak wchodze w omnie.php to mi niszczy sesje nie wiem dlaczego ;/

EDIT: Już to zrobiłem ;P Ale jeszcze jedno.. nie bede pisał nowego tematu to pisze tu:

Szukam poradnika dzięki któremu zrobię coś takiego że każdy użytkownik ma swój profil i inni użytkownicy moga go oglądać np przez adres: www.simsnews.pl/profile/00001

Ten post edytował K4mil94 3.10.2008, 17:44:35
Go to the top of the page
+Quote Post
Lejto
post
Post #4





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


użyj mod_rewrite
Go to the top of the page
+Quote Post
K4mil94
post
Post #5





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

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


Ale chodzi mi o zrobienie w ogóle czegoś takiego.. Wiem że trzeba sie bawić z mod_rewita dla adresu. Ale jak w ogóle zrobić to że mają swój profil z avarem itp. i inni widzą profil.. najlepiej żeby był jakiś poradnik

Ten post edytował K4mil94 3.10.2008, 18:04:02
Go to the top of the page
+Quote Post
Piniek
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 463
Pomógł: 49
Dołączył: 27.12.2007
Skąd: Warszawa

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


w bazie danych trzymasz dane do profilu, potem dynamicznie za pomocą id usera z adresu www pobierasz dane i je odpowiednio formatujesz.
Go to the top of the page
+Quote Post
K4mil94
post
Post #7





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

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


Z tego co rozumiem to każdy user ma mieć swoją tabele w bazie ? Ale jak zrobić zeby inni widzieli jego profil.
Go to the top of the page
+Quote Post
Piniek
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 463
Pomógł: 49
Dołączył: 27.12.2007
Skąd: Warszawa

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


nie kazdy osobną tabelę a osobny "rekord" w bazie danych tj unikalne dla niego id oraz inne dane ;]
Pobierasz je za pomocą protego zapytania SELECT

  1. SELECT * FROM users WHERE id = $_GET['id']
To taki przykład
Go to the top of the page
+Quote Post
K4mil94
post
Post #9





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

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


Byłby do tego poradnik jakiś ? bo nie zabardzo to kapuje ;p
Go to the top of the page
+Quote Post
Piniek
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 463
Pomógł: 49
Dołączył: 27.12.2007
Skąd: Warszawa

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


wątpię, jak chcesz to zrobić pożądanie to naucz sie PHP czytaj książki , manuala itp...
Go to the top of the page
+Quote Post
K4mil94
post
Post #11





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

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


Uczyłem się PHP i już coś umiem ale nie znam wszystkich jego możliwości. Większość nauczyłem się właśnie z przerabiania takich skryptów. Dlatego szukam tak owego poradnika.. Nie wiem czy dobrze myślę ale mam taki skrypt downloadu... Można by go przerobić tak aby dodawać swój profil na podstawie dodawania plików ? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Jeszcze interesuje mnie coś z innej paki.. Jak zrobić aby załadować do Textarea Plik php. Czyli coś jak w WebText Evolution. Potrzebuję bo chce napisać panel zarządzania stroną
Go to the top of the page
+Quote Post
Lion_87
post
Post #12





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Cytat
Nie wiem czy dobrze myślę ale mam taki skrypt downloadu... Można by go przerobić tak aby dodawać swój profil na podstawie dodawania plików ?


A jak chcesz to zrobic?
Ne mozesz przerobic innego skryotu rejestracji?
Go to the top of the page
+Quote Post
K4mil94
post
Post #13





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

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


Dobra. Pomyślałem nad tym i wywnioskowałem żeby do pokazania profilu użytkownika użyć $_GET. W bazie każdy ma swoje id, i teraz pytanie: Jak zrobić aby po wpisaniu www.simsnews.pl/profiles.php?id=33. To że to przez użycie get to sam wiem ale jak zdefiniować żeby po napisaniu w id= numerku dalo info o id 33 z bazy ?
Go to the top of the page
+Quote Post
Piniek
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 463
Pomógł: 49
Dołączył: 27.12.2007
Skąd: Warszawa

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


podałem ci zapytanie do bazy kilka postów wyżej. Pamiętaj tylko o przefiltrowaniu zmiennej GET
Go to the top of the page
+Quote Post
K4mil94
post
Post #15





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

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


Właśnie napisałem sobie listę użytkowników :
Kod
<?

$polacz = mysql_connect ("localhost", "ibanez_simsnews", "******") or die (mysql_error());;
mysql_select_db ("ibanez_simsnews", $polacz) or die (mysql_error());

$pliki = mysql_query(" SELECT * FROM `users` LIMIT 0 , 100 ");

while ($dane = mysql_fetch_array($pliki))

{


$login = $dane[login];
$skad = $dane[skad];

print "Nick: $login -> Skąd: $skad <br> ";



}

?>

Ale dalej nie rozumiem jak wyświetlić sam profil o id 33 za pomocą get;(

Ten post edytował K4mil94 4.10.2008, 07:51:55
Go to the top of the page
+Quote Post
Lion_87
post
Post #16





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Ale Piniek napisal CI jak ma wygladac zapytanie ?!

Cytat
nie kazdy osobną tabelę a osobny "rekord" w bazie danych tj unikalne dla niego id oraz inne dane ;]
Pobierasz je za pomocą protego zapytania SELECT

SQL
SELECT * FROM users WHERE id = $_GET['id']
To taki przykład


Zrob tak jak CI napisal i bedziesz mial to co chcesz.
Go to the top of the page
+Quote Post
K4mil94
post
Post #17





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

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


A jak definiować id każdego usera ?
Go to the top of the page
+Quote Post
Lion_87
post
Post #18





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


no np przez mała zmiane w Twoim skrypcie wyzej

  1. <?
  2.  
  3. $polacz = mysql_connect ("localhost", "ibanez_simsnews", "******") or die (mysql_error());;
  4. mysql_select_db ("ibanez_simsnews", $polacz) or die (mysql_error());
  5.  
  6. $pliki = mysql_query(" SELECT * FROM `users` LIMIT 0 , 100 ");
  7.  
  8. while ($dane = mysql_fetch_array($pliki))
  9.  
  10. {
  11.  
  12. $login_id = $dane[id];
  13. $login = $dane[login];
  14. $skad = $dane[skad];
  15.  
  16. print "Nick: <a href=www.simsnews.pl/profiles.php?id=$login_id>$login</a> -> Skąd: $skad <br> ";
  17.  
  18.  
  19.  
  20. }
  21.  
  22. ?>


login -----> jako odsylacz do profilu
Go to the top of the page
+Quote Post
K4mil94
post
Post #19





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

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


A jak zrobić zeby samo czytało z bazy id i odrazu było w linku ze id 33 bo nie mam zrobionego pliku profiles
Go to the top of the page
+Quote Post
Lion_87
post
Post #20





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


O co Ci kaman bo juz nie wiem?
Go to the top of the page
+Quote Post
K4mil94
post
Post #21





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

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


1. Chcę mieć żeby każdy użytkownik miał swój profil.
2.
Kod
print "Nick: <a href=www.simsnews.pl/profiles.php?id=$login_id>$login</a> ->
No i to jest za pomocą GET, lecz nie wiem jaką instukcję dać do pliku profiles.php
Go to the top of the page
+Quote Post
Lion_87
post
Post #22





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


id=$login_id

To jest unikalne id każdego usera
Za pomocą niego wybierasz z bazy danych konkretnego użytkownika i wczytujesz resztę danych TEGO użytkownika.

w profiles.php

Wyżej Piniek podal CI zapytanie do bazy danych.
Z tego zapytania wybierzesz rekord tego użytkownika o takim id i wczytasz jego inne dane z tej samej tabeli.

W pliku poza tym zapytaniem umieszczasz to jak ma wyglądać ten PROFIL usera: tabelki, kolumny, wiersze, zdjęcie, opis, wiek itd...
A z zapytania będziesz brać dane potrzebne do wyswietlen8ia profilu.
Go to the top of the page
+Quote Post
K4mil94
post
Post #23





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

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


Coś takiego ?
  1. <?
  2. $polacz = mysql_connect ("localhost", "ibanez_simsnews", "********") or die (mysql_error());;
  3. mysql_select_db ("ibanez_simsnews", $polacz) or die (mysql_error());
  4. $pliki = mysql_query(" SELECT * FROM `users` LIMIT 0 , 100 ");
  5. while ($dane = mysql_fetch_array($pliki))
  6. {
  7.  
  8. $login_id = $dane[nr];
  9. $login = $dane[login];
  10. $skad = $dane[skad];
  11. $avatar = $dane[avatar];
  12. $gg = $dane[gg];
  13. $dolaczyl = $dane[data];
  14. $blog = $dane[blog];
  15.  
  16.  
  17. echo "<div style=\"width: 450px; height: 100px;\"><div style=\"width: 100px; height: 100px; float: left;\"><img width=\"100px\" height=\"100px\" src=\"$avatar\"></div><div style=\"width: 350px; height: 100px; float: right;\">Numer użytkownika: $login_id<br>Login: $login<br>Skąd: $skad<br>GG: $gg<br>Dołączył: $dolaczyl<br></div><br><br>Notatki:<br>$blog</div><br><br>";
  18.  
  19.  
  20.  
  21. }
  22.  
  23. ?>
? Zamiast zapytania SELECT * FROM `users` LIMIT 0 , 100 dałem zapytanie pińka i leci mi błąd w 5 lini a jak dam numer 33 zamiast $_GET['id'] to działa all

Edit: ok działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Zamiast $_GET['id'] dałem $_GET[id] ;p

Teraz interesuje mnie tylko jak wczytac zawartosc wiersza do textarea a potem zapisanie go do bazy przez udpade ;p

Ten post edytował K4mil94 4.10.2008, 15:30:10
Go to the top of the page
+Quote Post
Lion_87
post
Post #24





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Całosc? do textarea? po co?
Oddzielnie w inputach nie mozesz?

  1. <input type=text name=skad_edit value='$skad'>
  2.  
  3. ...
  4.  
  5. </form>


Ten post edytował Lion_87 4.10.2008, 16:21:01
Go to the top of the page
+Quote Post
K4mil94
post
Post #25





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

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


ale np mam blog. czyli jakas dłuższa wypowiedz pasuje żeby była w textarea
Go to the top of the page
+Quote Post
Lion_87
post
Post #26





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


to wtedy

  1. <?php
  2. <form>
  3. ...
  4. <textarea cols='120' rows='7' name=blog_edycja>$blog</textarea>
  5. ...
  6. </form>
  7. ?>


Ten post edytował Lion_87 4.10.2008, 17:14:49
Go to the top of the page
+Quote Post
K4mil94
post
Post #27





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

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


Teraz następny problem. Nie rejestruje mi ludzi
funkcje.php
  1. <?php
  2.  
  3. function pol_mysql()
  4. {
  5.  
  6.  
  7. //ustawiamy teraz dane naszej bazy
  8. $db_host = 'localhost';
  9. $db_user = 'ibanez_simsnews';
  10. $db_pass = 'ulotki12';
  11. $db_name = 'ibanez_simsnews';
  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. <?
  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.     <td>Avatar ( Link zewnętrzny )</td>
  84.     <td><input type=tekst name=avatar></td></tr>
  85.   <tr>
  86.     <td>Płeć:</td>
  87.     <td>Mężczyzna: <input type="radio" value="m" checked name="plec"> Kobieta: <input type="radio" name="plec" value="k"></td></tr>
  88.   <tr>
  89.     <td>Hasło:</td>
  90.     <td><input type=password name=haslo></td></tr>
  91.   <tr>
  92.     <td>Powtórz hasło:</td>
  93.        <td><input type=password name=haslo2></td></tr>
  94.   <tr><td colspan=2><h4>Hasło powinno składać się z  nie więcej niż 12 znaków.</H4></td></TR>
  95.   <tr>
  96.     <td align=center colspan=2>
  97.     <input type=submit value="Zapisz"></td></TABLE></form>
  98. <?
  99.      html_url("index.php", "Logowanie");
  100. }
  101. //dodajemy użytkownika do bazy danych
  102. function dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2, $avatar)
  103. {
  104.    if ($haslo != $haslo2)
  105.    {
  106.        echo "<H3 ALIGN=center>Hasła nie są takie same.</h3>";
  107.        dodaj_form();
  108.        exit;
  109.    }
  110.  $polaczenie= pol_mysql();
  111.  // sprawdzenie, czy login nie powtarza się
  112.  $wynik = mysql_query("select * from users where login='$login'");
  113.  if(!$wynik)
  114.    return "Problem: zapytanie z bazy nieudane";
  115.  if (mysql_num_rows($wynik)>0)
  116.    {
  117.    echo "<H3 ALIGN=center>Użytkownik o takiej nazwie jest już zarejestrowany, spróbuj inny login</h3>";
  118.    dodaj_form();
  119.    }
  120.  $czas = date("j-m-Y-G:i:s");
  121.  // umieszczenie usera w bazie danych
  122.  $zapytanie = "insert into users values ('', '$login', '$gg', '$skad', '$plec', '$haslo', '$czas', '$avatar')";
  123.  $wynik=mysql_query($zapytanie);
  124. if($wynik)
  125.    {
  126.    echo "<H3 ALIGN=center>Rejestracja zakończona pomyślnie</h3>";
  127.    echo "<H4 ALIGN=center><a href='index.php'>Strona Logowania</a></h4>";
  128.    exit;
  129.    }
  130.  return true;
  131. }
  132.  
  133. function logowanie($login, $haslo)
  134. {
  135.  $polaczenie= pol_mysql();
  136.  // sprawdzenie, czy login nie powtarza się
  137.  $wynik = mysql_query("select * from users where login='$login'");
  138.  if(!$wynik)
  139.    return "Problem: zapytanie z bazy nieudane";
  140.  if (mysql_num_rows($wynik)== 0)
  141.    {
  142.    echo "<H3 ALIGN=center>Niema takiego użytkownika w bazie danych</h3>";
  143.    wy_form_logo();
  144.    exit;
  145.    }
  146.  $tab_user = wynik_db_do_tablicy($wynik);
  147.  if ($tab_user[0]['haslo'] != $haslo)
  148.    {
  149.      echo "<H3 ALIGN=center>Niepoprawne hasło</h3>";
  150.    wy_form_logo();
  151.    exit;
  152.    }
  153.   $user = $login;
  154.   //rejestrowanie danych sesji
  155.   session_register("user");
  156.   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>";
  157.   echo "<fieldset><legend>Menu użytkownika</legend><a href=profiles.php?id=>Zobacz swój profil</a>&nbsp;&nbsp;&nbsp;<a href=userlist.php>Lista użytkowników</a>&nbsp;&nbsp;&nbsp;<a href=editprofile.php>Edytuj profil</a>&nbsp;&nbsp;&nbsp;Napisz wiadomość</fieldset>";
  158.  
  159. }
  160. ?>

i rejestracja.php
  1. <?
  2. require_once ("funkcje.php");
  3.  if ($login && $plec && $haslo)
  4.  {
  5.  $wynik = dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2, $avatar);
  6.  }
  7.  else
  8.  {
  9.  exit;
  10.  }
  11.  ?>


Co znowu mam źle ? ;/
Go to the top of the page
+Quote Post
Lion_87
post
Post #28





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Cytat
$zapytanie = "insert into users values ('', '$login', '$gg', '$skad', '$plec', '$haslo', '$czas', '$avatar')";


Moze daj NULL

  1. <?php
  2. $zapytanie = "insert into users values (NULL, '$login', '$gg', '$skad', '$plec', '$haslo', '$czas', '$avatar')";
  3. ?>
Go to the top of the page
+Quote Post
K4mil94
post
Post #29





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

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


Nic nie dało ;/ Tylko błąd w 3 lini w pliku rejestracja jest
Go to the top of the page
+Quote Post
--dr_NO--
post
Post #30





Goście







jeżęli pierwsze pole to jest id, i masz ustawione jako podstawowe/auto increment, to poprostu je pomiń przy dodawaniu nowego rekordu ...

Co do błędu w 3 linijce, już wcześniej się dowiedziałeś żeby sesje rozpoczynac przed wysłaniem nagówków, więc prawidłowy kod będzie wyglądał tak:
  1. <?
  2. session_start(); // ZAMIANA MIEJSCAMI !!
  3. require_once ("funkcje.php");
  4. if ($login && $plec && $haslo)
  5. {
  6. $wynik = dodaj_usera($login, $gg, $skad, $plec, $haslo, $haslo2, $avatar);
  7. }
  8. else
  9. {
  10. }
  11. ?>
Go to the top of the page
+Quote Post
K4mil94
post
Post #31





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

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


Właśnie spróbowałem tak po napisaniu posta, ale teraz nie ma błędu i nie robi usera ;/
Go to the top of the page
+Quote Post
-Gość-
post
Post #32





Goście







Jeżeli chodzi o błędy:
  1. <?php
  2. // Wyprintuj przsylane dane metoda post, wtedy bedzie mial podgląd co do wysyłanych danych
  3.  
  4. print_r($_POST);
  5.  
  6. //używaj po zapytaniu or die(mysql_error());
  7. $zapytanie = "insert into users values ('', '$login', '$gg', '$skad', '$plec', '$haslo', '$czas', '$avatar')";
  8. $wynik=mysql_query($zapytanie) or die(mysql_error());
  9.  
  10. // jeżeli chcesz sprawdzić zapytanie czy jest poprawne podgląd
  11. print $zapytanie;
  12.  
  13. // po session start włącz
  14. ?>
Go to the top of the page
+Quote Post
K4mil94
post
Post #33





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

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


Array ( [login] => volume [gg] => 10977417 [skad] => Jaworsko [avatar] => http://niema [plec] => m [haslo] => kamil12 [haslo2] => kamil12 )
Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NIE) in /home/ibanez/domains/simsnews.pl/public_html/test/rejestracja.php on line 10

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/ibanez/domains/simsnews.pl/public_html/test/rejestracja.php on line 10
insert into users values ('', 'volume', '10977417', 'Jaworsko', 'm', 'kamil12', '')

Teraz taki błąd
Go to the top of the page
+Quote Post
Lion_87
post
Post #34





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


hmmm a napewno dobrze sie z baza lączysz? dobre dane wpisujesz ---->haslo---->uzytkownik---->nazwa bazy?

daj NULL
  1. INSERT INTO users VALUES (NULL, '$login', '$gg', '$skad', '$plec', '$haslo', '$czas', '$avatar')


Ten post edytował Lion_87 5.10.2008, 09:56:09
Go to the top of the page
+Quote Post
MWL
post
Post #35





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

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


Lion_87, najpierw niech to się przefiltruje za pomocą np. mysql_escape_string();
Go to the top of the page
+Quote Post
K4mil94
post
Post #36





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

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


Cytat(Lion_87 @ 5.10.2008, 10:55:13 ) *
hmmm a napewno dobrze sie z baza lączysz? dobre dane wpisujesz ---->haslo---->uzytkownik---->nazwa bazy?

daj NULL
  1. INSERT INTO users VALUES (NULL, '$login', '$gg', '$skad', '$plec', '$haslo', '$czas', '$avatar')

Dalej ten sam błąd, a z bazą dobrze się łączy..
Go to the top of the page
+Quote Post
Lion_87
post
Post #37





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Moze pokaz nam tabele w MySQL do której chcesz zarejestrować usera?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.09.2025 - 12:45