![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 6.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Nie jestem pewien, czy zadaję to pytanie w odpowiednim dziale - chodzi o rejestrację użytkowników w serwisie. Mam napisany skrypt wraz z walidacją użytkownika (żeby nie powtarzały się maile i loginy) i niby wszystko jest ok, ale nie działa. Tzn. mogę się wielokrotnie rejestrować na ten sam mail i ten sam login. Poniżej przesyłam skrypt i jeśli jest ktoś w stanie pomóc, to będę bardzo wdzięczny. ![]() Kod <? session_start(); include "connect.php"; $result = mysql_query("SELECT * FROM sitesettings"); while($row = mysql_fetch_array($result)) $title = "".$row["domain"]." - Zarejestruj się"; include "header.php"; $usrv = 'Wprowadź nazwę użytkownika'; $usrt = 'Nazwa użytkownika zajęta'; $usri = 'Niedozwolone znaki'; $passv = 'Wprowadź hasło'; $passn = 'Wprowadzone hasła się nie zgadzają'; $emailv = 'Wprowadź prawidłowy adres e-mail'; $emailt = 'Podany adres został już użyty'; $name = strtolower($_POST['username-reg']); $namecheck = mysql_query("SELECT * FROM `username` WHERE username = '".mysql_real_escape_string('$name')."'") or die (mysql_error()); $r = mysql_numrows($namecheck); $ename = strtolower($_POST['email-reg']); $namecheck = mysql_query("SELECT * FROM `username` WHERE email = '".mysql_real_escape_string('$ename')."'") or die (mysql_error()); $e = mysql_numrows($namecheck); ?> <? function filename_safe($filename) { $temp = $filename; $temp = strtolower($temp); $temp = str_replace(" ", "_", $temp); $temp = str_replace("'", "", $temp); $temp = str_replace("+", "_", $temp); // Loop through string $result = ''; for ($i=0; $i<strlen($temp); $i++) { if (preg_match('([0-9]|[a-z]|_)', $temp[$i])) { $result = $result . $temp[$i]; } } // Return filename return $result; } ?> <? ob_start(); $pattern = "/^([a-zA-Z0-9_])+$/"; $usrn = $_POST['username-reg']; if(isset($_POST['register'])){ if(empty($_POST['username-reg']) || $r > 0 || $e > 0 || empty($_POST['password-reg']) || $_POST['passwordv-reg'] != $_POST['password-reg'] || $_POST['email-reg'] == "" || !preg_match($pattern,$usrn)){ }else{ $usname = strtolower($_POST['username-reg']); $uspass = $_POST['password-reg']; $uspassv = $_POST['passwordv-reg']; $emai = strtolower($_POST['email-reg']); $sr = "1"; $_SESSION['username-reg'] = $usname; $_SESSION['password-reg'] = $uspass; $_SESSION['passwordv-reg'] = $uspassv; $_SESSION['email-reg'] = $emai; $_SESSION['status'] = $sr; header( 'Location: verify.php' ); } }; ob_flush(); ?> <div class="art-Post"> <div class="art-Post-tl"></div> <div class="art-Post-tr"></div> <div class="art-Post-bl"></div> <div class="art-Post-br"></div> <div class="art-Post-tc"></div> <div class="art-Post-bc"></div> <div class="art-Post-cl"></div> <div class="art-Post-cr"></div> <div class="art-Post-cc"></div> <div class="art-Post-body"> <div class="art-Post-inner"> <div class="art-PostMetadataHeader"> <h2 class="art-PostHeaderIcon-wrapper"> <img src="images/PostHeaderIcon.png" width="32" height="32" alt="PostHeaderIcon" /> <span class="art-PostHeader">Rejestracja</span> </h2> </div> <div class="art-PostContent"><div class="cleared1"></div> <form action="" method="post" name="myform" id="myform"> <table width="100%" border="0" align="left" cellpadding="3" cellspacing="3" class="forms"> <tr> <td>Użytkownik</td> <td><? if(isset($_POST['register'])){ if(empty($_POST['username-reg'])){ ?> <span class="error"> <? echo $usrv;?> </span> <? } if(!empty($_POST['username-reg'])){ if(!preg_match($pattern, $usrn)){ ?> <span class="error"> <? echo $usri;?> </span> <? } if($r > 0){ ?> <span class="error"> <? echo $usrt;?> </span> <? } } }; ?> <input type="text" name="username-reg" class="textfield" id="u_empty" value="<? echo $_POST['username-reg']; echo $ur ?>" /> PS. Hosting mam na home.pl. :/ |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja tam nie widzę, żebyś gdziekolwiek w tym spaghetti blokował rejestrację przy zduplikowanym emailu.
-------------------- Google knows the answer...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 6.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ta część reaguje na inne errory (niezgadzające się hasła, niewłaściwy email, nieprawidłowe znaki), ale czy do powtarzających się loginów powinienem jeszcze coś dołożyć?
Kod <td>Użytkownik</td> <td><? if(isset($_POST['register'])){ if(empty($_POST['username-reg'])){ ?> <span class="error"> <? echo $usrv;?> </span> <? } if(!empty($_POST['username-reg'])){ if(!preg_match($pattern, $usrn)){ ?> <span class="error"> <? echo $usri;?> </span> <? } if($r > 0){ ?> <span class="error"> <? echo $usrt;?> </span> <? } } }; ?> <input type="text" name="username-reg" class="textfield" id="u_empty" value="<? echo $_POST['username-reg']; echo $ur ?>" /> Ja tam nie widzę, żebyś gdziekolwiek w tym spaghetti blokował rejestrację przy zduplikowanym emailu. Kod <td>Email</td> <td><? if(isset($_POST['register'])){ if($_POST['email-reg'] == "") { ?> <span class="error"> <? echo $emailv; ?> </span> <? } if($_POST['email-reg'] != ""){ if($e > 0){ ?> <span class="error"> <? echo $emailt; ?> </span> <? } } }; ?> <input type="text" name="email-reg" class="textfield" id="e_empty" value="<? echo $_POST['email-reg']; echo $em; ?>" /> (Wymagany właściwy adres w celu weryfikacji) </td> Nie wrzuciłem wszystkiego. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Zacznij proszę używać właściwe bbcode. Do kodu co tu masz używa się bbcode PHP
2) Zapoznaj się proszę z tematem i zastosuj do podanych tam wskazówek Temat: Jak poprawnie zada pytanie 3) Przenosze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:50 |