• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اطلاعات ارسالی در فرم
#1
Question 
سلام دوستان تواین کد پایین که توسط سایت معروفی هم نوشته شده تو قسمت form مقدار اکشن این هست.
کد پی‌اچ‌پی:
action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" 

http://www.w3schools.com/php/showphp...ation_complete

حالا من اگر بخوام اطلاعات فرم رو بفرستم تو صفحه ای که توسط اون اطلاعات وارد دیتا بیس بشه (مثلا register.php) و از طرفی هم بخوام تو همون صفحه جاری اعتبار سنجی بشه چطور این کارو بکنم. نمشیه که اکشن به 2 صفحه بره؟
  پاسخ
تشکر شده توسط :
#2
درسته نباید به یک صفحه ی دوم بفرستید. باید در همون صفحه ی مثلا register.php چک کنی که هرزمان اطلاعات ارسال شد اون موقع اطلاعات رو جمع آوری کنی و در دیتابیس ثبت کنی و کارای دیگه. با استفاده از کد زیر می تونی چک کنی:
کد پی‌اچ‌پی:
if(isset($_POST['submit']){
        
//do something

  پاسخ
تشکر شده توسط :
#3
(۱۳۹۳ شهریور ۰۸, ۱۲:۴۴ ب.ظ)AlirezaHS نوشته: درسته نباید به یک صفحه ی دوم بفرستید. باید در همون صفحه ی مثلا register.php چک کنی که هرزمان اطلاعات ارسال شد اون موقع اطلاعات رو جمع آوری کنی و در دیتابیس ثبت کنی و کارای دیگه. با استفاده از کد زیر می تونی چک کنی:
کد پی‌اچ‌پی:
if(isset($_POST['submit']){
        
//do something



ببین کد پی اچ پی من که اطلاعات رو از فرم میگره اینه . اما من میخوام تو همون صفحه فرم ارور ها رو نشون بده مثلا اینکه نام خود را وارد کنید(جلو فیلد نام) بنویسه.

کد پی‌اچ‌پی:
<?php require_once 'connect.php';
 
  
    if (isset (
$_POST['name'], $_POST['lastname'], $_POST['username'],
    
$_POST['password'], $_POST['password_again'], $_POST['email'],
    
$_POST['cellphone'], $_POST['address'],$_POST['gender']))
     {
        
//echo $_POST['gender'];
          
if (empty($_POST['name'])){ echo " لطفا نام خود را وارد کنید"; }
            else{ 
$name=$_POST['name'];}
            
            if (empty(
$_POST['lastname'])){ echo " لطفا نام خانوادگی خود را وارد کنید";}
                else {
$lastname=$_POST['lastname'];}
                
                if (empty(
$_POST['username'])) { echo "لطفا نام کاربری را وارد کنید";}
                    else { 
$username=$_POST['username'];}
                    
                    if (empty(
$_POST['password'])) { echo "لطفا پسورد خود را وارد کنید";}
                        else { 
$password=$_POST['password'];}
                        
$password_again=$_POST['password_again'];
                          if (
$password != $password_again)
                            {echo 
'عدم تطابق رمز عبور';}
                                
                        
                        
                        
                        if (empty(
$_POST['gender'])) { echo " لطفا جنسیت خود را انتخاب کنید" ;}
                            else { 
$gender=$_POST['gender']; }
                            
                            if (empty(
$_POST['email'])) { echo " ایمیل خود را وارد کنید" ; }
                                else { 
$email=$_POST['email']; }
                                
                                if (empty(
$_POST['cellphone'])) { echo "شماره تلفن خود را وارد کنید" ;}
                                    else {
$cellphone=$_POST['cellphone'];}
                                    
                                    
$address=$_POST['address'];
                            
                            
                
            
             
             
 
/*--------------validation captcha-----------*/
            
session_start();
if(isset(
$_POST['register'])){
    if(
$_SESSION['captcha'] == $_POST['captcha']){
        echo 
"Captcha Is Correct<br>";
    }else{
        echo 
"Captcha Isn't Correct<br>";
    }
}
    
/*--------------------end captcha----------*/    

    
                
                    
connecttodb();
                        
 
                            
$query3 "INSERT INTO `tbl_user`(name,lastname,username,password,email,cellphone,address,gender)
                            values ( 
                            '"
.mysql_real_escape_string($name)."',
                            '"
.mysql_real_escape_string($lastname)."',
                            '"
.mysql_real_escape_string($username)."',
                            '"
.mysql_real_escape_string($password)."',
                            '"
.mysql_real_escape_string($email)."',
                            '"
.mysql_real_escape_string($cellphone)."',
                            '"
.mysql_real_escape_string($address)."',
                            '"
.mysql_real_escape_string($gender)."')";
                            
                            
                        
                             if ( 
mysql_query($query3)) 
                                {
                               echo  
'ثبت نام موفقيت';
                            
//   session_start();
                               
$_SESSION['username']=true;
                              
// echo '<meta http-equiv="refresh" content="1;url=index1.php" />';
                                

                             else 
                                {
                                    echo 
'خطا در ثبت کاربر';
                                 }
 
                           
      }
                    
            
 
?>
  پاسخ
تشکر شده توسط :
#4
میتونی یک آرایه درست کنی به اسم empty و هرکدوم از فیلدها رو که خالی بود به اون اندیس مقدار true بده و بعد درجلوی هرفیلد چک کنه که اگه true بود پیغام خطا نشون بده.
  پاسخ
تشکر شده توسط :
#5
به جای استفاده از php برای اعتبار سنجی از جاوا اسکریپت استفاده کن ! رویداد innerHTML و onblur اینجا استفاده کردیم که برای اینکار مناسبه !
کد:
function CheckEmpty(){
    if(document.getElementById('input id').value === ''){
        document.getElementById('empty error').innerHTML = 'لطفا نام خود را وارد کنید!';
        return false;
        }
        }

کد:
<input type="text" name="name1" id="name1" onblur="CheckEmpty();" />
  پاسخ
تشکر شده توسط : AlirezaHS
#6
(۱۳۹۳ شهریور ۰۹, ۱۱:۳۹ ق.ظ)AlirezaHS نوشته: میتونی یک آرایه درست کنی به اسم empty و هرکدوم از فیلدها رو که خالی بود به اون اندیس مقدار true بده و بعد درجلوی هرفیلد چک کنه که اگه true بود پیغام خطا نشون بده.
میشه کمی بشتر توضیح بدی؟ من تازه کارم کجا باید بزارم ارایه چی بنویسم
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان