Loading:

Promocja Helion.pl

Skrypt rejestracji PHP

Witam, to mój pierwszy artykuł wiec proszę o wyrozumiałość. Laughing

W naszej bazie muszą znajdować się kolumny z nazwą :

id (int(11), auto_increment, PRIMARY_KEY)

nick (varchar(32))

email (varchar(32))

haslo (varchar(32))

Po komentarzu "//kilka sprawdzeń co do nicku i maila" oraz na końcu skryptu tam gdzie pisze nazwa_tabeli należy wstawić nazwę tabeli gdzie ma zostać zarejestrowany użytkownik.



Napisz Artykuł

Listing

<?PHP

echo '<form method="post" action="ranking.php?akcja=wykonaj">

<table><tr>
<td>Nazwa : </td><td><input type="text" name="nick" /></td></tr><br>
<tr><td>Hasło : </td><td><input type="password" name="haslo" /></td></tr><br>
<tr><td>Powtórz hasło : </td><td><input type="password" name="vhaslo" /></td></tr><br>
<tr><td>Email : </td><td><input type="text" name="email" /></td></tr><br>
<tr><td>Powtórz email : </td><td><input type="text" name="vemail" /></td></tr><br>

<tr><td></td><td><input type="submit" value="Zarejestruj"></td></tr></table>
</form> '
;

$akcja = $_GET['akcja'];
    if ($akcja == wykonaj) {
$nick = substr(addslashes(htmlspecialchars($_POST['nick'])),0,32);
$haslo = substr(addslashes($_POST['haslo']),0,32);
$vhaslo = substr($_POST['vhaslo'],0,32);
$email = substr($_POST['email'],0,32);
$vemail = substr($_POST['vemail'],0,32);
$nick = trim($nick);
//
$nick = substr(addslashes(htmlspecialchars($_POST['nick'])),0,32);
$haslo = substr(addslashes($_POST['haslo']),0,32);
$vhaslo = substr($_POST['vhaslo'],0,32);
$email = substr($_POST['email'],0,32);
$vemail = substr($_POST['vemail'],0,32);
$nick = trim($nick);
//kilka sprawdzen co do nicku i maila
$spr1 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM nazwa_tabeli WHERE nick='$nick' LIMIT 1")); //czy user o takim nicku istnieje
$spr2 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM nazwa_tabeli WHERE email='$email' LIMIT 1")); // czy user o takim emailu istnieje
$pos = strpos($email, "@");
$pos2 = strpos($email, ".");
$emailx = explode("@", $email);
if ($emailx[1] == 'o2.pl') {
$emailx1 = $emailx[0].'@go2.pl';
$emailx2 = $emailx[0].'@tlen.pl';
$spr3 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM nazwa_tabeli WHERE email='$emailx1' OR `email`='$emailx2' LIMIT 1"));
}elseif ($emailx[1] == 'go2.pl') {
$emailx1 = $emailx[0].'@o2.pl';
$emailx2 = $emailx[0].'@tlen.pl';
$spr3 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM nazwa_tabeli WHERE email='$emailx1' OR `email`='$emailx2' LIMIT 1"));
}elseif ($emailx[1] == 'tlen.pl') {
$emailx1 = $emailx[0].'@go2.pl';
$emailx2 = $emailx[0].'@o2.pl';
$spr3 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM nazwa_tabeli WHERE email='$emailx1' OR `email`='$emailx2' LIMIT 1"));
}
$komunikaty = '';
$spr4 = strlen($nick);
$spr5 = strlen($haslo);
//sprawdzenie co uzytkownik zle zrobil
if (!$nick || !$email || !$haslo || !$vhaslo || !$vemail ) {
$komunikaty .= "<font size='3'>Musisz wypelnic wszystkie pola!</font><br>"; }
if ($spr4 < 3) {
$komunikaty .= "<font size='3'>Login musi mieć przynajmniej 3 znaki</font><br>"; }
if ($spr5 < 4) {
$komunikaty .= "<font size='3'>Hasło musi mieć przynajmniej 4 znaki</font><br>"; }
if ($spr1[0] >= 1) {
$komunikaty .= "<font size='3'>Ten login jest zajęty!</font><br>"; }
if ($spr2[0] >= 1) {
$komunikaty .= "<font size='3'>Ten e-mail jest już używany!</font><br>"; }
if ($email != $vemail) {
$komunikaty .= "<font size='3'>E-maile się nie zgadzają ...</font><br>";}
if ($haslo != $vhaslo) {
$komunikaty .= "<font size='3'>Hasła się nie zgadzają ...</font><br>";}
if ($pos == false OR $pos2 == false) {
$komunikaty .= "<font size='3'>Nieprawidłowy adres e-mail</font><br>"; }
if ($spr3[0] >= 1) {
$komunikaty .= "<font size='3'>Nie można zarejestrować kilku kont na jedną poczte o2.</font><br>"; }

//jesli cos jest nie tak to blokuje rejestracje i wyswietla bledy
if ($komunikaty) {
echo '
<font size="3"><br><br>Popraw blędy :<br>
'
.$komunikaty.'<br>';
} else {
//jesli wszystko jest ok dodaje użytkownika i wyswietla informacje
$nick = str_replace ( ' ','', $nick );

mysql_query("INSERT INTO `nazwa_tabeli` (nick, haslo, email)
VALUES('$nick','$haslo','$email')"
) or die("Nie mogłem Cię zarejestrować!");

echo '<br><font size="3">Zostałeś zarejestrowany jako '.$nick.'.<br> Teraz możesz się zalogować. </font>';
}
}

?>


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=12673

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: zorg Ranga: Poziom 3 Punktów: 50
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors