Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> logowanie - postgresql
domelpl
post 6.01.2007, 14:53:26
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.01.2007

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


Witam,
Wiem że jest pełno tematów na forum o logowaniu, przeczytałem chyba wszystkie ale nadal nie moge poradzić sobie z logowaniem
Zamieszczam mój prosty skrypt i z góry przepraszam za głupie błędy ale jestem początkujący
Błagam pomuszcie mi

index.html
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  3. <title>strona testowa</title>
  4.  
  5. <STYLE type="text/css">
  6. .logowanie {font-family: sans-serif; font-size: 12pt; margin:4em;}
  7. .tytul {font-family: Home Sweet Home; font-size: 15pt; margin:3em;}
  8. </head>
  9. <SPAN class="tytul"><br><br><div align="center"><STRONG>Witaj w programie lojalnosciowym</STRONG></div></SPAN>
  10. <SPAN class="logowanie"><br><br><div align="center"><form action="logowanie.php" method="post">
  11. <p>Login<input type="text" name="form_log" /></p>
  12. <p>Haslo<input type="password" name="form_pass" /></p>
  13. <p><input type="submit" value="Zaloguj" /></p>
  14. </form></div></SPAN>
  15.  
  16. </body>
  17. </html>



logowanie.php
  1. <?php
  2. function laczenie()
  3. {
  4. $db=pg_connect('host=localhost dbname=test user=domel');
  5. //if ($db) {
  6. //echo 'polaczenie udane';}
  7. //else {
  8. //echo 'polaczenie nieudane';}
  9. }
  10.  
  11. $lacz=laczenie(); echo '<br>';
  12. //$login = 'domel';
  13. //$password = 'lotus';
  14. $log = $_POST['form_log'];
  15. $pass = $_POST['form_pass'];
  16.  
  17. $login = ('select login from users where login='$log';');
  18. $wyk1 = pg_query($login);
  19. $password = ('select haslo from users where haslo='$pass';');
  20. $wyk2 = pg_query($password);
  21.  
  22. if ($log == $wyk1 && $pass == $wyk2)
  23. { 
  24. $user=$_POST['form_log'];
  25. echo('<br><div align="center">Witaj '.$user.'</div>'); 
  26. } 
  27. else 
  28. { 
  29. echo('Bledny login lub haslo'); 
  30. } 
  31. //-----------------------------------------------------------------------------------------
  32.  
  33. ?>


Zapomniałem dodać w czym problem a więc: po wpisaniu danych do formularza przerzuca mnie na stronke "logowanie.php"
i na tym koniec nic sie nie dzieje. Wcześniej gdy miałem z góry ustalony login i hasło bez łączenia z bazą to wszystko działało
Jeszcze raz proszę o pomoc i wyrozumiałość
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
BORG
post 6.01.2007, 16:49:24
Post #2





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 18.12.2006

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


Jezeli masz
  1. <form action="logowanie.php">

To cie przenosi na te stronke. Mozesz w logowanie.php dodac
  1. location.href = 'index.html';
  2. </script>

Wtedy z logowanie.php cie przekieruje na inna stronke, mozesz tez zrobic plik index.php
  1. <?
  2. include("logowanie.php");
  3. if($_POST['action'] == 'login')
  4. {
  5. loguj($_POST['form_login'], $_POST['form_pass']);
  6. }
  7. ?>
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  9. <html>
  10. <head>
  11. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  12. <title>strona testowa</title>
  13.  
  14. <STYLE type="text/css">
  15. .logowanie {font-family: sans-serif; font-size: 12pt; margin:4em;}
  16. .tytul {font-family: Home Sweet Home; font-size: 15pt; margin:3em;}
  17. </STYLE>
  18. </head>
  19. <body>
  20. <SPAN class="tytul"><br><br><div align="center"><STRONG>Witaj w programie lojalnosciowym</STRONG></div></SPAN>
  21. <SPAN class="logowanie"><br><br><div align="center"><form action="index.php" method="post">
  22. <p>Login<input type="text" name="form_log" /></p>
  23. <p>Haslo<input type="password" name="form_pass" /></p>
  24. <input type="hidden" name="action" value="login">
  25. <p><input type="submit" value="Zaloguj" /></p>
  26. </form></div></SPAN>
  27.  
  28. </body>
  29. </html>


