Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][MYSQL]rejestracja
Forum PHP.pl > Forum > Przedszkole
michu9010
jak w temacie o to kod
  1. <?php
  2. include('config.php');
  3. include('funkcje.php');
  4. function login($login = null, $pass = null)
  5. {
  6. $return = false;
  7. $login  = (is_null($login))? $_SESSION['login']: md5($login);
  8. $pass   = (is_null($pass))? $_SESSION['pass']: md5($pass);
  9.  
  10.  $dane = mysql_query("SELECT * FROM `USER` LIMIT 0,1");
  11.  
  12.  while($row = mysql_fetch_array($dane))
  13.  {
  14.    if($login == md5($row['login']) AND $pass == md5($row['haslo']))
  15.    {
  16.      $_SESSION['login'] = md5($row['login']);
  17.      $_SESSION['pass']  = md5($row['haslo']);
  18.      $return            = true;
  19.    }
  20.  }
  21.  return $return;
  22. }
  23. ?>
  24. <form name="login" method="post" action="login.php">
  25. <table width="200" border="0" cellpadding="0" cellspacing="0">
  26.  <tr>
  27.    <td>Login:</td>
  28.    <td><input type="text" name="login" /></td>
  29.  </tr>
  30.  <tr>
  31.    <td>Haslo: </td>
  32.    <td><input type="password" name="pass" /></td>
  33.  </tr>
  34.  <tr>
  35.    <td colspan="2" align="center"><input type="submit" value="Loguj" /></td>
  36.  </tr>
  37. </table>
  38. </form>

config.php
  1. <?
  2. mysql_connect('localhost', 'krasnal', 'krasnal') or die('Bład! nie można się połšczyć z bazš');
  3. mysql_select_db("krasnal") or die('kurwaaa2');
  4. mysql_query("SET NAMES 'utf-8'");
  5.  
  6. $max_login    = 15;
  7. $min_login    = 3;
  8. $max_haslo    = 20;
  9. $min_haslo    = 6;
  10. ?>

funkcje.php
  1. <?php
  2. function check_mail($email)//sprawdza mail
  3. {
  4.  $ok = "/[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+.[a-zA-Z]{2,4}/";
  5.  return (preg_match($ok, $email))? true: false;
  6. }
  7.  
  8. function filter($co)//filtruje dane przy rejestracji
  9. {
  10.  $co = addslashes($co);
  11.  $co = strip_tags($co);
  12.  return $co;
  13. }
  14. ?>


dziekuje za pomoc party.gif
EarthCitizen
  1. <?php
  2. function login($login, $pass)
  3. {
  4.    // ta linijka z md5($login) to chyba niepotrzebna? bo w bazie chyba nie masz zakodowanych loginów?
  5.    $pass      = md5($pass);
  6.    $zapytanie = 'SELECT * FROM `user` WHERE pole_login = "' . $login . '" AND pole_haslo = "' . $pass . '" LIMIT 1';
  7.    $wynik     = mysql_result(mysql_query($zapytanie), 0);
  8.  
  9.    if ($wynik == 1) {
  10.        session_start();
  11.        $_SESSION['login']  = $login;
  12.        $_SESSION['logged'] = true;
  13.        //$_SESSION['pass']  = md5($row['haslo']); // hasło raczej nie będzie Ci potrzebne
  14.        
  15.        return true;
  16.    }
  17.    
  18.    return false;
  19. }
  20.  
  21. function is_logged()
  22. {
  23.    session_start();
  24.    return (isset($_SESSION['logged']) && $_SESSION['logged']);
  25. }
  26. ?>


