redevills

فرم ثبت نام

5 پست در این موضوع

من یه فرم ثبت نام درست کردم با زبان php؟

حالا 1 مشکل دارم

<form id="register" method="post" action="adduser.php" name="register" onsubmit="return reg('register','m1');">

action.php

وقتی این صفحه اجرا میشه محتویات رو می گیره در بانک ذخیره می کنه.... حالا اگر بعد از اضافه کردن صفحه لود بشه دوباره یک کاربر با مشخصات خالی به پایگاه اضافه می شه

؟

با هر بار لود این اتفاق می افته

حالا چه کار کنم که این اتفاق بوجود نیاد؟

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش لاراول آموزش cPanel آموزش php آموزش فرم ساز RSform آموزش ساخت ربات جذب ممبر آموزش ساخت ربات دوستیابی آموزش ساخت ربات فروشگاهی برای ووکامرس آموزش طراحی سایت داینامیک با php آموزش بخش پشتیبانی با rsticket

اعتبار سنجی گذاشتید؟ که فیلد ها خالی نباشند و پر کردنشون الزامی باشه ؟

محتویات فایل adduser.php هم قرار بدین تا بررسی بشه.

Share this post


Link to post
Share on other sites

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
boody{
text-align:right;
font-size:12px;
font:tahoma;
direction:rtl;
}
#register{
float:right;
direction:rtl;
}
.rmail{
color:#FF0000;
font-size:10px;
}
.registert tr{
height:34px;
}
</style>
<script>
function reg(formid,email)
{	
var control = 0;
var fieldn = document.forms["register"]["name"].value;
if (fieldn == null || fieldn == "")
{
   	document.getElementById("name").innerHTML="لطفا فیلد نام را پر کنید .";
	control1 = 1;
 	}
else
{
	validChar='ض ص ث ق ف غ ع ه خ ح ج چ پ ش س ی ب ل ا ت ن م ک گ ظ ط ز ر ذ د ئ و ژ ء';
   	strlen=fieldn.length;
   	fieldn=fieldn.toUpperCase();
   	for(i=0;i<strlen;i++)
	{
       	if(validChar.indexOf(fieldn.charAt(i))<0)
		{
           	document.getElementById("name").innerHTML="تنها حروف فارسی مجاز است.";
           	control1 = 1;
   		}
		else
		{
           	document.getElementById("name").innerHTML="";
           	control1 = 0;			
		}
 		}
}	
//***********************
var fieldln = document.forms["register"]["lname"].value;
if (fieldln == null || fieldln == "")
{
   	document.getElementById("lname").innerHTML="لطفا فیلد نام خانوادگی را پر کنید .";
	control2 = 1;
 	}
else
{
	validChar1='ض ص ث ق ف غ ع ه خ ح ج چ پ ش س ی ب ل ا ت ن م ک گ ظ ط ز ر ذ د ئ و ژ ء';
   	strlen1=fieldln.length;
   	fieldln=fieldln.toUpperCase();
   	for(i=0;i<strlen1;i++)
	{
       	if(validChar1.indexOf(fieldln.charAt(i))<0)
		{
           	document.getElementById("lname").innerHTML="تنها حروف فارسی مجاز است.";
           	control2 = 1;
   		}
		else
		{
           	document.getElementById("lname").innerHTML="";
           	control2 = 0;			
		}
 		}
}	

//***********************	
var fieldun = document.forms["register"]["uname"].value;
if (fieldun == null || fieldun == "")
{
	document.getElementById("uname").innerHTML="لطفا فیلد نام کاربری را پر کنید .";
	control3 = 1;
 	}
else
{
	validChar3='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-';
   	strlen2=fieldun.length;
	if(strlen2 < 5 )
	{
		document.getElementById("uname").innerHTML="نام کاربری حداقل باید 5 حرف باشد .";
		control3 = 1;
	}
	else
	{
   		fieldun=fieldun.toUpperCase();
   		for(i=0;i<strlen2;i++)
		{
       		if(validChar3.indexOf(fieldun.charAt(i))<0)
			{
           		document.getElementById("uname").innerHTML="تنها حروف انگلیسی ، اعداد ، _ و - مجاز است.";
            	control3 = 1;
    		}
			else
			{
				var check1=fieldun.indexOf("0");
				var check2=fieldun.indexOf("1");
				var check3=fieldun.indexOf("2");
				var check4=fieldun.indexOf("3");
				var check5=fieldun.indexOf("4");
				var check6=fieldun.indexOf("5");
				var check7=fieldun.indexOf("6");
				var check8=fieldun.indexOf("7");
				var check9=fieldun.indexOf("8");
				var check10=fieldun.indexOf("9");
				var check11=fieldun.indexOf("_");
				var check12=fieldun.indexOf("-");
				if(check1==0 || check2==0 || check3==0 || check4==0 || check5==0 || check6==0 || check7==0 || check8==0 || check9==0 || check10==0 || check11==0 || check12==0)
				{
            		document.getElementById("uname").innerHTML="نام کاربری نباید با عدد شروع شود.";
            		control3 = 1;					
				}
				else
				{
           			document.getElementById("uname").innerHTML="";
           			control3 = 0;			
				}
			}
 			}		
	}
}
//***********************
var fieldm1 = document.forms["register"]["m1"].value;
if (fieldm1 == null || fieldm1 == "")
{
	document.getElementById("mailp").innerHTML="لطفا فیلد ایمیل کاربری را پر کنید .";
	control4 = 1;
 	}
else
{		
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   	var address = document.forms[formid].elements[email].value;
   	if(reg.test(address) == false) 
	{
       	document.getElementById("mailp").innerHTML="ایمیل نا معتبر است.";
       	control4 = 1;
  		}
	else
	{
		document.getElementById("mailp").innerHTML="";
		control4 = 0;
	}
}
//***********************
var fieldm2 = document.forms["register"]["m2"].value;
if(fieldm2 == fieldm1)
{
	document.getElementById("rmail").innerHTML="";
       control5 = 0;
}
else
{
	document.getElementById("rmail").innerHTML=" تکرار ایمیل نا معتبر است.";
       control5 = 1;		
}
//***********************
var fieldp1 = document.forms["register"]["p1"].value;
var fieldp2 = document.forms["register"]["p2"].value;
if(fieldp2 == fieldp1)
{
	document.getElementById("rpass").innerHTML="";
       control6 = 0;
}
else
{
	document.getElementById("rpass").innerHTML=" تکرار رمز عبور نا معتبر است.";
       control6 = 1;		
}	
//***********************
if( document.getElementById("c").checked == true )
   {
		control7=0;
   }
else
{
	alert("برای ادامه باید قوانین را بپذیرید.");
	control7=1;
}
//***********************
control = control1 + control2 + control3 + control4 + control5 +control6+control7;
if(control == 0 )
{	
	control1=0;control2=0;control3=0;control4=0;control5=0;control6=0;control7=0;
	return true;
}
else
{
	control1=0;control2=0;control3=0;control4=0;control5=0;control6=0;control7=0;
	return false;
}
}
</script>
<noscript>
جاوا اسکریپت در مرورگر شما غیر فعال است!<br />
</noscript>
<title>Untitled Document</title>
</head>