i plik logowanie.php:

  1. <?php
  2. function laczenie()
  3. {
  4. $db=pg_connect('host=localhost dbname=test user=domel');
  5. //if ($db) {
  6. //echo 'polaczenie udane';}
  7. //else {
  8. //echo 'polaczenie nieudane';}
  9. }
  10. function loguj($log, $pass)
  11. {
  12. $lacz=laczenie(); echo '<br>';
  13. //$login = 'domel';
  14. //$password = 'lotus';
  15.  
  16.  
  17. $login = ('select login from users where login='$log';');
  18. $wyk1 = pg_query($login);
  19. $password = ('select haslo from users where haslo='$pass';');
  20. $wyk2 = pg_query($password);
  21.  
  22. if ($log == $wyk1 && $pass == $wyk2)
  23. { 
  24. $user=$_POST['form_log'];
  25. echo('<br><div align="center">Witaj '.$user.'</div>'); 
  26. } 
  27. else 
  28. { 
  29. echo('Bledny login lub haslo'); 
  30. } 
  31. //-----------------------------------------------------------------------------------------
  32. }
  33. ?>


Powinno dzialac, chyba ze cos zchrzanilem winksmiley.jpg

Ten post edytował BORG 6.01.2007, 16:50:10
Go to the top of the page
+Quote Post
domelpl
post 6.01.2007, 17:47:44
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.01.2007

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


Dzieki za pomoc ale nie pomogło. To ze przerzuca mni na stronke "logowanie.php" to tak ma byc tylko chodzi mi o to ze mam co zle w skrypcie logowania na stronie "logowanie.php" bo cokolwiek wpisze to nic sie nie wyswietla nawet "bledny login lub haslo" nic a jak mialem wpisany recznie login i haslo a nie laczylem sie z baza to dzialalo
Go to the top of the page
+Quote Post
acztery
post 6.01.2007, 18:13:39
Post #4





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


następne logowanie z kosmosu...


  1. <?php
  2. $sql="SELECT COUNT(*) FROM users WHERE username='".$_POST['form_log']."' AND password='".$_POST['form_log']."'";
  3. $dane = pg_query($db_handle,$sql);
  4.  
  5. if (pg_num_rows($dane)
  6. {
  7. echo "witaj, jestes teraz zalogowany";
  8. }esle{
  9. echo "brak dostepu, nieprawidlowe dane";
  10. }
  11. ?>
Go to the top of the page
+Quote Post
domelpl
post 6.01.2007, 18:53:22
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.01.2007

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


Dzieki za podpowiedź ale nadal to samo sad.gif
Go to the top of the page
+Quote Post
satsun
post 6.01.2007, 20:23:14
Post #6





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 15.10.2006

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


Nie znam pgsql ale moze dobrze bedzie
  1. <?php
  2. $query = 'SELECT * FROM users WHERE login= " '.$_POST['form_log'].'" AND haslo = "'.$_POST['form_pass'].'";';
  3. $res = pg_query($db_h, $query);
  4. if(pg_num_rows($res) == 1)
  5. {
  6. echo 'Udalo sie';
  7. }
  8. else
  9. { echo 'Nie udalo sie zalogowac';
  10. }
  11. ?>
Go to the top of the page
+Quote Post
domelpl
post 6.01.2007, 21:07:02
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.01.2007

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


No jest już lepiej ale nie działa do końca dobrze tzn cokolwiek bym wpisał to logowanie jest nieudane obojętnie czy wpiszę dobre czy złe dane
Dzieki za pomoc
Go to the top of the page
+Quote Post
satsun
post 6.01.2007, 22:37:09
Post #8





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 15.10.2006

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


Cytat(satsun @ 6.01.2007, 20:23:14 ) *
  1. <?php
  2. $query = 'SELECT * FROM users WHERE login= " '.$_POST['form_log'].'" AND haslo = "'.$_POST['form_pass'].'";';
  3. $res = pg_query($db_h, $query);
  4. if($res)
  5. {
  6. echo 'Udalo sie';
  7. }
  8. else
  9. { echo 'Nie udalo sie zalogowac';
  10. }
  11. ?>

A tak?

Ten post edytował satsun 6.01.2007, 22:37:33
Go to the top of the page
+Quote Post
domelpl
post 6.01.2007, 22:51:39
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.01.2007

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


Nadal to samo czyli "Nieudalo sie zalogowac" cokolwiek bym wpisal sad.gif
Go to the top of the page
+Quote Post
satsun
post 6.01.2007, 23:04:50
Post #10





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 15.10.2006

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


A na pewno sa pola login i haslo w tabeli users?
Go to the top of the page
+Quote Post
domelpl
post 7.01.2007, 00:13:14
Post #11





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.01.2007

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


Tak tabela jest OK i połączenie też jest dobre bo wyświetla mi rekordy

No wiec tak przynajmniej wiem gdzie jest jakis blad oto kod "logowanie.php"
  1. <?php
  2. $db=pg_connect('host=localhost dbname=test user=domel');
  3. echo($db); echo'<br>';
  4. if ($db) {
  5. echo 'polaczenie udane';}
  6. else {
  7. echo 'polaczenie nieudane';}
  8.  
  9. //-----------------------------------------------------------------------------------------
  10. $query = 'SELECT * FROM users WHERE login = "'.$_POST['login'].'" AND haslo = "'.$_POST['pass'].'";';
  11. $res = pg_query($db_h, $query);
  12. if (pg_num_rows($res) == 0) {
  13. echo '<br>Udalo sie';
  14. }
  15. else {
  16. echo '<br>Nie udalo sie zalogowac';
  17. }
  18. //----to dla sprawdzenia czy laczy sei z baza i wybiera rekordy (dziala)
  19. $select = 'SELECT login, haslo from users;';
  20. $tb_dane = pg_exec($db, $select) or die(pg_erromessage());
  21. $zawtab = @pg_numrows($tb_dane);
  22.  
  23. printf("<br><br><table border>");
  24. echo '<b>USERS</b>';
  25. printf("<tr>");
  26. printf("<td width="90"><b>LOGIN</b></td>");
  27. printf("<td width="90"><b>HASLO</b></td>");
  28. printf("</tr>");
  29.  
  30. for($i=0; $i<$zawtab; $i++)
  31. {
  32. printf("<tr>");
  33. printf("<td>%s</td>",pg_result($tb_dane, $i, 'login'));
  34. printf("<td>%s</td>",pg_result($tb_dane, $i, 'haslo'));
  35. printf("</tr>");
  36. }
  37. printf("</td></table>");
  38.  
  39.  
  40.  
  41.  
  42. ?>


a mianowicie jak we fragmencie
  1. <?php
  2. if (pg_num_rows($res) == 0) {
  3. echo '<br>Udalo sie';
  4. }
  5. else {
  6. echo '<br>Nie udalo sie zalogowac';
  7. }
  8. ?>

jest ustawiona wartosc 0 to cokolwiek wpisze to sie loguje poprawnie, a gdy wartosc 1 to co bym nie pisal poprawne dane czy nie to sie nie loguje i tak w kółko to samo Błagam pomóżcie bo naprawde zaczyna mnien to juz denerwować
Go to the top of the page
+Quote Post
acztery
post 7.01.2007, 11:53:03
Post #12





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


co to za zmienna $db_h?



$res = pg_query($db_h, $query);

daj

$res = pg_query($db, $query);
Go to the top of the page
+Quote Post
domelpl
post 7.01.2007, 12:26:17
Post #13





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.01.2007

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


Zmieniłem na:
  1. <?php
  2. $query = 'SELECT * FROM users WHERE login = "'.$_POST['login'].'" AND haslo = "'.$_POST['pass'].'";';
  3. $res = pg_query($db, $query) or die(pg_errormessage());
  4. if (pg_num_rows($res) == 1) {
  5. echo '<br>Udalo sie';
  6. }
  7. else {
  8. echo '<br>Nie udalo sie zalogowac';
  9. }
  10. ?>

i teraz tak jak jest ==1 to jak wpisze błędne dane np login " tomel" i hasło "kot" to wywala ERROR: column "tomek" does not exist
a jak wpisze w login "login" a w haslo "haslo" to jest OK. Natomiast jak dam ==0 to wywala ten sam blad a ppo wpisaniu "login" "haslo" logowanie jest niudane
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:18