Masz 2 funkcje login do logowania i is_logged do sprawdzania czy ktoś jest zalogowany.
michu9010
one sa zakodowane tutaj jest kod zrodlowy rejestracji
  1. czesc 1
  2. <?php
  3. /*
  4. $sql = 'CREATE TABLE `USER` ('
  5.         . ' `id` int(11) NOT NULL auto_increment,'
  6.         . ' `login` varchar(15) NOT NULL,'
  7.         . ' `haslo` varchar(40) NOT NULL,'
  8.         . ' `mail` varchar(40) NOT NULL,'
  9.         . ' `ranga` varchar(5) NOT NULL default 'user','
  10.         . ' `data` int(11) NOT NULL,'
  11.         . ' `ip` varchar(25) NOT NULL,'
  12.         . ' `active` int(1) NOT NULL,'
  13.         . ' `active_key` varchar(32) NOT NULL,'
  14.         . ' `ban` int(1) NOT NULL,'
  15.         . ' `cnt_view` int(255) NOT NULL,'
  16.         . ' KEY `id` (`id`)'
  17.         . ' ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 AUTO_INCREMENT=5;';
  18. */
  19. include('config.php');
  20. include('funkcje.php');
  21. require 'info.php';
  22.  
  23. $token_true   = substr(strtoupper(md5(uniqid(mt_rand(), true))), 0, 6);
  24. $active_user  = filter($_GET['user']);
  25. $active_key   = filter($_GET['active']);
  26.  
  27. if($_POST['rejestracja'] == 'yes')
  28. {
  29.  $login_form   = filter($_POST['login']);
  30.  $mail_form    = filter($_POST['mail']);
  31.  $haslo_form   = filter($_POST['pass']);
  32.  $haslo_r_form = filter($_POST['pass_r']);
  33.  $active_key   = md5(uniqid(mt_rand(), true));
  34.  $reg_form     = $_POST['reg'];
  35.  $token_form   = $_POST['token'];
  36.  $token_true   = $_POST['token_true'];
  37.  $date         = time();
  38.  $ip           = $_SERVER['REMOTE_ADDR'];
  39.  $spr_user     = mysql_query("SELECT `login` FROM `USER` WHERE `login` = '$new_usr' AND ((`active` = '1') OR (`active` = '0' AND `data` - '$date' > 172800))");
  40.  $spr_user     = mysql_num_rows($spr_user);
  41.  
  42.  $error = '';
  43.  if($spr_user == 1)                    {$error .= 'Podany Login jest już zajęty!<br />';}
  44.  if(empty($login_form))                {$error .= 'Musisz podać Login!<br />';}
  45.  if(empty($mail_form))                 {$error .= 'Musisz podać Maila!<br />';}
  46.  if(empty($haslo_form))                {$error .= 'Musisz podać Hasło!<br />';}
  47.  if(empty($reg_form ))                 {$error .= 'Jeśli nie zgadzasz się z regulaminem - odejdź!<br />';}
  48.  if(strlen($login_form) > $max_login)  {$error .= 'Login może zawierać MAX '.$max_login.' znaków!<br />';}
  49.  if(strlen($login_form) < $min_login)  {$error .= 'Login musi zawierać MIN '.$min_login.' znaków!<br />';}
  50.  if(strlen($haslo_form) > $max_haslo)  {$error .= 'Hasło może zawierać MAX '.$max_haslo.' znaków!<br />';}
  51.  if(strlen($haslo_form) < $min_haslo)  {$error .= 'Hasło musi zawierać MIN '.$min_haslo.' znaków!<br />';}
  52.  if(!check_mail($mail_form))           {$error .= 'Podany Mail ('.$mail_form.') jest niepoprawny!<br />';}
  53.  if($haslo_form != $haslo_r_form)      {$error .= 'Podane Hasła różnią się od siebie!<br />';}
  54.  if($token_form != $token_true)        {$error .= 'Podany Token jest nieprawidłowy!<br />';}
  55.  
  56.  if($error == '')
  57.  {
  58.      $add_usr = "INSERT INTO `USER` VALUES ('id', '$login_form', '".md5($haslo_form)."', '$mail_form', 'user', '$date', '$ip', '0', '$active_key', '0', '0');";
  59.  
  60.      if(mysql_query($add_usr) == 1)
  61.      {
  62.        $komunikat = '<font color="Green">Brawo <b>'.$login_form.'</b>! rejestracja przebiegła pomyślnie! <br />Na na adres podany w formularzu został wysłany link potwierdzający rejestrację.</font><br />';
  63.  
  64.        $temat    = 'Potwierdzenie Rejestracji - www.chmura.go.pl';
  65.        $from     = 'www.chmura.go.pl';
  66.        $headers  = 'From: '.$from.'<admin@chmura.pl>'."\n";
  67.        $headers .= 'MIME-Version: 1.0'."\n";
  68.        $headers .= 'Content-Type: text/plain; charset=UTF-8'."\n";
  69.        $headers .= 'Content-Transfer-Encoding: 8bit';
  70.        $tresc = "Witaj!
  71. Otrzymujesz tego maila ponieważ został on podany przy rejestracji w serwisie \"Chmura\",
  72. Zapamiętaj lub zapisz tego maila, zapomniane hasło niezostanie już odzyskane!
  73. Jeżeli uważasz że jest to wielkie nieporozumienie zlekceważ tego maila.
  74.  
  75. Twoje dane:
  76. -----------------------------------------------------
  77. Login: $login_form
  78. Hasło: $haslo_form
  79. -----------------------------------------------------
  80.  
  81.  
  82. Aktywuj konto poprzez wejście w poniższy adres url:
  83. http://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']."?user=$login_form&active=$active_key
  84.  
  85. Jeśli w ciągu 48 godzin od rejestracji nie aktywujesz konta zostanie ono usunięte.
  86.  
  87.  
  88. Dziękuje i pozdrawiam!
  89. Chmura
  90. ";
  91.        mail($mail_form, $temat, $tresc, $headers);
  92.      }
  93.      else
  94.      {
  95.        $error = 'Uuu wystąpiły jakieś komplikacje... spróbuj jeszcze raz za chwilę<br />';
  96.      }
  97.  }
  98.  if($error != '')
  99.  {
  100.    $komunikat = '<font color="Red"><b>Błąd!</b><br />'.$error.'</font><br />';
  101.  }
  102. }
  103. elseif(!empty($active_user) AND !empty($active_key))
  104. {
  105.  $spr_user  = mysql_query("SELECT * FROM `USER` WHERE `active_key` = '$active_key' AND `login` = '$active_user'");
  106.  $info_user = mysql_fetch_array($spr_user);
  107.  
  108.  if($info_user['active'] == 1)
  109.  {
  110.    $komunikat = '<font color="Red">To konto zostało już aktywowane!</font>';
  111.  }
  112.  elseif($active_user == $info_user['login'] AND $active_key == $info_user['active_key'])
  113.  {
  114.    $active = "UPDATE `USER` SET `active` =' 1' WHERE `active_key` = '$active_key'";
  115.    
  116.    if(mysql_query($active) == 1)
  117.    {
  118.      $komunikat = '<font color="Green"><b>'.$active_user.'</b> Twoje Konto zostało aktywowane!</font>';
  119.    }
  120.    else
  121.    {
  122.      $komunikat = '<font color="Red">Wystąpił nieoczekiwany bład przy aktywacji konta!</font>';
  123.    }
  124.  }
  125.  else
  126.  {
  127.    $komunikat = '<font color="Red">Czas aktywacji konta uległ przedawnieniu...</font>';
  128.  }
  129.      
  130. }
  131.  
  132. ?>


