10/10/2018, 10:03

Kiểm tra Form đăng ký kết hợp php và javascript

Mình muốn tạo form đăng ký sử dụng cả javascript và php luôn. javascript thì kiểm tra username(phải >5 kí tự), password (>6, password lập lại phải trùng password ban đầu, và cuối cùng là kiểm tra email. Có thêm nút kiểm tra, khi bấm vào đó thì javascript kiểm tra. Ngoài ra, có thêm 1 nút gửi thông tin đi(khi javascript ktr ko có lỗi nút này mới enable), khi bấm vào nút này thì php sẽ kiểm tra username và email đó có trùng với username trong CSDL ko? Nếu trùng thì hiện lên thông báo lỗi tiếp, nếu ok thì ghi vào CSDL và hiện lên thông báo đã tạo xong. Mình mới học web nên còn gà lắm. Bạn nào biết chỉ mình với. Mình cảm ơn!
loveslope viết 12:17 ngày 10/10/2018
trong php có thể chèn thêm html nên chỉ cần chèn html trong php rồi dùng java script kiểm tra là ok. Chúc thành công
bka viết 12:19 ngày 10/10/2018
Được gửi bởi dohoangthien
Mình muốn tạo form đăng ký sử dụng cả javascript và php luôn. javascript thì kiểm tra username(phải >5 kí tự), password (>6, password lập lại phải trùng password ban đầu, và cuối cùng là kiểm tra email. Có thêm nút kiểm tra, khi bấm vào đó thì javascript kiểm tra. Ngoài ra, có thêm 1 nút gửi thông tin đi(khi javascript ktr ko có lỗi nút này mới enable), khi bấm vào nút này thì php sẽ kiểm tra username và email đó có trùng với username trong CSDL ko? Nếu trùng thì hiện lên thông báo lỗi tiếp, nếu ok thì ghi vào CSDL và hiện lên thông báo đã tạo xong. Mình mới học web nên còn gà lắm. Bạn nào biết chỉ mình với. Mình cảm ơn!

Tôi thấy những gì bạn đặt ra được thì chính bạn cũng giải quyết được đó chứ.

Code:
<SCRIPT>

function divName(_valueN)
{
              _Fvalue=eval('encodeURIComponent(document.getElementById(_valueN).value)');
              return _Fvalue;
}

function _divName(_valueD)
{
              _Dvalue=document.getElementById(_valueD).value;
              return _Dvalue;
}


function REGISTE()
{
	user=divName('username');
	password=divName('password');
	confirmpass=divName('confirmpass');
	ym=divName('ym');
	email=_divName('email');
	fullname=divName('fullname');
	day=divName('day');
	month=divName('month');
	year=divName('year');
	gioitinh=divName('gioitinh');
	Location=divName('Location');
	if(user=="" || password=="" || fullname=="" || ym=="" || email=="") alert('Bạn nhập chưa đủ thông tin');
	else if(password!=confirmpass) alert('Password nhập lại không đúng');
	else if(email.indexOf('@')<0) alert(' Email không đúng');
	else return true;
return false;
}
</SCRIPT>
CHỈ LÀ CODE THAM KHẢO THUI NHA
dohoangthien viết 12:17 ngày 10/10/2018
Được gửi bởi loveslope
trong php có thể chèn thêm html nên chỉ cần chèn html trong php rồi dùng java script kiểm tra là ok. Chúc thành công
Mình có thể chèn javascript trong php đc ko bạn. Mình có viết trang php, chèn javascript trong thẻ <head></head> nhưng mấy hiệu ứng javascript ko hiển thị. còn khi làm bằng html thì lại hiển thị đc.

[=========> Bổ sung bài viết <=========]

Bạn ơi xem giúp mình kiểm tra cái này với. Mình đăng ký, ghi đầy đủ thông tin rồi bấm submit nhưng mà nó cứ load hoài, ko đk đc gì hết, 3 file của mình là:

1. mysql.php

<?php

$db_host = "localhost:2209"; // Giữ mặc định là localhost
$db_name = "mysql"; // Cần thay đổi..
$db_username = "root"; // Cần thay đổi..
$db_password = "dohoangthien"; // Cần thay đổi..

@mysql_connect("{$db_host}", "{$db_username}", "{$db_password}") or die("Không thể kết nối database");
@mysql_select_db("{$db_name}") or die("Không thể chọn database");

?>

2. Register.php

<script type="text/javascript">

function validate(form) {
return (checkPassword(form) && checkEmail(form));
}
function checkPassword(form)
{
var elem = form.elements;
if(elem.txtPassword.value == '')
{
alert('Please insert password.');
elem.txtPassword.focus();
return false;
}
if(elem.txtPassword.value != elem.txtConfirmPassword.value)
{
alert('Please check your password; the confirmation entry does not match.');
return false;
}
else
{
return true;

}
}
function checkEmail(form)
{
var elem = form.elements;
if ((elem.txtEmail.value==null)||(elem.txtEmail.value =="")){
alert("Please Enter your Email")
elem.txtEmail.focus()
return false
}
if (echeck(elem.txtEmail.value)==false){
alert("Invalid Email")
elem.txtEmail.focus()
return false
}
return true
return true;
}
function echeck(str) {

var at="@";
var dot=".";
var lat=str.indexOf(at);
var lstr=str.length;
var ldot=str.indexOf(dot);
if (str.indexOf(at)==-1){
return false;
}

if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
return false;
}

if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
return false;
}

if (str.indexOf(at,(lat+1))!=-1){
return false;
}

if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
return false;
}

