Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z systemem logowania
Forum PHP.pl > Forum > Przedszkole
tasmman
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
Ruch Radzionków
weś ten kod php z index.php przenies do login.php

i daj action=""
tasmman
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
tasmman
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.
Szymciosek
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.
tasmman
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.
Szymciosek
Jakie masz zainstalowane oprogramowanie ? Np. Wamp Server, Xampp, Krasnal itd...
tasmman
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.
Szymciosek
Krasnala olej... stary jest.
Wamp server zainstaluj.
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.