- 
	
			
				
					December 16th, 2013, 18:16
				
			
			
				
					#1
				
				
				
			
	 
		
			
			
				عضو جدید
			
			
			
			
			
			
				  
 
					    
				 
 
			
				
				
				
					 درخواست راهنمایی در ایجاد فرم ثبت نام php درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							سلام.
 دوستان من یک تازه کار در زمینه php هستم. نیاز به کمک دارم.
 من یک فرم ثبت نام درست کردم. بعد از طریق فایل فانکشنز اون رو به دیتابیس متصل کردم. داخل دیتابیس هم یک جدول با عنوان یوزرز ساختم.
 حالا نمیدونم مشکلم از کجاست که ثبت نام صورت نمیگیره.
 این فایل فرم ثبت نام منه :
 
 
	کد: <?php
require_once ('functions.php')    ;
    
  if (isset($_POST['username']) AND isset($_POST['password']) )  
  {
      
      $username     = $_POST['username'];
      $password     = $_POST['password'];
      $email        = $_POST['email'];
      $phone        = $_POST['phone'];
      
     
      
      
      require_once ('securimage.php');
      $securimage = new Securimage();
      
    if ($securimage->check($_POST['captcha_code']) == false) {
      // the code was incorrect
      // you should handle the error so that the form processor doesn't continue
      // or you can use the following code if there is no validation or you do not know how
      echo "تصویر امنیتی اشتباه وارد شده است<br /><br />";
      echo "برای بازگشت به صفحه قبلی  <a href='javascript:history.go(-1)'>اینجا</a> کلیک نمایید";
      exit;
    }
          
      
      
      $result = registerUser ($username,$password,$email,$phone);
        
        if ($result)
        {
            
            echo 'ثبت نام شما با موفقیت انجام شد';
        }else
        {
            
            echo '<b style="color: red">خطای سیستمی</b>';
        }
      
      
  }
    
    
?>
<script type="text/javascript" >
function checkusername(value){
    
    $.post('ajaxfunctions.php',{username: value},function(data){
        $('#usernote').html(data);}
    
                    );
                }
</script>
<div class="art-layout-wrapper clearfix">
                <div class="art-content-layout">
                    <div class="art-content-layout-row">
                        <div class="art-layout-cell art-content clearfix">
                        <article class="art-post art-article">
                                <h2 class="art-postheader">ثبت نام جهت شرکت در ختم قرآن
                                </h2>
                                <div class="art-postcontent art-postcontent-0 clearfix">
<div class="art-content-layout">
<div class="art-content-layout-row">
<div class="art-layout-cell layout-item-0" style="width: 10%">
<h3>
 کاربران گرامی ضمن خوش آمد گویی، لطفا جهت شرکت 
 در ختم گروهی قرآن کریم از طریق فرم زیر در سایت ثبت نام نمایید و یا اگر 
 قبلا ثبت نام کرده اید از طریق قسمت ورود به سایت در سمت راست وارد کنترل پنل کاربری خود شوید
 </h3>
 
       
 <pre>
    <form method="post" name="registerform" enctype="multipart/form-data">
     
    
    نام کاربری:      <input name="username" type="text" onblur="checkusername(this.value)">   <div id="usernote"></div>
    
    رمز عبور:        <input name="password" type="password">
    
    ایمیل:           <input name="email" type="text">
    
    تلفن همراه:      <input name="phone" type="text">
      
تصویر امنیتی
 <img id="captcha" src="securimage_show.php" alt="CAPTCHA Image" />
                     <input type="text" name="captcha_code" size="10" maxlength="6" dir="ltr" />
 <a href="#" onclick="document.getElementById('captcha').src = 'securimage_show.php?' + Math.random(); return false">[ رفرش تصویر امنیتی ]</a>   
    <input name="submit" type="submit" value="ثبت نام">
    
    </form>
    
</pre>    
 
 
</article>
</div>
 
 
	کد: <?php@mysql_connect('localhost','root','') or die('DB Connection Error');
@mysql_select_db('quran1');
mysql_query("SET NAMES UTF8");
 function registerUser ($username,$password,$email,$phone)
{
    
    $password = md5($password);
    
    $time = time();
    $result = mysql_query("
    INSERT INTO users VALUES (NULL , '$username' , '$password' , '$email' ,
    '$phone' ,'$time' , 0 , 2 ) ");
    
    if ($result) return true; return false;
    
}
?>
 
 حالا اگر امکان داره راهنماییم کنید که کجای کدنویسیم ایراد داره که ثبت نام خطا میده و انجام نمیشه. ممنونم.
 
 
 
 
 
 
 
- 
    
- 
		
			
						
						
							December 16th, 2013 18:16
						
					
					
						
							 # ADS
						
					
			 
 
- 
	
			
				
					December 16th, 2013, 19:55
				
			
			
				
					#2
				
				
				
			
	 
		
		
			
				
				
				
					 پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							خطایی که php میده رو هم مینوشتید بد نبودا!
						 
 
 
 
 
 
 
- 
    
- 
	
			
				
					December 16th, 2013, 21:40
				
			
			
				
					#3
				
				
				
			
	 
		
			
			
				عضو جدید
			
			
			
			
			
			
				  
 
					    
				 
 
			
				
				
				
					 پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							خطایی خاصی نمیده. طبق همون کدی که خودم نوشتم در صورت ثبت نام نشدن مینویسه خطای سیستمی. 
 
 $result = registerUser ($username,$password,$email,$phone);
 
 if ($result)
 {
 
 echo 'ثبت نام شما با موفقیت انجام شد';
 }else
 {
 
 echo '<b style="color: red">خطای سیستمی</b>';
 }
 
 
 
 
 
 
 
- 
    
- 
	
			
				
					December 16th, 2013, 21:58
				
			
			
				
					#4
				
				
				
			
	 
		
		
			
				
				
				
					 پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							خط زیر رو
 
	کد PHP: 
            echo '<b style="color: red">خطای سیستمی</b>'; 
 
 
 با این جایگزین کنید. بعد ببینید چه خطایی میده.
 
	کد PHP: 
            echo '<b style="color: red">خطای سیستمی</b> '.mysql_error(); 
 
 
 
 
 
 
 
 
 
 
- 
    
- 
	
			
				
					December 17th, 2013, 09:51
				
			
			
				
					#5
				
				
				
			
	 
		
			
			
				عضو جدید
			
			
			
			
			
			
				  
 
					    
				 
 
			
				
				
				
					 پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							چه خوب مشکل رو نوشت.
 این رو مینویسه:
 خطای سیستمی Column 'id' cannot be null
 
 من رفتم توی دیتابیس. جدول یوزرز رو دیدم. من اینطوری ساختم. نمیدونم مشکل از کجاشه چون اینطوری به ما یاد دادن که برای آی دی primery باشه و attributes هم روی unsigned باشه. تیک A-I رو هم زدم.
 
 1.jpg
 
 
 
 
 
 
 
- 
    
- 
	
			
				
					December 17th, 2013, 09:53
				
			
			
				
					#6
				
				
				
			
	 
		
			
			
				عضو جدید
			
			
			
			
			
			
				  
 
					    
				 
 
			
				
				
				
					 پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							چه خوب مشکل رو نوشت.
 این رو مینویسه:
 خطای سیستمی Column 'id' cannot be null
 
 من رفتم توی دیتابیس. جدول یوزرز رو دیدم. من اینطوری ساختم. نمیدونم مشکل از کجاشه چون اینطوری به ما یاد دادن که برای آی دی primery باشه و attributes هم روی unsigned باشه. تیک A-I رو هم زدم.
 
   
 
 
 
 
 
 
 
- 
    
- 
	
			
				
					December 17th, 2013, 10:00
				
			
			
				
					#7
				
				
				
			
	 
		
			
			
				عضو جدید
			
			
			
			
			
			
				  
 
					    
				 
 
			
				
				
				
					 پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							مشکل حل شد. دوست عزیز خیلی ممنونم که اون کد رو نوشتی تا من بفهمم مشکل از کجاست. یک بار دیگه id رو ساختم و A-I رو فعال کردم و درست شد. ممنونم.
 
 من توی ساخت این اسکریپت در آینده حتما بازم به مشکل میخورم. امیدوارم دوستان باز هم همینجا به سوالاتم جواب بدن. تشکر
 
 
 
 
 
 
 
- 
    
- 
	
			
				
					December 17th, 2013, 10:33
				
			
			
				
					#8
				
				
				
			
	 
		
		
			
				
				
				
					 پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							چند تا نکته که بد نیست رعایت کنید:
 
 - به جای mysql از mysqli یا pdo استفاده کنید.
 - اطلاعات ورودی رو قبل از نوشتن در دیتابیس ولیدیت کنید. (مثلا از نظر ماکزیمم کاراکتر. صحیح بودن الگوی ایمیل، تلفن و ...)
 - خاصیت نام ستون username رو unique بذارید. و احیانا همینطور email بسته به نیاز؟
 و...
 
 
 
 
 
 
 
- 
    
- 
	
			
				
					December 18th, 2013, 10:29
				
			
			
				
					#9
				
				
				
			
	 
		
			
			
				عضو جدید
			
			
			
			
			
			
				  
 
					    
				 
 
			
				
				
				
					 پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							بسیار ممنونم از نکاتی که فرمودید.
 خواهش میکنم باز هم از این نکات ریز و مهم بهم یاد بدید.
 
 گه میشه درباره ولیدیت کردن کاراکتر ها بیشتر توضیح بدید. چطوری اطلاعات ورودی به دیتابیس رو ولیدیت کنم؟
 
 و سوال آخرم اینکه unique کردن چه کاری انجام میده و از کجا بفهمم نیاز هست که ستونی رو unique کنم؟
 
 تشکر
 
 
 
 
 
 
 
- 
    
- 
	
			
				
					December 18th, 2013, 12:26
				
			
			
				
					#10
				
				
				
			
	 
		
		
			
				
				
				
					 پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php پاسخ : درخواست راهنمایی در ایجاد فرم ثبت نام php
					
						
							برای ولیدیت کردن کاراکتر ها می توانید از تابع  addslashes در php یاتوابع خود mysql استفاده کنید که کاراکتر های خواص را از بین می برد مانند:
 1)
 mysql_escape_string
 2) mysql_real_escape_string
 و در جوای سوال unique کردن باید بگم که در table که username های شما قرار دارد اگه ستون user دارای خاصیت unique باشد اجازه نمی دهد user تکراری در ستون از table که unique است قرار بگیره به عبارت دیگر ستون user منحصر به فرد است.
 
 
 
 
 
 
 
-