if (str.indexOf(dot,(lat+2))==-1){
return false;
}

if (str.indexOf(" ")!=-1){
return false;
}
return true
}

</script>

<form onsubmit="return validate(this);" method="post" action="registerSuccess.php">
Username: <input type="text" name="username" >
Password: <input type="text" name="password">
Retype Password: <input type="text" name="confirmpass">
Email: <input type="text" name="email">
<input type="submit" value="Đăng Ký" />
</form>

3. RegisterSuccess.php

<?php
include 'mysql.php';
// Make a MySQL Connection
//$hostname="localhost";
$conn = mysql_connect($db_host,$db_username,$db_password) or die(mysql_error());
mysql_select_db($g_db, $conn) or die(mysql_error());
$sql = "SELECT * FROM members WHERE name= '".$_POST["txtUsername"]."'";
$result = mysql_query($sql, $conn) ;
$i = mysql_num_rows($result);
?>

Dùng kiểm tra tên người dùng có hợp lệ không => trả về biến i lưu kết quả select .

<?php

if($i>0)
{
mysql_close($conn);
echo "Your account was used by another person !Please chose other user name .";


}
else
{
// $sql = " INSERT INTO sip_buddies ( name,canreinvite,context,dtmfmode,host,port,type,u sername,allow,secret,mailbox)
//VALUES ('".$_POST["txtName"]."','no','default','rfc2833','dynamic','yes','frie nd ','".$_POST["txtUsername"]."','g729;ilbc;gsm;ulaw;alaw,h263,h263p','".$_P OST["txtPassword"]."','".$_POST["txtEmail"]."')";
//$result = mysql_query($sql, $conn) or die(mysql_error());

$sql = " INSERT INTO sip_buddies ( name,canreinvite,context,dtmfmode,host,port,type,a username,username,allow,secret,mailbox)
VALUES ('".$_POST["txtUsername"]."','no','from-internal','rfc2833','dynamic','yes','friend','".$_ POST["txtName"]."','".$_POST["txtName"]."','g729;ilbc;gsm;ulaw;alaw,h263,h263p','".$_P OST["txtPassword"]."','".$_POST["txtEmail"]."')";
$result = mysql_query($sql, $conn) or die(mysql_error());


$sql="INSERT INTO extensions (context , exten , priority , app, appdata)
VALUES ('from-internal','".$_POST["txtUsername"]."', 1, 'Dial','SIP/".$_POST["txtUsername"]."')";
$result = mysql_query($sql, $conn) or die(mysql_error());

$sql="INSERT INTO extensions (context , exten , priority , app)
VALUES ('from-internal','".$_POST["txtUsername"]."', 2, 'Hangup')";
$result = mysql_query($sql, $conn) or die(mysql_error());
Echo "Your account was created successfull !"."<p>";
echo "User Name: ".$_POST["txtUsername"]."<p>";
echo "Password Gửi qua mail). ".$_POST["txtEmail"]."";
mysql_close($conn);

}
?>

Bạn biết chỉ mình với. cảm ơn bạn nhìu

[=========> Bổ sung bài viết <=========]

Ko ai giúp mình hết àh.
loveslope viết 12:15 ngày 10/10/2018
cái này chắc bạn post lâu rùi nhưng mình cũng trả lời cho nhưng ai chưa biết luôn ,dám nghĩ giờ này chắc bạn đã đi xa rùi bài này 2007 khá lâu. Về cơ bản thì php cũng như html khi viết php thì kết quả nó trả về là những đoạn code chỉ là html( mình không set đến biến).php cho kết quả trả về những thẻ của <html>, còn javascript không ảnh hưởng gìddeessn ngôn ngữ cả php cũng echo"<script type="text/javascript" src="ssss.js"></script>"; thay vì bên html là <script type="text/javascript" src="ssss.js"></script> và nó không phân biệt vị trí trừ một số trường hợp đặc biệt còn lại bạn echo là ok.Thanks
Bài liên quan
0