ďťż
Podstrony
|
telcocafezrobiłem sobie taką strone w php do rejestracji:<script language="javascript" type="text/javascript"> function submitbutton() { var form = document.register; var r = new RegExp("[^A-Za-z0-9]", "i"); // do field validation if (form.name.value == "") { alert( "Proszę podać imię." ); } else if (form.nick.value == "") { alert( "Proszę podać login." ); } else if (r.exec(form.nick.value) || form.nick.value.length < 3) { alert( "Proszę poprawnie podać Login:. Bez spacji, więcej niż 2 znaków zawieraj±cych się w 0-9, a-z, A-Z" ); } else if (form.email.value == "" ) { alert( "Proszę podać poprawny adres e-mail." ); } else if (form.pass.value.length < 6) { alert( "Proszę podać poprawne hasło. Bez spacji, więcej niż 6 znaków zawieraj±cych się w 0-9, a-z, A-Z" ); } else if (form.pass2.value == "") { alert( "Proszę powtórzyć hasło." ); } else if ((form.pass.value != "") && (form.pass2.value != form.pass2.value)){ alert( "Hasło i jego powtórzenie s± różne, spróbuj ponownie." ); } else if (r.exec(form.pass.value)) { alert( "Proszę poprawnie podać Hasło:. Bez spacji, więcej niż 6 znaków zawieraj±cych się w 0-9, a-z, A-Z" ); } } </script> <? echo '<center>'; echo 'Rejestracja nowego użytkownika'; echo '<br><br>'; echo ("<form name=\"register\" method=\"post\" action=\"register.php\">"); print("Imie:<input name=\"name\" type=\"text\">"); echo '<br>'; print("Login: <input name=\"nick\" type=\"text\">"); echo '<br>'; print("Hasło: <input name=\"pass\" type=\"password\">"); echo '<br>'; print("Hasło (powtórz): <input name=\"pass2\" type=\"password\">"); echo '<br>'; print("Email: <input name=\"email\" type=\"text\">"); echo '<br>'; print("<input type=\"submit\" value=\"Wyślij\" onclick=\"submitbutton()\">"); echo ' '; print("<input type=\"reset\" value=\"Wyczyść\">"); ?> test: pokazuje mi sie przykladowo okienko "Proszę podać imię" ale jak naciskam Ok to skrypt wykonuje sie dalej tzn odrazu wysyła informacje do register.php a ja chce zeby po nacisnieciu na ok miało sie mozliwosc poprawy formularza prosze o szybką pomoc ;) może tak: <form onsubmit="return submitbutton()" ... submitbutton() trzeba by przerobić, żeby zwracała true jeśli ok, lub false jeśli nie. Poza tym sprawdzanie w JS jest bez sensu i nie daje prawie żadnego zabezpieczenia :) może tak: <form onsubmit="return submitbutton()" ... submitbutton() trzeba by przerobić, żeby zwracała true jeśli ok, lub false jeśli nie. Poza tym sprawdzanie w JS jest bez sensu i nie daje prawie żadnego zabezpieczenia :) hmmm wkleiłem to ale teraz pojawia mi sie tak: Prosze podac imie -> ok -> prosze podac imie -> ok -> wykonuje sie skrypt :/ albo moze przerobisz mi cały skrypt zeby sprawdzał poprawność danych w php: registerform: <script language="javascript" type="text/javascript"> function submitbutton() { var form = document.register; var r = new RegExp("[^A-Za-z0-9]", "i"); // do field validation if (form.name.value == "") { alert( "Proszę podać imię." ); } else if (form.nick.value == "") { alert( "Proszę podać login." ); } else if (r.exec(form.nick.value) || form.nick.value.length < 3) { alert( "Proszę poprawnie podać Login:. Bez spacji, więcej niż 2 znaków zawieraj±cych się w 0-9, a-z, A-Z" ); } else if (form.email.value == "" ) { alert( "Proszę podać poprawny adres e-mail." ); } else if (form.pass.value.length < 6) { alert( "Proszę podać poprawne hasło. Bez spacji, więcej niż 6 znaków zawieraj±cych się w 0-9, a-z, A-Z" ); } else if (form.pass2.value == "") { alert( "Proszę powtórzyć hasło." ); } else if ((form.pass.value != "") && (form.pass2.value != form.pass2.value)){ alert( "Hasło i jego powtórzenie s± różne, spróbuj ponownie." ); } else if (r.exec(form.pass.value)) { alert( "Proszę poprawnie podać Hasło:. Bez spacji, więcej niż 6 znaków zawieraj±cych się w 0-9, a-z, A-Z" ); } } </script> <? echo '<center>'; echo 'Rejestracja nowego użytkownika'; echo '<br><br>'; echo ("<form name=\"register\" onsubmit=\"return submitbutton()\" method=\"post\" action=\"register.php\">"); print("Imie:<input name=\"name\" type=\"text\">"); echo '<br>'; print("Login: <input name=\"nick\" type=\"text\">"); echo '<br>'; print("Hasło: <input name=\"pass\" type=\"password\">"); echo '<br>'; print("Hasło (powtórz): <input name=\"pass2\" type=\"password\">"); echo '<br>'; print("Email: <input name=\"email\" type=\"text\">"); echo '<br>'; print("<input type=\"submit\" value=\"Wyślij\" onclick=\"submitbutton()\">"); echo ' '; print("<input type=\"reset\" value=\"Wyczyść\">"); ?> register.php <?php $imie = $_POST['name']; $nick = $_POST['nick']; $pass = $_POST['pass']; $pass2 = $_POST['pass2']; $email = $_POST['email']; $admin = 0; if ($pass == $pass2) { require 'config_db.php'; $result = mysql_query('INSERT INTO `auth` ( `imie` , `nick` , `pass` , `email` , `admin` ) ' . ' VALUES ( \'' . $imie . '\', \'' . $nick . '\', \'' . $pass . '\', \'' . $email . '\', \'' . $admin . '\');' . ' ') or die("Problem z baza danych - użytkownik nie został dodany: " . mysql_error()); echo '<HTML><BODY>'; echo '<CENTER>'; if ($result == TRUE) { echo 'Dodano nowego użytkownika<BR>'; } print("<a href=\"index.php\">Powrót</a>"); echo '</CENTER>'; echo '</BODY></HTML>'; } else { echo "Podane hasła są różne!"; } ?> Użytkownik PiKey edytował ten post 16 wrzesień 2006, 10:51 Mówiełem, że dorobic zwracanie true/false do funkcji. p.s. Takie długie kody źródłowe wklejaj w CODEBOX, bo mi sie kółko od myszki zjedzie ;) Użytkownik .:dR@kE:. edytował ten post 16 wrzesień 2006, 10:55 Mówiełem, że dorobic zwracanie true/false do funkcji. p.s. Takie długie kody źródłowe wklejaj w CODEBOX, bo mi sie kółko od myszki zjedzie ;) w takim razie wez to wklej mi do kodu bo nie moge sie polapac ;) w takim razie wez to wklej mi do kodu bo nie moge sie polapac ;) if (form.name.value == "") { alert( "Proszę podać imię." ); return false } ... else return true; w takim razie wez to wklej mi do kodu bo nie moge sie polapac ;) Dam ci mój gotowy kodzik [b]w hedad [/b] <script language="javascript" type="text/javascript"> <!-- function testuj(f) { // pola text if (f.imie.value.length<1) { alert("Podaj swoje imie lub nick"); return false; } if (f.email.value.length<1) { alert("Podaj twój adres email"); return false; } //textarea if (f.aa.value.length<1) { alert("Napisz swoją opinię"); return false; } return true; } // --> </script> [b]A tu przykladowy formularz[/b] <form action="jakis.php" method="post" onsubmit="return testuj(this)";> <p><b>Podaj swój nick lub imie</b></p> <input name="imie"> <p><b>Podaj swój adres email</b></p> <input name="email"> <p><b>Twoja Opinia</b></p> <textarea name="aa" ROWS="10" cols="50"></textarea><br><br> <input type="submit" name="wyslij" value="Wyślij"><br><br> </form> Dam ci mój gotowy kodzik Pfff... ale kodzik... według niego poprawny email to wpisanie jakiegokolwiek jednego znaku. Obadaj też #11 i #22: http://forum.ks-eksp...showtopic=83272 tak będzie dobrze. teraz wszystko zadziała. zakładjąc oczywiście że ktoś ma włączoną obsługę skryptów ;) <script language="javascript" type="text/javascript"> function submitbutton() { var form = document.register; var r = new RegExp("[^A-Za-z0-9]", "i"); if (form.name.value == "") { alert( "Proszę podać imię." ); return false; } else if (form.nick.value == "") { alert( "Proszę podać login." ); return false; } else if (r.exec(form.nick.value) || form.nick.value.length < 3) { alert( "Proszę poprawnie podać Login:. Bez spacji, więcej niż 2 znaków zawieraj±cych się w 0-9, a-z, A-Z" ); return false; } else if (form.email.value == "" ) { alert( "Proszę podać poprawny adres e-mail." ); return false; } else if (form.pass.value.length < 6) { alert( "Proszę podać poprawne hasło. Bez spacji, więcej niż 6 znaków zawieraj±cych się w 0-9, a-z, A-Z" ); return false; } else if (form.pass2.value == "") { alert( "Proszę powtórzyć hasło." ); return false; } else if ((form.pass.value != "") && (form.pass2.value != form.pass2.value)){ alert( "Hasło i jego powtórzenie s± różne, spróbuj ponownie." ); return false; } else if (r.exec(form.pass.value)) { alert( "Proszę poprawnie podać Hasło:. Bez spacji, więcej niż 6 znaków zawieraj±cych się w 0-9, a-z, A-Z" ); return false; } register.submit(); } </script> <? echo '<center>'; echo 'Rejestracja nowego użytkownika'; echo '<br><br>'; echo ("<form name=\"register\" method=\"post\" action=\"register.php\">"); ... echo '<br>'; print("<input type=\"button\" value=\"Wyślij\" onclick=\"submitbutton()\">"); Pfff... ale kodzik... według niego poprawny email to wpisanie jakiegokolwiek jednego znaku. Słusznie zauważyłeś. Już się poprawiam (wezmę coś z tego forum) [b]w head[/b] <script language="javascript" type="text/javascript"> <!-- function testuj(f) { // pola text if (f.email.value.length<1) { alert("Podaj twój adres email"); return false; } if (f.temat.value.length<1) { alert("Podaj temat listu"); return false; } //textarea if (f.tresc.value.length<1) { alert("Napisz swoją opinię"); return false; } // test poprawnosci emaila wyr_reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\ .\w{2,3})+$/; if (wyr_reg.test(f.email.value)); else { alert("Błędnie wpisałeś email"); return false; }; return true; } // --> </script> [b]Przykladowy formularz[/b] <form action="poczta.php" method="post" onsubmit="return testuj(this)";> <p><b>Twój adres Email</b></p> <input name="email"><br> <p><b>Temat Listu</b></p> <input name="temat"><br> <p><b>Treść</b></p> <textarea name="tresc" ROWS="10" cols="50"></textarea><br><br> <input type="SUBMIT" value="Wyślij"> </form> |
|||
Sitedesign by AltusUmbrae. |