Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Rejestracja sprawdzanie!
Forum PHP.pl > Forum > Przedszkole
swajt
Siemaneczko jak zrobic zeby w loginie,email bylo mozna tylko dodawac znaki od a-z i 0-9 a takze w Gadu-Gadu bylo mozna dawac znaki od 0-9 bo kurde morduje sie i nic mi ztego nie wychodzi.Dam wam kod php.


register.php:

  1. <?php
  2. include 'config.php';
  3. ?>
  4.  
  5. <html>
  6. <head>
  7. <title>..:: Cs-Rekla ::..</title>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  9. <link rel="stylesheet" type="text/css" href="style.css">
  10. </head>
  11. <body>
  12. <div id="kontener">
  13. <div id="naglowek">
  14. <h1>Cs-Rekla !!</h1>
  15. </div>
  16. <div id="menu_gorne">
  17. <ul>
  18. <li><a href="index.php">Strona główna</a></li>
  19. <li><a href="cennik.php">Cennik</a></li>
  20. <li><a href="info.php">Informacje</a></li>
  21. <li><a href="kont.php">Kontakt</a></li>
  22. </ul>
  23. <div class="clear"></div>
  24. </div>
  25. <div id="menu_lewe">
  26. <h3>Menu główne</h3>
  27. <ul>
  28. <li><a href="index.php">Strona główna</a></li>
  29. <li><a href="cennik.php">Cennik</a></li>
  30. <li><a href="info.php">Informacje</a></li>
  31. <li><a href="kont.php">Kontakt</a></li>
  32. <h3>Panel użytkownika</h3>
  33. <ul>
  34. <li><a href="login.php">Logowanie</a></li>
  35. <li><a href="register.php">Rejestracja</a></li>
  36.  
  37. <br><br>
  38.  
  39. <?php
  40. $minuty=10;
  41.  
  42. $czas=time()+60*$minuty;
  43.  
  44. $bazaip = file("osoby.txt");
  45.  
  46. $ile=count($bazaip);
  47.  
  48. $ip = $_SERVER["REMOTE_ADDR"];
  49.  
  50. for ($i=0; $i < $ile; $i++) {
  51.  
  52. $pol = explode("`",$bazaip[$i]);
  53.  
  54. if ($pol[2] < time()) {$bazaip[$i]= "";}
  55.  
  56. if ($pol[1]==$ip) {
  57.  
  58. $bazaip[$i]="`$ip`$czas`\n"; $jest=1;
  59.  
  60. }
  61.  
  62. }
  63.  
  64. if ($jest<>1) $bazaip[]="`$ip`$czas`\n";
  65.  
  66. $f = fopen("osoby.txt","w");flock($f,2);
  67.  
  68. for ($i=0; $i < $ile+1; $i++) {
  69.  
  70. if ($bazaip[$i]<>"") { fwrite($f, $bazaip[$i]); $ileip++;}
  71.  
  72. }
  73.  
  74. flock($f,3); fclose($f);
  75. #FF0000
  76. echo "Osób on-line: <b>".$ileip."</b>! ";
  77.  
  78. ?>
  79. </div>
  80.  
  81. <div id="tresc">
  82.  
  83.  
  84.  
  85. <b>Panel Rejestracji</b>
  86.  
  87. <center>
  88.  
  89.  
  90. <?php
  91.  
  92. db_connect();
  93.  
  94. // sprawdzamy czy user nie jest przypadkiem zalogowany
  95. if(!$_SESSION['logged']) {
  96. // jeśli zostanie naciśnięty przycisk "Zarejestruj"
  97. if(isset($_POST['name'])) {
  98. // filtrujemy dane...
  99. $_POST['name'] = clear($_POST['name']);
  100. $_POST['password'] = clear($_POST['password']);
  101. $_POST['password2'] = clear($_POST['password2']);
  102. $_POST['email'] = clear($_POST['email']);
  103. $_POST['GG'] = clear($_POST['GG']);
  104.  
  105. // sprawdzamy czy wszystkie pola zostały wypełnione
  106. if(empty($_POST['name']) || empty($_POST['password']) || empty($_POST['password2']) || empty($_POST['email']) || empty($_POST['GG'] )) {
  107. echo '<p>Musisz wypełnić wszystkie pola.</p>';
  108. // sprawdzamy czy podane dwa hasła są takie same
  109. } elseif($_POST['password'] != $_POST['password2']) {
  110. echo '<p>Podane hasła różnią się od siebie.</p>';
  111. // sprawdzamy poprawność emaila
  112. } elseif(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
  113. echo '<p>Podany email jest nieprawidłowy.</p>';
  114. } else {
  115.  
  116.  
  117.  
  118.  
  119. // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email
  120. $result = mysql_query("SELECT Count(user_id) FROM `users` WHERE `user_name` = '{$_POST['name']}' OR `user_email` = '{$_POST['email']}'");
  121. $row = mysql_fetch_row($result);
  122. if($row[0] > 0) {
  123. echo '<p>Już istnieje użytkownik z takim loginem lub adresem e-mail.</p>';
  124. } else {
  125. // jeśli nie istnieje to kodujemy haslo...
  126. $_POST['password'] = codepass($_POST['password']);
  127. // i wykonujemy zapytanie na dodanie usera
  128. mysql_query("INSERT INTO `users` (`user_name`, `user_password`, `user_email`, `user_GG`, `user_regdate`) VALUES ('{$_POST['name']}', '{$_POST['password']}', '{$_POST['email']}', '{$_POST['GG']}', '".time()."')");
  129. echo '<p>Dzięki za rejestracje <span><font color="red">'.$name.'</font></span>, możesz się teraz <a href="login.php">zalogować</a>.</p>';
  130.  
  131. }
  132. }
  133. }
  134.  
  135. // wyświetlamy formularz
  136. echo '<form method="post" action="register.php">
  137. <p>
  138. Login:<br>
  139. <input type="text" value="'.$_POST['name'].'" name="name" required maxlength="30">
  140. </p>
  141. <p>
  142. Hasło:<br>
  143. <input type="password" value="'.$_POST['password'].'" name="password" required maxlength="30">
  144. </p>
  145. <p>
  146. <font color="red">*</font>Powtórz hasło:<br>
  147. <input type="password" value="'.$_POST['password2'].'" name="password2" required maxlength="30">
  148. </p>
  149. <p>
  150. E-mail:<br>
  151. <input type="text" value="'.$_POST['email'].'" name="email" required maxlength="20">
  152. </p>
  153. <p>
  154. Gadu-Gadu:<br>
  155. <input type="text" value="'.$_POST['GG'].'" name="GG" required maxlength="10">
  156. </p>
  157. <p>
  158. <input type="submit" value="Zarejestruj">
  159. </p>
  160. </form>';
  161. } else {
  162. echo '<p>Jesteś już zalogowany, więc nie możesz stworzyć nowego konta.</p>
  163. <p>[<a href="index.php">Powrót</a>]</p>';
  164. }
  165.  
  166. db_close();
  167. ?>
  168.  
  169.  
  170.  
  171. </center>
  172. </div>
  173. <div class="clear"></div>
  174. <div id="stopka">&copy; Cs-rekla.xaa.pl 2014</div>
  175. </div>
  176. </body>
  177. </html>
