Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Formularz
Forum PHP.pl > Forum > Przedszkole
ArekJ
Wita,
zrobiłem formularz rejestracji i mam dwa pytania.
1. Jak skonstruować instrukcję if, żeby mi sprawdzała czy pola login i login2 haslo i haslo2 email i email2 sa takie same?
2. Czy jeżeli pola login2, haslo2 i email2 nie są dodawane do bazy(nie ma ich w zapytaniu) to czy też mam je filtrować?

Kod formularza:

  1. <?php
  2.  
  3.    include 'konfiguracja.php';
  4.    include 'common.php';
  5.    include 'funkcje/wemail.php';
  6.  
  7.    if(!isset($_POST['wyslano'])):
  8.    
  9.    ?>
  10.  
  11.    <HTML>
  12.    <HEAD>
  13.    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  14.    <TITLE>Rejestracja</TITLE>
  15.    </HEAD>
  16.    <BODY>
  17.  
  18.    <H3>Rejestracja</H3>
  19.    <P><FONT color="orangered" size="+1"><TT><B>*</B></TT></FONT> pola wymagane</P>
  20.  
  21.    <form action="rejestracja.php" method="post">
  22.    <TABLE border="0" cellpadding="0" cellspacing="5">
  23.    <TR>
  24.    <TD align="right">Login:</TD>
  25.    <TD>
  26.    <INPUT name="login" type="text" maxlength="100" size="25">
  27.    <FONT color="orangered" size="+1"><TT><B>*</B></TT></FONT>
  28.    </TD>
  29.    <TD align="right">Powtórz login:</TD>
  30.    <TD>
  31.    <INPUT name="login2" type="text" maxlength="100" size="25">
  32.    <FONT color="orangered" size="+1"><TT><B>*</B></TT></FONT>
  33.    </TD>
  34.    </TR>
  35.    <TR>
  36.    <TD align="right">Hasło:</TD>
  37.    <TD>
  38.    <INPUT name="haslo" type="password" maxlength="100" size="25">
  39.    <FONT color="orangered" size="+1"><TT><B>*</B></TT></FONT>
  40.    <TD align="right">Powtórz hasło:</TD>
  41.    <TD>
  42.    <INPUT name="haslo2" type="password" maxlength="100" size="25">
  43.    <FONT color="orangered" size="+1"><TT><B>*</B></TT></FONT>
  44.    </TD>
  45.    </TD>
  46.    </TR>
  47.    <TR>
  48.    <TD align="right">E-mail:</TD>
  49.    <TD>
  50.    <INPUT name="email" type="text" maxlength="100" size="25">
  51.    <FONT color="orangered" size="+1"><TT><B>*</B></TT></FONT>
  52.    </TD>
  53.    <TD align="right">Powtórz e-mail:</TD>
  54.    <TD>
  55.    <INPUT name="email2" type="text" maxlength="100" size="25">
  56.    <FONT color="orangered" size="+1"><TT><B>*</B></TT></FONT>
  57.    </TD>
  58.    </TR>
  59.    <TR>
  60.    <TD align="center" colspan="2">
  61.    <INPUT type="reset" value="Kasuj">
  62.    <INPUT type="submit" name="wyslano" value="Zarejestruj">
  63.    </TD>
  64.    </TR>
  65.    </TABLE>
  66.    </FORM>
  67.    </BODY>
  68.    </HTML>
  69.  
  70.    <?
  71.    else:
  72.        
  73. $login = htmlspecialchars(strip_tags($_POST['login']));
  74. $haslo = htmlspecialchars(strip_tags(md5($_POST['haslo'])));
  75. $email = htmlspecialchars(strip_tags($_POST['email']));
  76.  
  77.  if (!check_email($_POST['email']) || $_POST['login']=='' || $_POST['haslo']=='' || $_POST['email']=='') {
  78.  
  79.      error('Błąd podczas wypełniania formularzu! Popraw go i spróbuj ponownie. Możliwe błędy:    \n'.'-puste pole,\n'.'-błędny e-mail.');
  80.  
  81.  }
  82.  
  83.  
  84.  $sql = 'SELECT COUNT(*) FROM uzytkownik WHERE login = "'.mysql_real_escape_string($login).'"';
  85. $sql = 'SELECT COUNT(*) FROM uzytkownik WHERE login = "'.mysql_real_escape_string($haslo).'"';
  86.  $sql = 'SELECT COUNT(*) FROM uzytkownik WHERE login = "'.mysql_real_escape_string($email).'"';
  87.  
  88.  
  89.  $result = mysql_query($sql);
  90.  
  91.      if (!$result) {
  92.  
  93.          error('Błąd w zapytaniu SQL');
  94.  
  95.      }
  96.  
  97.      if (@mysql_result($result,0,0)>0) {
  98.          error('Wybrany login jest zajęty. \n'.
  99.          'Proszę wpisać inny login. ');
  100.      }
  101.  
  102.  
  103.      $sql = 'INSERT INTO uzytkownik SET login = "'.mysql_real_escape_string($login).'", haslo = md5("'.$_POST['haslo'].'"), email = "'.mysql_real_escape_string($email).'"';
  104.  
  105.          if (!mysql_query($sql)) error('Błąd w zapytaniu SQL');
  106.  
  107.          echo('<HTML>
  108.              <HEAD>
  109.              <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  110.              <TITLE>Rejestracja zakończona</TITLE>
  111.              <STYLE type=\"text/css\">
  112.              <!--
  113.              BODY, { fo: 8pt; font-famil: Verdana, Arial; text-decoratio: none }
  114.              -->
  115.              </STYLE>
  116.              </HEAD>
  117.              <BODY>
  118.              <P><B>Rejestracja zakończona pomyślnie!</B></P>
  119.                <P>Login: <B>'.$_POST['login'].'</B><br />
  120.                Hasło: <B>'.$_POST['haslo'].'</B></P><br /><br /><br /><br /><br /><br /><br />
  121.          ');
  122.    endif
  123.    ?>


Pozdrawiam,
ArekJ
lwc
1. Tutaj taki przykładowy kod.

  1. <?php
  2. if($_POST['login'] == $_POST['login2'] && $_POST['haslo'] == $_POST['haslo2'] && $_POST['email'] == $_POST['email2'])
  3. {
  4.    echo 'Dalej...';
  5. }
  6. ?>


2. Według mnie warto byłoby przefiltrować je za pomocą strip_tags, addslashes czy htmlspecialchars.
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.