czesc 2
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <link type="text/css" rel="stylesheet" href="style/screen.css" media="screen" />
  5. <title><?php echo $title ?></title>
  6.  
  7. <script type="text/javascript" src="advAjax.js"></script>
  8. </head>
  9.  
  10. <script type="text/javascript">
  11. function ShowHide(element)
  12. {
  13. if(document.getElementById(element).style.display == '')
  14. {
  15. document.getElementById(element).style.display = 'none';
  16. }
  17. else
  18. {
  19. document.getElementById(element).style.display = '';
  20. }
  21. }
  22. function Check(adres, element, id)
  23. {
  24. var co = document.getElementById(id).value;
  25. advAJAX.get({url: adres+co, onSuccess : function(obj) {document.getElementById(element).innerHTML = obj.responseText; }})
  26. }
  27. function CheckHaslo(adres, adres2, element, id, id2)
  28. {
  29. var co1 = document.getElementById(id).value;
  30. var co2 = document.getElementById(id2).value;
  31. advAJAX.get({url: adres+co1+adres2+co2, onSuccess : function(obj) {document.getElementById(element).innerHTML = obj.responseText; }})
  32. }
  33. <table width="200" border="0" cellpadding="0" cellspacing="0" align="center">
  34. <tr valign="top">
  35. <td rowspan="5"><img src="images/lewa.jpg" width="375" height="1200" /></td>
  36. <td colspan="4" valign="top"><a href="index.php"><img src="images/logo.jpg" width="420" height="146" border="0" /></a></td>
  37. <td rowspan="5" valign="top"><img src="images/prawa.jpg" width="405" height="1200" /></td>
  38. </tr>
  39. <tr valign="top">
  40. <?php include 'top_menu.php'; ?>
  41. </tr>
  42. <tr>
  43. <td colspan="4" background="images/text.jpg" valign="top" height="250">
  44. <div id="text_in">
  45. <?php if(isset($_SESSION['login']) AND isset($_SESSION['pass']))
  46. {
  47. echo 'Gratulacje, znajdujesz się na stronie dla wybranych!';
  48. } else {
  49. echo ?>
  50. <form method="POST" name="RejestracjaForm">
  51. <table class="Rejestracja" cellspacing="0" cellpadding="0">
  52. <tr>
  53. <td colspan="2"><?php echo $komunikat; ?> </td>
  54. </tr>
  55. <tr>
  56. <td class="Rejestracja">Nazwa Użytkownika</td>
  57. <td class="RejestracjaInput"><input tabindex="1" onblur="javascript: Check('check.php?new_usr=', 'CheckLogin', 'LoginForm');" id="LoginForm" class="Rejestracja" type="text" name="login" /></td>
  58. </tr>
  59. <tr>
  60. <td colspan="2" id="CheckLogin"></td>
  61. </tr>
  62. <tr>
  63. <td class="Rejestracja">Adres E-mail</td>
  64. <td class="RejestracjaInput"><input tabindex="2" onblur="javascript: Check('check.php?new_mail=', 'CheckMail', 'MailForm');" id="MailForm" class="Rejestracja" type="text" name="mail" /></td>
  65. </tr>
  66. <tr>
  67. <td colspan="2" id="CheckMail"></td>
  68. </tr>
  69. <tr>
  70. <td class="Rejestracja">Hasło</td>
  71. <td class="RejestracjaInput"><input tabindex="3" onblur="javascript: Check('check.php?new_haslo=', 'CheckHaslo', 'HasloForm');" id="HasloForm" class="Rejestracja" type="password" name="pass" /></td>
  72. </tr>
  73. <tr>
  74. <td colspan="2" id="CheckHaslo"></td>
  75. </tr>
  76. <tr>
  77. <td class="Rejestracja">Powtórz Hasło</td>
  78. <td class="RejestracjaInput"><input name="pass_r" type="password" class="Rejestracja" id="Haslo_rForm" tabindex="4" onblur="javascript: CheckHaslo('check.php?new_haslo=', '&new_haslo_r=', 'CheckHaslo_r', 'HasloForm', 'Haslo_rForm');" /></td>
  79. </tr>
  80. <tr>
  81. <td colspan="2" id="CheckHaslo_r"></td>
  82. </tr>
  83. <tr>
  84. <td class="Rejestracja"><a href="regulamin.php">Zgadzam się z regulaminem</a></td>
  85. <td align="center" class="RejestracjaInput"><input tabindex="5" onclick="javascript: ShowHide('PokazReg');" type="checkbox" name="reg" checked="checked" value="yes" /></td>
  86. </tr>
  87. <tr>
  88. <td colspan="2" id="PokazReg" style="display: none;"><br />
  89. <font color="Red">Regulamin musi być zaakceptowany</font>
  90. </center>
  91. <br />
  92. <i> </i></td>
  93. </tr>
  94. <tr height="14">
  95. <td height="33" class="Rejestracja">Token</td>
  96. <td class="RejestracjaInput"><input tabindex="6" onblur="javascript: CheckHaslo('check.php?spr_token=', '&token_true=', 'CheckToken', 'tokenForm', 'token_r');" id="tokenForm" class="Rejestracja" type="text" name="token" /></td>
  97. <td>&nbsp;</td>
  98. </tr>
  99. <tr>
  100. <td class="Rejestracja"><input type="button" onclick="javascript: location.reload();" class="RejestracjaButton" value="Zmień" /></td>
  101. <td class="RejestracjaInput" id="token"><img src="token.php?token_s=200&token_w=20&token=<?=$token_true?>" /></td>
  102. </tr>
  103. <tr>
  104. <td colspan="2" id="CheckToken"></td>
  105. </tr>
  106. <tr>
  107. <td class="Rejestracja" colspan="2"><br />
  108. <input tabindex="7" class="RejestracjaSubmit" type="submit" value="Rejestruj" /></td>
  109. </tr>
  110. <tr>
  111. <td class="Rejestracja" colspan="2"><br />
  112. <input tabindex="8" class="RejestracjaSubmit" type="reset" value="Wyczyść" /> </td>
  113. </tr>
  114. <tr></tr>
  115. <tr></tr>
  116. <input type="hidden" name="token_true" value="<? echo $token_true; ?>" id="token_r">
  117. <input type="hidden" name="rejestracja" value="yes">
  118. </form>
  119. <?php }
  120. ?>
  121. </div>
  122. </td>
  123. </tr>
  124. <tr>
  125. <td colspan="4" valign="top"><img src="images/graty.jpg" width="420" height="112" /></td>
  126. </tr>
  127. <tr>
  128. <td colspan="4" valign="top">
  129. <map name="mapa">
  130. <area shape="rect" coords="192,87,228,137" href="<?php echo $link_szafka ?>">
  131. </map>
  132. <img src="images/szafka.jpg" width="420" height="652" usemap="#mapa" /> </td>
  133. </tr>
  134. </body>
  135. </html>
  136. <?php
  137. //echo 'Adres dokumentu to <b>http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'</b><br />';
  138. ?>


