Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: [php][mysql]rejestracja sprawdzanie czy email ju¿ istnieje ju¿ w bazie
Forum PHP.pl > Forum > Przedszkole
jacus24
Mam taki kod rejestracji. Jak zrobiæ ¿eby sprawdza³o czy dany email ju¿ istanieje i wy¶wietla³o info o tym?
  1. <?php
  2.  if (isset($_POST['submit']) ) {
  3.  if ($_POST['login'] != "" &&
  4.  $_POST['haslo'] != "" &&
  5.  $_POST['haslo_2'] == $_POST['haslo'] &&
  6.  $_POST['regulamin'] != "" &&
  7.  $_POST['email'] !== "" ) {
  8. $query = "SELECT login, haslo FROM uzytkownicy WHERE login = '".$_POST['login']."' ";
  9. $result = mysql_query($query) or die(mysql_error());
  10.  
  11. if (mysql_num_rows($result) != 0) {
  12. Nazwa u¿ytkownika<?php echo $_POST['login']; ?>jest ju¿ u¿ywana.
  13. <form action="rej.php" method="post">
  14. login<input type="text" name="login" size="20" maxlength="40">
  15. has³o<input type="password" name="haslo" size="20" maxlength="40">
  16. haslo2<input type="password" name="haslo_2" size="20" maxlength="40" >
  17. email<input type="text" name="email" size="20" maxlength="40" >
  18. <input type="submit" name="submit" value="Zarejestruj" >
  19. <?php
  20.  } else {
  21.  $query = "INSERT INTO `uzytkownicy` (login, haslo, haslo_2, email, today)
  22.  VALUES (
  23. '".$_POST['login']."',
  24. '".$_POST['haslo']."',
  25. '".$_POST['haslo_2']."',
  26. '".$_POST['email']."',
  27.  '".date("Y-m-d")."'
  28.  );";
  29.  
  30. if(mysql_query($query) == 1)
  31. {
  32. echo '';
  33. }
  34. else
  35. {
  36. }
  37. $_SESSION['user_logged'] = $_POST['login'];
  38. $_SESSION['user_password'] = $_POST['haslo'];
  39. ?>
  40. <?php
  41. header("Refresh: 5: URL=index.php");
  42. echo "Zakonczono proces rejestracji! " .
  43.  "Zostaniesz przeniesiony do oryginalnej strony!<br>";
  44. echo "(Jesli przegladarka nie obsluguje przekierowan, " .
  45.  "<a href=\"index.php\">kliknij tutaj</a>)";
  46. die();
  47. }
  48. } else {
  49. ?>
  50. <form action="rej.php" method="post">
  51. login<input type="text" name="login" size="20" maxlength="40">
  52. has³o<input type="password" name="haslo" size="20" maxlength="40">
  53. haslo2<input type="password" name="haslo_2" size="20" maxlength="40" >
  54. email<input type="text" name="email" size="20" maxlength="40" >
  55. <input type="submit" name="submit" value="Zarejestruj" >
  56. <?php
  57.  }
  58. } else {
  59.  
  60. ?>
  61. <form action="rej.php" method="post">
  62. login<input type="text" name="login" size="20" maxlength="40">
  63. has³o<input type="password" name="haslo" size="20" maxlength="40">
  64. haslo2<input type="password" name="haslo_2" size="20" maxlength="40" >
  65. email<input type="text" name="email" size="20" maxlength="40" >
  66. <input type="submit" name="submit" value="Zarejestruj" >
  67. <?php
  68.  
  69. } {
  70.  
  71. if ($_POST['haslo_2'] != $_POST['haslo'])
  72.  echo '<p align="center"><font color="red">Podane has³a s± rózne</font></p>';
  73.  
  74. }
  75. ?>
Mlodycompany
Dodaj warunek, ¿e je¿eli w tabeli w polu np. MAIL jest mail z formularza to daje error biggrin.gif
marcio
Robisz to tak podam tylko fragmen kodu:
  1. <?php
  2. $query = "SELECT * FROM uzytkownicy WHERE login = '".mysql_real_escape_string($_POST['login'])."' "; // tu dodalem ci filtracje ale reszte zmienncyh tez
  3. $result = mysql_query($query) or die(mysql_error());
  4.  
  5. while($dane = mysql_fetch_assoc($result)) {
  6.  
  7.  if($dane['kolumna_z_email'] == $_POST['email']) { 
  8. echo('Taki email juz istnieje');
  9.  exit;
  10.  }
  11. }
  12. ?>

Mniej wiecej cos takiego
Sadu2
A może tak:

  1. <?php
  2. if(mysql_num_rows(mysql_query("SELECT* FROM uzytkownicy WHERE email='$_POST['email']'"))!= 0)
  3. {
  4. $blad= "Już istnieje taki email";
  5. echo $blad;
  6. }
  7. ?>


Coś w tym stylu?
Trobin
Widziałem, że kolega ~jacus24 używał oddzielnych warunków dla każdego przypadku, więc rozsądniej byłoby chyba robić nie
  1. SELECT *
tylko
  1. SELECT login/pass/etc.
marcio
A co to za roznica??Ze kod bedzie dzialac o 0,00000001s szybciej???Zreszta nie wiedziac jak nazywaja sie kolumny dalem *
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.