mohammadgholeh نشر 11 يونيو 2016 أرسل تقرير نشر 11 يونيو 2016 السلام عليكم استخدم سكربت Mysqli CRUD - Data Management System طريقة عمل السكربت عند اضافة سجل جديد من خلال form لا يتم اضافته مباشرة الى قاعدة البيانات بل يوجد شاشة confirm. أريد حذف شاشة confirm لكن validation على form مربوط بشاشة confirm h. كيف أحذف شاشة confirm مع الاحتفاظ بvalidation على form؟ رابط السكربت اونلاين الكود المسؤول عن ذلك: switch ($this->action) { case 'copy_confirm' : case 'form_confirm' : $saveOnclick = "$('#action_type').val('save'); $('#".$this->uid."').submit();"; $fa->addChildren ( new HtmlTag ( 'a', array ( 'class' => 'btn btn-success', 'onclick' => $saveOnclick ), btn_save ) ); $backOnclick = "$('#action_type').val('back'); $('#".$this->uid."').submit();"; $fa->addChildren ( new HtmlTag ( 'a', array ( 'class' => 'btn ', 'onclick' => $backOnclick ), btn_back ) ); $fieldset->addChildren ( $controlGroup ); break; case 'view' : $queryString [$this->actionKey] = 'index'; if (isset ( $queryString ['key'] )) { unset ( $queryString ['key'] ); } $fa->addChildren ( new HtmlTag ( 'a', array ( 'class' => 'btn ', 'href' => '?' . http_build_query ( $queryString, '', '&' ) ), btn_cancel ) ); $fieldset->addChildren ( $controlGroup ); break; case 'delete' : $deleteOnclick = "$('#action_type').val('delete'); $('#".$this->uid."').submit();"; $fa->addChildren ( new HtmlTag ( 'a', array ( 'class' => 'btn btn-danger', 'onclick' => $deleteOnclick ), btn_delete ) ); $queryString [$this->actionKey] = 'index'; if (isset ( $queryString ['key'] )) { unset ( $queryString ['key'] ); } $fa->addChildren ( new HtmlTag ( 'a', array ( 'class' => 'btn ', 'href' => '?' . http_build_query ( $queryString, '', '&' ) ), btn_cancel ) ); $fieldset->addChildren ( $controlGroup ); break; case 'form' : default : $confirmOnclick = "$('#action_type').val('confirm'); $('#".$this->uid."').submit();"; $fa->addChildren ( new HtmlTag ( 'a', array ( 'class' => 'btn btn-success', 'onclick' => $confirmOnclick ), btn_confirm ) ); $queryString [$this->actionKey] = 'index'; if (isset ( $queryString ['key'] )) { unset ( $queryString ['key'] ); } $fa->addChildren ( new HtmlTag ( 'a', array ( 'class' => 'btn', 'href' => '?' . http_build_query ( $queryString, '', '&' ) ), btn_cancel ) ); $fieldset->addChildren ( $controlGroup ); break; } ثم هذا الكود if (! empty ( $_POST ) && $_POST ['token'] == $_SESSION [$this->uid] [$_POST ['token_key']] && $this->uid . "_auth_token" . '_' . md5 ( $tokenId ) == $_POST ['token_key']) { switch ($_POST ['action_type']) { case 'confirm' : $error = $this->dataProcessing (); if (! empty ( $error )) { $errors ['data_processing'] = $error; } $action = $this->action . '_confirm'; if (! empty ( $this->validates )) { if (! class_exists ( 'AbstractValidator' )) { require dirname ( __FILE__ ) . '/validation/AbstractValidator.php'; } if (! class_exists ( 'FormValidator' )) { require dirname ( __FILE__ ) . '/validation/FormValidator.php'; } $formValidator = new FormValidator (); foreach ( $this->validates as $field => $args ) { $type = $args [1]; $aryType = explode ( '_', $type ); $class = ''; if (! empty ( $aryType )) { foreach ( $aryType as $t ) { if (! empty ( $t )) { $class .= ucfirst ( strtolower ( $t ) ); } } } $class .= 'Validator'; if (! class_exists ( $class )) { require dirname ( __FILE__ ) . '/validation/' . $class . '.php'; } $hidden = new InputHiddenTag ( array ( 'name' => $this->uid . '.' . $field ) ); if (isset ( $this->alias [$field] )) { $name = $this->alias [$field]; } else { $name = ''; $tmp = explode ( '.', $field ); foreach ( $tmp as $t ) { $name .= ucfirst ( $t ); } } $validator = new $class ( $field, $name, $hidden->getValue () ); if (method_exists ( $validator, 'init' )) { $validator->init ( $args ); } $formValidator->addValidator ( $validator ); } if (! $formValidator->validate ()) { $errors = array_merge ( $errors, $formValidator->errors ); $action = $this->action; } } break; case 'save' : $editFlag = true; if (! empty ( $this->primaryKeys )) { foreach ( $this->primaryKeys as $k3 => $v3 ) { foreach ( $v3 as $v4 ) { if ($k3 == $this->table) { if (empty ( $_POST [$this->uid] [$k3] [$v4] ) || trim ( $_POST [$this->uid] [$k3] [$v4] ) == '') { $editFlag = false; break; } } } if ($editFlag == false) { break; } } } $queryString = $this->queryString; $queryString [$this->actionKey] = 'index'; if (isset ( $queryString ['key'] )) { unset ( $queryString ['key'] ); } $req = $this->getData (); if ($editFlag == false) { if (! empty ( $this->callback ['BEFORE_INSERT'] )) { foreach ( $this->callback ['BEFORE_INSERT'] as $callback ) { if (isset ( $callback [1] ) && file_exists ( $callback [1] )) { require_once $callback [1]; } if (is_callable ( $callback [0] )) { $req = call_user_func ( $callback [0], $this, $req ); } } } $this->insert ( $req, $this->table ); if (! empty ( $this->callback ['AFTER_INSERT'] )) { foreach ( $this->callback ['AFTER_INSERT'] as $callback ) { if (isset ( $callback [1] ) && file_exists ( $callback [1] )) { require_once $callback [1]; } if (is_callable ( $callback [0] )) { call_user_func ( $callback [0], $this, $req, $this->insetId ); } } } $this->redirect ( "?" . http_build_query ( $queryString, '', '&' ) ); } else { if (! empty ( $this->callback ['BEFORE_UPDATE'] )) { foreach ( $this->callback ['BEFORE_UPDATE'] as $callback ) { if (isset ( $callback [1] ) && file_exists ( $callback [1] )) { require_once $callback [1]; } if (is_callable ( $callback [0] )) { $req = call_user_func ( $callback [0], $this, $req ); } } } $this->update ( $req, $this->table ); if (! empty ( $this->callback ['AFTER_UPDATE'] )) { foreach ( $this->callback ['AFTER_UPDATE'] as $callback ) { if (isset ( $callback [1] ) && file_exists ( $callback [1] )) { require_once $callback [1]; } if (is_callable ( $callback [0] )) { call_user_func ( $callback [0], $this, $req, $this->insetId ); } } } $this->redirect ( "?" . http_build_query ( $queryString, '', '&' ) ); } break; default : $action = $this->action; break; } شكرا اقتباس
السؤال
mohammadgholeh
السلام عليكم
استخدم سكربت Mysqli CRUD - Data Management System
طريقة عمل السكربت عند اضافة سجل جديد من خلال form لا يتم اضافته مباشرة الى قاعدة البيانات بل يوجد شاشة confirm.
أريد حذف شاشة confirm لكن validation على form مربوط بشاشة confirm h.
كيف أحذف شاشة confirm مع الاحتفاظ بvalidation على form؟
رابط السكربت اونلاين
الكود المسؤول عن ذلك:
ثم هذا الكود
شكرا
0 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.