<body>
<div id="register">
<form id="register" method="post" action="adduser.php" name="register" onsubmit="return reg('register','m1');">
	<table class="registert">
		<tr>
			<td>نام : </td>
			<td><input type="text" name="name" onfocus=""></td>
			<td><div><p id="name" style="color:#FF0000;font-size:10px;"></p></div></td>						
		</tr>
		<tr>
			<td>نام خانوادگی : </td>
			<td><input type="text" name="lname" onfocus=""></td>
			<td><div><p id="lname" style="color:#FF0000;font-size:10px;"></p></div></td>						
		</tr>		
		<tr>
			<td>نام کاربری : </td>
			<td><input type="text" name="uname" onfocus=""></td>
			<td><div><p id="uname" style="color:#FF0000;font-size:10px;"></p></div></td>						
		</tr>		
		<tr>
			<td>ایمیل : </td>
			<td><input type="text" name="m1" id="m1" onfocus=""></td>
			<td><div><p id="mailp" style="color:#FF0000;font-size:10px;"></p></div></td>						
		</tr>		
		<tr>
			<td>تکرار ایمیل :</td>
			<td><input type="text" name="m2" id="m2" onfocus="" ></td>
			<td><div><p id="rmail" style="color:#FF0000;font-size:10px;"></p></div></td>						
		</tr>			
		<tr>
			<td>رمز عبور : </td>
			<td><input type="password" name="p1" id="p1" onfocus=""></td>
			<td><div><p id="pass" style="color:#FF0000;font-size:10px;"></p></div></td>						
		</tr>		
		<tr>
			<td>تکرار رمز عبور :</td>
			<td><input type="password" type="password" name="p2" id="p2"></td>
			<td><div><p id="rpass" style="color:#FF0000;font-size:10px;"></p></div></td>						
		</tr>		
		<tr>
			<td>قوانین سایت را می پذیرم<input type="checkbox" id="c"/></td>
			<td style="text-align:center;"><input type="submit" value="تایید" id="b"><input type="reset" value="نوشتن از نو" /></td>
			<td></td>						
		</tr>
	</table>
</form>
</div>
</body>
</html>

*****************************************************************************************************************

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
//اطلاعات اتصال به پایگاه داده
$con = mysqli_connect("localhost", "root", "" ,"game")
or die(mysqli_error()); 
// Check connection
if (mysqli_connect_errno())
 	{
 		echo "Failed to connect to MySQL: " . mysqli_connect_error();
 	}
//دریافت و تعریف متغیر ها
$name = $_POST['name'];
$lname = $_POST['lname'];
$uname = $_POST['uname'];
$mail = $_POST['m1'];
$pass = $_POST['p1'];

$sql="INSERT INTO register(Name, lname, username, password, email)VALUES(N'$name',N'$lname',N'$uname',N'$pass',N'$mail')";
if (!mysqli_query($con,$sql))
{
  die('Error: ' . mysqli_error($con));
}
echo "1 record added";

mysqli_close($con);
?>

</body>
</html>

*******************************************************************************

این صفحاتی که نوشتم به نظزتون چه مشکلی داره ؟

Share this post


Link to post
Share on other sites

باید از دستورات شرطی استفاده کنید و بگید که اگه مقادیرتون ست شده باشه و خالی نباشه کوئری شما اجرا بشه مثلا به این شکل:

<?php

 if(isset($name) AND !empty($name))
 {

 //// اجرای کدهای کوئری 
 }

?>

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری