Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z systemem logowania
-tasmman-
post
Post #1





Goście







Hej, jestem nowy w PHP i nie potrafię sobie poradzić wydaje mi się, że z prostym problemem. Otóż mam dwa pliki index.php i login.php.
Plik login.php:
  1. <center class="font-style1">Logowanie do systemu<br><br>
  2. <form method="post" action="index.php" class="font-style2">
  3. Login:<br> <input name="login" type="text" class="font-style3" style="width: 180px"><br>
  4. Hasło:<br> <input name='haslo' type='password' class="font-style3" style="width: 180px"><br><br>
  5. <input type='submit' value='Zaloguj' name='zaloguj' class="font-style3" style="width: 115px; height: 46px">

Oraz fragment pliku index.php:
  1. <?php
  2. require('login.php') ;
  3. if(isset($_POST['zaloguj']))
  4. {
  5. echo 'ddfdsfdf' ;
  6. $sql1 = "SELECT Login, Haslo FROM Users WHERE Login = '".$_POST['login']."' AND Haslo = '".$_POST['haslo']."' " ;
  7. $rsql = odbc_exec($_SESSION['database'], $sql1) ;
  8. if(odbc_fetch_row($rsql) > 0)
  9. {
  10. $_SESSION['zalogowany'] = true;
  11. $_SESSION['login'] = $_POST['login'];
  12. $_SESSION['haslo'] = $_POST['haslo'];
  13. echo 'zalogowano' ;
  14. }
  15. else
  16. {
  17. $_SESSION['zalogowany'] = false ;
  18. echo '<center><font class="auto-style4">Niepoprawne dane logowania!</font></center>' ;
  19. }
  20. }
  21. ?>

Problem polega na tym, że trzeba kilkakrotnie nacisnąć przycisk Zaloguj, aby cokolwiek zareagowało. Czyli trzeba parę razy (jest to losowa liczba, niekiedy dwa razy, niekiedy 10) kliknąć na przycisk Zaloguj, aby pokazał się napis "zalogowano" albo "Niepoprawne dane logowania". W ogóle nie mam pojęcia czym to może być spowodowane. Dziękuje za wszelkie wskazówki. Pozdrawiam
Go to the top of the page
+Quote Post
Ruch Radzionków
post
Post #2





Grupa: Zarejestrowani
Postów: 311
Pomógł: 25
Dołączył: 29.08.2011

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


weś ten kod php z index.php przenies do login.php

i daj action=""
Go to the top of the page
+Quote Post
-tasmman-
post
Post #3





Goście







Próbuje już wszystkiego, nawet takie coś mi nie działa:
  1. <?php
  2.  
  3. if(isset($_POST['wyslij']))
  4. {
  5. echo 'test' ;
  6. }
  7. else
  8. {
  9. ?>
  10. <html>
  11. <head></head>
  12. <body>
  13. <form method="post" action="">
  14. Login: <input name="login" type="text"><br>
  15. Haslo: <input name='haslo' type='password'><br>
  16. <input type="submit" name="submit" value="submit">
  17. </form>
  18. </body>
  19. </html>
  20. <?php
  21. }
  22. ?>

A może to ma prawo nie działać, po prostu czegoś nie rozumiem? Objawia się to tym, o czym pisałem poprzednio. Według logiki po naciśnięciu przycisku Submit powinien pojawić się napis 'test', nic się nie pojawia po naciśnięciu. Jak kliknę parę razy w submit to wtedy zawiesza się jakby cały formularz, nic nie da się z nim zrobić. O co chodzi? Z góry dziękuję. Pozdrawiam
Go to the top of the page
+Quote Post
tasmman
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 30.12.2012

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


Oczywiście w
  1. if(isset($_POST['wyslij']))

powinno być zamiast wyslij, 'submit'. Ale to nie zmienia sytuacji, napis 'test' po kliknięciu 'submit' się nie pokazuje. Czasem jakimś cudem się pokazuje ...
EDIT: Może to być spowodowane błędem przeglądarki internetowej? Bo jeśli nawet testowałem kod z tej strony: http://snipplr.com/view.php?codeview&id=11093 to problem jest taki sam. Czasem po naciśnięciu przycisku GO skrypt jest obsłużony prawidłowo, a czasem formularz się zawiesza, albo pokazuje się, że nie można wyświetlić strony. Testuje na Chrome oraz na IE 10.

Ten post edytował tasmman 30.12.2012, 19:10:45
Go to the top of the page
+Quote Post
Szymciosek
post
Post #5





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Spróbuj po prostu przesłać formularz i odebrać z niego dane.

index.php:
  1. <form action="login.php" method="post">
  2. <input type="text" name="login" /><br />
  3. <input type="submit" name="send" value="send" />
  4. </form>&#8203;


login.php
  1. if (isset($_POST['send'])
  2. {
  3. echo $_POST['login'];
  4. }


Mówisz, że głównie z tym masz problem, więc zacznij od stwierdzenia, czy błąd leży na początku skryptu.
Go to the top of the page
+Quote Post
tasmman
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 30.12.2012

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


Dzięki za odpowiedź. Zrobiłem jak mówiłeś. Czasem jest dobrze, a czasem po naciśnięciu Send Chrome wypluwa "Strona internetowa jest niedostępna". Nie mam pojęcia od czego do zależy. Może coś nie tak z konfiguracją pliku php.ini? Dodam, że używam Microsoft Expression Web 4 i PHP 5.4.
Go to the top of the page
+Quote Post
Szymciosek
post
Post #7





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Jakie masz zainstalowane oprogramowanie ? Np. Wamp Server, Xampp, Krasnal itd...
Go to the top of the page
+Quote Post
tasmman
post
Post #8





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 30.12.2012

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


Nie mam nic z tego. Razem z Microsoft Expression instaluje się Microsft Expression Development Server i na nim to wszystko chyba działa. Zauważyłem pewną rzecz, że to wszystko co pisałem, zaczyna działać, gdy zamiast POST używa się GET. Ale jeszcze nie jestem dokładnie pewny, niedługo to przetestuje. I zainstaluje Krasnal.
Go to the top of the page
+Quote Post
Szymciosek
post
Post #9





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Krasnala olej... stary jest.
Wamp server zainstaluj.
Go to the top of the page
+Quote Post

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: 25.08.2025 - 14:58