Pyton_000
od strony frontu możesz dać np:
http://www.webdesignerdepot.com/2012/10/re...ut-with-jquery/

od strony kodu preg_match z wykluczeniem dozwolonych znaków np:

Kod
$input = "oasiudhfw4onirunesasd";
$pr = preg_match('/([^\w\d]+)/', $input, $match);

var_dump($input, $pr, $match);
swajt
czyli jak mam to zrobic bo zbytnio niewiem sad.gif
Turson
http://www.w3schools.com/tags/att_input_pattern.asp

Dostałeś wyżej gotowca...
swajt
Jak mam tak to trzeba 5 znakow napisac a ja chce np.zeby od 5 minimum do 20 i od a-z +cyfry a w gg chce od 8 do 10 i same cyfry.


  1. // wyświetlamy formularz
  2. echo '<form method="post" action="register.php">
  3. <p>
  4. Login:<br>
  5. <input type="text" value="'.$_POST['name'].'" name="name" pattern="[A-Za-z]{5}" title="Nick może składać się z minimum 5 znaków" required maxlength="20">
  6. </p>
  7. <p>
  8. Hasło:<br>
  9. <input type="password" value="'.$_POST['password'].'" name="password" required maxlength="30">
  10. </p>
  11. <p>
  12. <font color="red">*</font>Powtórz hasło:<br>
  13. <input type="password" value="'.$_POST['password2'].'" name="password2" required maxlength="30">
  14. </p>
  15. <p>
  16. E-mail:<br>
  17. <input type="text" value="'.$_POST['email'].'" name="email" required maxlength="20">
  18. </p>
  19. <p>
  20. Gadu-Gadu:<br>
  21. <input type="text" value="'.$_POST['GG'].'" name="GG" pattern="[A-Za-z]{8}" title="Nick może składać się z minimum 8 znaków" required maxlength="10">
  22. </p>
  23. <p>
  24. <input type="submit" value="Zarejestruj">
  25. </p>
  26. </form>';
  27. } else {
Turson
pattern="[A-Za-z]{5,20}
swajt
Ok thx zapomniales dodac " na koniec.Dobra a teraz jak zrobic z Gadu-Gadu zeby wpisywalo sie same cyfry bez abcdfg... itp tylko same 0,1,2,3,4,5,6,7,8,9,
markuz
[0-9]
kujol
Załatw to wyrażeniem regularnym

pl.wikibooks.org/wiki/PHP/Podstawy_wyrażeń_regularnych
swajt
Wielkie Dzieki all snitch.gif


tak zrobilem i gitara:

  1. // wyświetlamy formularz
  2. echo '<form method="post" action="register.php">
  3. <p>
  4. Login:<br>
  5. <input type="text" value="'.$_POST['name'].'" name="name" pattern="[A-Za-z-0-9]{5,20}" title="Login może składać się z minimum 5 znaków" required maxlength="20">
  6. </p>
  7. <p>
  8. Hasło:<br>
  9. <input type="password" value="'.$_POST['password'].'" name="password" required maxlength="30">
  10. </p>
  11. <p>
  12. <font color="red">*</font>Powtórz hasło:<br>
  13. <input type="password" value="'.$_POST['password2'].'" name="password2" required maxlength="30">
  14. </p>
  15. <p>
  16. E-mail:<br>
  17. <input type="text" value="'.$_POST['email'].'" name="email" pattern="[@-.-A-Za-z-0-9]{5,20}" title="np. kowalski@poczta.pl" required maxlength="20">
  18. </p>
  19. <p>
  20. Gadu-Gadu:<br>
  21. <input type="text" value="'.$_POST['GG'].'" name="GG" pattern="[0-9]{8,10}" title="Gadu-Gadu może składać się z minimum 8 znaków" required maxlength="10">
  22. </p>
  23. <p>
  24. <input type="submit" value="Zarejestruj">
  25. </p>
  26. </form>';
  27. } else {
Turson
zamiast
  1. <input type="text" value="'.$_POST['email'].'" name="email" pattern="[@-.-A-Za-z-0-9]{5,20}" title="np. kowalski@poczta.pl" required maxlength="20">

wystarczy
<input type="email" value="'.$_POST['email'].'" name="email" title="np. kowalski@poczta.pl" required maxlength="20">
swajt
ooo wielkie dzieki ziomek zapomnialem tego wykasowac bo wczesniej sobie juz dalem sprawdzenie emaila:

  1. //Sprawdzanie poprawnosci email
  2. function checkEmail($email) {
  3. if (!preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/" , $email)) {
  4. return false;
  5. }
  6. return true;
  7. }



zara zaloze nowy temat bo chce cos jeszcze dodac tylko nie wiem jak znowu tongue.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.