EarthCitizen Twoja poprawka nie pomogla sciana.gif licze na Wasza pomoc ;p
outsider
Nie zadziala md5($row['login']); poniewaz wywolujesz while($row = mysql_fetch_array($dane)) czyli najzwyzej musialo by to wygladac tak:

Kod
while($row = mysql_fetch_assoc($dane)) {


   if($login == md5($row['login']) AND $pass == md5($row['haslo']))
   {
     $_SESSION['login'] = md5($row['login']);
     $_SESSION['pass']  = md5($row['haslo']);
     $return            = true;
   }
 }
michu9010
napisalem logowanie nie co inaczej przy pomocy innych formularzy i uzyskalem cos takiego :
  1. <?php
  2. include 'config.php';
  3. if(isset($_SESSION['logged'])) {
  4. echo "Witam, ".$_SESSION['login'];
  5. }else{
  6.  
  7. if(isset($_POST['wyslij'])) {
  8.  
  9.  
  10.   if(mysql_num_rows(mysql_query("SELECT login, haslo
  11.   FROM users WHERE $login = '".$_POST['login']."'
  12.   && $haslo = '".$_POST['haslo']."' ")) > 0) {
  13.  
  14.  
  15.       if(mysql_num_rows(mysql_query("SELECT * FROM 'users'  WHERE login = '".$_POST['login']."'
  16.       && pass = '".$_POST['pass']."' ")) > 0 ) {
  17.  
  18.  
  19.           $_SESSION['logged'] = true;
  20.           $_SESSION['login'] = $_POST['login'];
  21.           $_SESSION['pass'] = $_POST['pass'];
  22.           echo "Jesteś zalogowany.";
  23.  
  24.  
  25.       } else {
  26.  
  27.   echo "Złe hasło, proszę spróbować ponownie";
  28. }
  29. } else {
  30.   echo "Nie ma takiego użytkownika";
  31. }
  32. } else {
  33.  
  34. ?>
  35. <form method='POST' action='login.php'>
  36. <b>nazwa uzytkownika:</b> <input type='text' name='login'><br>
  37. <b>haslo:</b> <input type='password' name='haslo'><br>
  38. <input type='submit' value='Wyślij' name='wyslij'>
  39. </form>    
  40.  
  41. <?php
  42. }
  43. }
  44. ?>

i jest blad
Kod

[/b]
[b]Warning[/b]:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in [b]c:\usr\apache\httpd\html\login.php[/b] on line [b]13

i nie wybiera usera i jego hasla taki mi sie wydaje blinksmiley.gif
pozdrawiam
erix
Daj po zapytaniu mysql_error" title="Zobacz w manualu PHP" target="_manual i sprawdź, co zwraca.
michu9010
a dokladnie w ktorym miejscu??
erix
Po felernym zapytaniu. Włącz myślenie.
michu9010
wiesz ja dopiero co zaczynam zabawe w php blinksmiley.gif i mogbys wpisac dokladnie gdzie to powinnno sie znajdowac??
dziekuje z gory snitch.gif
MateuszS
Chyba po tym
  1. <?php
  2. if(mysql_num_rows(mysql_query("SELECT login, haslo
  3.   FROM users WHERE $login = '".$_POST['login']."'
  4.   && $haslo = '".$_POST['haslo']."' ")) or die(mysql_error())
  5. ?>
michu9010
nic nie pomoglo przekszalcilem
  1. <?php
  2. include 'config.php';
  3. if(isset($_SESSION['logged'])) {
  4. echo "Witam, ".$_SESSION['login'];
  5. }else{
  6.  
  7. if(isset($_POST['wyslij'])) {
  8.  
  9.  
  10.   if(mysql_num_rows(mysql_query("SELECT login, haslo
  11.  FROM users WHERE $login = '".$_POST['login']."'
  12.  && $haslo = '".$_POST['haslo']."' ")) or die(mysql_error()));
  13.  
  14. if(mysql_num_rows(mysql_query("SELECT * FROM 'users'  WHERE login = '".$_POST['login']."'
  15.       && pass = '".$_POST['pass']."' ")) > 0 ) {
  16.  
  17.  
  18.           $_SESSION['logged'] = true;
  19.           $_SESSION['login'] = $_POST['login'];
  20.           $_SESSION['pass'] = $_POST['pass'];
  21.           echo "Jestes zalogowany.";
  22.  
  23.  
  24.       } else {
  25.  
  26.   echo "Zle haslo, prosze spróbowac ponownie";
  27. }
  28. } else {
  29.   echo "Nie ma takiego uzytkownika";
  30. }
  31. }
  32. else {
  33.  
  34. <form method='POST' action='login.php'>
  35. <b>nazwa uzytkownika:</b> <input type='text' name='login'><br>
  36. <b>haslo:</b> <input type='password' name='haslo'><br>
  37. <input type='submit' value='Wyslij' name='wyslij'>
  38. </form>    
  39. ";
  40. }
  41. }
  42. ?>

i blad w 33 lini niewiem z kad sie on tam wzial ;/
MateuszS
a no stąd że po if drugim nie wstawiłeś "{"
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.