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 آموزش html و css آموزش لاراول آموزش cPanel آموزش php آموزش سئو وردپرس آموزش امنیت وردپرس آموزش وردپرس آموزش فرم ساز RSform آموزش سئو جوملا آموزش فروشگاه ساز Hikashop آموزش فروشگاه ساز ویرچومارت آموزش طراحی سایت آگهی تبلیغاتی آموزش امنیت جوملا آموزش طراحی سایت فروش فایل آموزش طراحی قالب ریسپانسیو با Helix آموزش جوملا 3 آموزش ساخت ربات دکمه ی شیشه ای آموزش ساخت ربات همکاری در فروش آموزش ساخت ربات جذب ممبر آموزش ساخت ربات ضد اسپم آموزش ساخت ربات پیوست فایل سورس ربات مدیر گروه | ربات مدیر گروه همسریابی

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

محتویات فایل 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

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

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

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

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


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

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

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


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