Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Proste logowanie problem
Forum PHP.pl > Forum > PHP
nikestylex7
Witam mam tutaj proste logowanie. Działa na mojej stronie lecz gdy wykupiłem nowy serwer i tworze stronę dla kogoś to skrypt nie loguje. Nie wiem może to wina bazy. Klikam na zaloguj i tak jak by w ogóle tylko tam header widziało i przenosi mnie od razu do index.php. Nie wyświetla się żaden komunikat a powinien w razie złego wpisania val 1 2 lub 3. Kod:

logowanie sam skrypt:
  1. <?php
  2. if(!isSet($_SESSION['kiczarowo'])){
  3. echo "<form name='logowanie' method='post' action='x.php' onSubmit='var ok=sprawdzLogowanie(); return ok;'>";
  4. if(isSet($_SESSION['komunikat'])){
  5. echo $_SESSION['komunikat'];
  6. }
  7. echo "<table align='center' width='40%'>
  8. <tr>
  9. <td><input class='form1' size='18' name='login' type='text' maxlength='16' value='login' onClick='form1(this.value);' /></td>
  10. <td><input class='form1' size='18' name='pass' type='password' maxlength='16' value='pass' onClick='form2(this.value);' /></td>
  11. </tr>
  12. <tr>
  13. <td><input class='form2' name='haslo' type='submit' value='zaloguj' /></td>
  14. <td><a style='display:none;' href='nowehaslo.php'>odzyskiwanie hasła</a></td>
  15. </tr>
  16. </table>
  17. </form>";
  18. }
  19. else{
  20. $user = $_SESSION['kiczarowo'];
  21. $user = mysql_fetch_assoc(mysql_query("SELECT * FROM user WHERE user='$user'"));
  22. <td>Lv: ".$user['id']."</td>
  23.  
  24. ";
  25. }
  26. ?>


A to skrypt sprawdzający logowanie :

  1. <?php
  2. function checkPass($login, $pass){
  3. $query = "SELECT COUNT(*) FROM user WHERE user='$login' ";
  4. $query .= "AND haslo='$pass'";
  5.  
  6. if(!$result = mysql_query($query)){
  7. return 1;
  8. }
  9.  
  10. if(!$row = mysql_fetch_row($result)){
  11. return 1;
  12. }
  13. else{
  14. if($row[0] <> 1){
  15. return 2;
  16. }
  17. else{
  18. return 0;
  19. }
  20. }
  21. }
  22.  
  23. if(isSet($_SESSION['kiczarowo'])){
  24. header("Location: index.php");
  25. }
  26. else if(!isSet($_POST["pass"]) || !isSet($_POST["login"])){
  27. $_SESSION['komunikat'] = "Wpisz login i hasło:";
  28. include('index.php');
  29. }
  30. else{
  31. $nick = mysql_real_escape_string(htmlspecialchars(mb_strtolower($_POST["login"], "utf-8")));
  32. $haslo = md5(mysql_real_escape_string(htmlspecialchars($_POST['pass'])));
  33. $val = checkPass($nick, $haslo);
  34. if($val == 0){
  35. $_SESSION['kiczarowo'] = $nick;
  36. unSet($_SESSION['komunikat']);
  37. header("Location: index.php");
  38. }
  39. else if($val == 1){
  40. $_SESSION['komunikat'] = "Błąd serwera.";
  41. include('index.php');
  42. }
  43. else if($val == 2){
  44. $_SESSION['komunikat'] = "Nieprawidłowy login lub hasło.";
  45. include('index.php');
  46. }
  47. else{
  48. $_SESSION['komunikat'] = "Błąd!";
  49. include('index.php');
  50. }
  51. }
  52. ?>
xxdrago
zacznij od:
Temat: Jak poprawnie zadac pytanie
Kod
error_reporting(E_ALL);
ini_set('display_errors','1')

    $sql = 'jakieś zapytanie';
    echo 'ZAPYTANIE:'.$sql;
    mysql_query($sql) or die('BŁĄD:'.mysql_error());


dodaj komunikat echo przy zapytaniu...
nikestylex7
Dzięki stary pomogło mi to w ustaleniu tego że nie dałem session_start(); na początku smile.gif
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.