Lỗi submit form

Thảo luận trong 'Yii Framework' bắt đầu bởi thắng, 23/12/15.

  1. thắng

    thắng New Member

    Tham gia:
    23/12/15
    Bài viết:
    1
    "Thích" đã nhận:
    0
    Điểm nhận Cup:
    1
    Giới tính:
    Nam
    hiện mình đang gặp sự cố khi tạo chức năng đăng ký thành viên mới mình có gửi các file view,controler,model phía dưới mong mọi người giúp đỡ...(lỗi
    Integrity constraint violation – yii\db\IntegrityException
    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'email'
    The SQL being executed was: INSERT INTO `tbl_user` (`id`) VALUES (DEFAULT)

    by rate" target="a652c_1450839787_justsayitvn" style="font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; left: auto; opacity: 1; top: auto; margin-right: 0px !important; margin-left: 3px !important; padding-right: 0px !important; padding-left: 0px !important; border: 0px !important; font-weight: 700 !important; vertical-align: baseline !important; text-decoration: underline !important; box-sizing: border-box !important; bottom: auto !important; clip: auto !important; clear: none !important; display: inline-block !important; float: none !important; height: auto !important; max-height: none !important; max-width: none !important; min-height: 0px !important; min-width: 0px !important; overflow: visible !important; position: static !important; right: auto !important; text-transform: uppercase !important; transform: none !important; visibility: visible !important; white-space: normal !important; width: auto !important; zoom: 1 !important; background-position: 0px 0px !important;">ERROR[​IMG]Info: Array
    (
    [0] => 23000
    [1] => 1062
    [2] => Duplicate entry '' for key 'email'
    )


    Caused by: PDOException
    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'email'
    in\dev\vendor\yiisoft\yii2\db\Command.php at line 781
    )
    PHP:
    controller:
      public function actionRegister()
        {
              $modelReg = new \app\models\UserForm();
              $modelReg->scenario = \app\models\User::SCENARIO_REGISTER;
         
                if(isset($_POST['UserForm']))
                 {
                $modelReg->attributes=$_POST['UserForm'];
                if($modelReg->validate())
                {
                    if($modelReg->save())
                    {
                        $this->redirect(array('site/home'));
                    }
                    return;
                }
                 
                  }
                       return $this->render('index', ['model' => $model,'modelReg'=>$modelReg]);  
    model:
    use yii\db\ActiveRecord;



    class UserForm extends \yii\db\ActiveRecord                    {
        public $name;
        public $email;
     
        public $password;
        public $password_repeat;
        public $phone;
        public $keeplogin;
        public $birthday;
        public $state;
     
     
     
         public static  function tableName()
        {
            return 'tbl_user';
        }
     
        public function rules()
        {
            return [
                [['name', 'email','phone','password','password_repeat'],'required','on' => User::SCENARIO_REGISTER],
                [['email', 'password'], 'required','on' => User::SCENARIO_LOGIN],
                [['email'], 'required','on' => User::SCENARIO_FORGET_PASSWORD],
                ['email','email'],
                ['keeplogin','boolean','on' => User::SCENARIO_LOGIN],
                 ['password_repeat', 'compare', 'compareAttribute' => 'password'],
            ];
        }
        public function attributeLabels()
        {
            return [
                'keeplogin' =>'Duy trì đăng nhập',
                'email'=>'Email',
                'password'=>'Mật khẩu',
            ];
        }
    }
    view:
      <div id="register">

            <!--<form class="clear" method="post" action="#">-->
            <?php $formReg = \yii\widgets\ActiveForm::begin([
                  
    'class'=>'clear',
                  
    'action'=>'?r=site/register',
                  
    'enableClientValidation' => false
              
    ]);?>
                <table cellpadding="10px" cellspacing="3px">
                    <tr>
                        <td ></td><td ></td>
                    </tr>
                    <tr>
                        <td colspan="2" style="text-align: center"> 
                            <h1 style="font-size:30px; font-variant:normal;">Đăng ký qua mạng xã hội </h1>
                            <a href="?r=site/auth&authclient=facebook"> <img src="../images/facebook.png"/></a>
                            <a href="?r=site/auth&authclient=google"> <img src="../images/google.png"/></a>
                        </td>
                    </tr>
                    <tr>

                        <td colspan="2"><h1>Đăng ký </h1></td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <!--<input  type="text" value="Tên" onfocus="this.value='';this.onfocus='';" >-->
                             <?=  $formReg->field($modelReg'name')->textInput(['onfocus'=>"this.value='';this.onfocus='';",'value'=>'Tên'])->label(''?>
                        </td>
    <!--                    <td>
                            <input  type="text" value="Họ" onfocus="this.value='';this.onfocus='';" >
                        </td>-->
                    </tr>
                    <tr>
                        <td colspan="2">
                            <?=  $formReg->field($modelReg'email')->textInput(['onfocus'=>"this.value='';this.onfocus='';",'value'=>'Email'])->label(''?>
                            <!--<input type="text" value="Email" onfocus="this.value='';this.onfocus='';" >-->
                        </td>
                    </tr>
                      <tr>
                        <td colspan="2">
                            <!--<input  type="text" value="Tên" onfocus="this.value='';this.onfocus='';" >-->
                             <?=  $formReg->field($modelReg'phone')->textInput(['onfocus'=>"this.value='';this.onfocus='';",'value'=>'Số Điện Thoại'])->label(''?>
                        </td>
    <!--                    <td>
                            <input  type="text" value="Họ" onfocus="this.value='';this.onfocus='';" >
                        </td>-->
                    </tr>
                    <tr>
                        <td colspan="2">
                            <?=  $formReg->field($modelReg'password')->passwordInput(['placeholder'=>'Mật khẩu mới'])->label(''?>
                         
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <?=  $formReg->field($modelReg'password_repeat')->passwordInput(['onfocus'=>"this.value='';this.onfocus='';",'placeholder'=>'Nhập lại mật khẩu'])->label(''?>
                            <!--<input type="password" value=""  placeholder="Mật khẩu mới" >-->
                        </td>
                    </tr>

                    <tr>
                        <td colspan="2">
                            <span>Ngày sinh</span>
                            <?=  $formReg->field($modelReg'birthday')->textInput(['onfocus'=>"this.value='';this.onfocus='';",'value'=>'DD/MM/YYYY'])->label(''?>
                            <!--<input type="text" value="DD/MM/YYYY" id="dateRegister" onfocus="this.value='';this.onfocus=''";>-->

                        </td>
                    </tr>


                    <tr>
                        <td colspan="2">                 
                            <?= yii\helpers\Html::input("submit"'submit''Đăng ký')?>
                            <!--<input name="submit" type="submit" value="Đăng ký">-->
                        </td>
                    </tr>
                 
                </table>
             <?php \yii\widgets\ActiveForm::end()?>
     
    Last edited by a moderator: 5/9/16

    Bình Luận Bằng Facebook

  2. PeaJaStr

    PeaJaStr Moderator Staff Member

    Tham gia:
    27/3/15
    Bài viết:
    193
    "Thích" đã nhận:
    54
    Điểm nhận Cup:
    28
    Giới tính:
    Nam
    Khi để code thì bạn chèn dưới dạng code thì mới nhìn đc[​IMG]

    Lỗi trên là key email bị trùng còn gì nữa:
    Bạn xem cái trường email có để unique hay primary key không
     
  3. denled3d3012

    denled3d3012 Member

    Tham gia:
    30/12/16
    Bài viết:
    66
    "Thích" đã nhận:
    0
    Điểm nhận Cup:
    6
    Giới tính:
    Nam
    Đi trên phố vào những ngày lễ như 20/10, 8/3, Giáng sinh hay Valentine, không khó để nhìn thấy những bạn trẻ đang boăn khoăn khi phải đi chọn quà cho người thương của mình. Nhưng sẽ lãng mạn hơn nếu bạn tặng người thân, bạn gái 1 chiếc đèn led 3D tình yêu độc đáo.

    [​IMG]

    Nếu bạn đang muốn tìm một món quà vừa lạ mắt, dễ thương lại vừa mới lạ thì Đèn LED 3D tình yêu chính là một gợi ý tuyệt vời. Với ánh sáng mềm dịu và nhiệt độ thấp, đèn Led 3D hình bóng bay là lựa chọn xứng đáng để trưng bày trong phòng khách, văn phòng– tạo điểm nhấn, cuốn hút mọi người, tạo sự mới mẻ, tươi vui, hoặc là đặt tại phòng khách của bạn, trong quán rượu, các câu lạc bộ, nhà hàng, quán bar… như một ngọn đèn đêm diệu kỳ, mờ ảo và cũng có thể là bất cứ nơi nào bạn muốn.

    [​IMG]

    Sản phẩm thích hợp để bạn dành tặng cho người yêu, người thân, hoặc bạn bè trong những dịp đặc biệt như đám cưới, 14/2, 20/10, 8/3 và sinh nhật.

    Điểm gây ấn tượng của Đèn LED 3D tình yêu chính nét độc đáo là sản phẩm “made in Việt Nam”. Cùng với đó là thiết kế đơn giản nhưng không kém sự bắt măt và sáng tạo. Cùng với đó là tuổi thọ bóng đèn sử dụng lên tới hơn 20.000 giờ liên tục và thời gian bảo hành đến 1 năm.

    [​IMG]

    Một điều tạo nên sự khác biệt giúp mẫu Đèn LED 3D tình yêu trở “ăn đứt” các sản phẩm quà tặng khác trên thị trường chính là sản phẩm “hand made” và hoàn toàn gần gũi với môi trường chỉ với công suất tiêu thụ điện 0,2W.

    Với những đặc điểm bên trên, Đèn LED 3D tình yêu này sẽ là một món quà vô cùng đáng yêu và ý nghĩa để bạn dành tặng ai kia.

    Vậy thì bạn không thể bỏ lỡ 1 chiếc Đèn LED 3D tình yêu “made in Việt Nam” được thiết kế tinh sảo đẹp mắt, kết hợp nhiều tính năng hấp dẫn hứa hẹn sẽ mang đến nhiều thú vị cho người được tặng món quà này. Đèn LED 3D tình yêu hiện đang rất hot, hãy nhanh tay mua ngay cho mình hoặc làm quà tặng bạn bè nhé.

    Thông số kỹ thuật đèn led 3d
    o Kích thước: 170 x 100 x 280 mm
    o Điện áp: 5V, 0.5A
    o Loại đầu cắm: cổng USB
    o Thời gian sử dụng LED: 50.000 giờ
    o Trọng lượng : 0.5 kg
    o Giá 300.000 đ/bộ bao gồm: 1 đế LED liền cáp USB, điều khiển, 1 tấm kính acrylic khắc hình 3D chưa bao gồm phí Ship.

    Điện thoại: Call 0972.841.191 - (Zalo) 01269.266.888

    Địa chỉ: 337/67/16C Cầu Giấy, Q Cầu Giấy, Hà Nội
     
  4. denled3d3012

    denled3d3012 Member

    Tham gia:
    30/12/16
    Bài viết:
    66
    "Thích" đã nhận:
    0
    Điểm nhận Cup:
    6
    Giới tính:
    Nam
    Đi trên phố vào những ngày lễ như 20/10, 8/3, Giáng sinh hay Valentine, không khó để nhìn thấy những bạn trẻ đang boăn khoăn khi phải đi chọn quà cho người thương của mình. Nhưng sẽ đặc biệt hơn nếu bạn tặng người thân, bạn gái 1 chiếc đèn led 3D tình yêu độc đáo.

    [​IMG]

    Nếu bạn đang muốn tìm một món quà vừa lạ mắt, dễ thương lại vừa mới lạ thì Đèn LED 3D tình yêu chính là một trải nghiệm tuyệt vời. Với ánh sáng mềm dịu và nhiệt độ thấp, đèn Led 3D hình bóng bay là lựa chọn xứng đáng để trưng bày trong phòng khách, văn phòng– tạo điểm nhấn, cuốn hút mọi người, tạo sự mới mẻ, tươi vui, hoặc là đặt tại phòng ngủ của bạn, trong quán rượu, các câu lạc bộ, nhà hàng, quán bar… như một ngọn đèn đêm diệu kỳ, mờ ảo và cũng có thể là bất cứ nơi nào bạn muốn.

    [​IMG]

    Sản phẩm thích hợp để bạn dành tặng cho người yêu, người thân, hoặc bạn bè trong những dịp đặc biệt như đám cưới, 14/2, 20/10, 8/3 và sinh nhật.

    Điểm gây ấn tượng của Đèn LED 3D tình yêu chính nét độc đáo là sản phẩm “made in Việt Nam”. Cùng với đó là thiết kế đơn giản nhưng không kém sự bắt măt và sáng tạo. Cùng với đó là tuổi thọ bóng đèn sử dụng lên tới hơn 20.000 giờ liên tục và thời gian bảo hành đến 1 năm.

    [​IMG]

    Một điều tạo nên sự khác biệt giúp mẫu Đèn LED 3D tình yêu trở “ăn đứt” các sản phẩm quà tặng khác trên thị trường chính là sản phẩm “hand made” và hoàn toàn thân thiện với môi trường chỉ với công suất tiêu thụ điện 0,2W.

    Với những đặc điểm bên trên, Đèn LED 3D tình yêu này sẽ là một món quà vô cùng đáng yêu và ý nghĩa để bạn dành tặng ai kia.

    Vậy thì bạn không thể bỏ lỡ 1 chiếc Đèn LED 3D tình yêu “made in Việt Nam” được thiết kế tinh tế đẹp mắt, kết hợp nhiều tính năng hấp dẫn hứa hẹn sẽ mang đến nhiều thú vị cho người được tặng món quà này. Đèn LED 3D tình yêu hiện đang rất hot, hãy nhanh tay mua ngay cho mình hoặc làm quà tặng bạn bè nhé.

    Thông số kỹ thuật đèn led 3d
    o Kích thước: 170 x 100 x 280 mm
    o Điện áp: 5V, 0.5A
    o Loại đầu cắm: cổng USB
    o Thời gian sử dụng LED: 50.000 giờ
    o Trọng lượng : 0.5 kg
    o Giá 300.000 đ/bộ bao gồm: 1 đế LED liền cáp USB, điều khiển, 1 tấm kính acrylic khắc hình 3D chưa bao gồm phí Ship.

    Điện thoại: Call 0972.841.191 - (Zalo) 01269.266.888

    Địa chỉ: 337/67/16C Cầu Giấy, Q Cầu Giấy, Hà Nội
     
  5. Duong Tu

    Duong Tu New Member

    Tham gia:
    15/1/18
    Bài viết:
    13
    "Thích" đã nhận:
    0
    Điểm nhận Cup:
    1
    Giới tính:
    Nam
    Nghề nghiệp:
    Programmer PHP
    Đến từ:
    TP HỒ CHÍ MINH
    ==> Sự trùng lặp dữ liệu email trong table tbl_user có thể bạn đỉnh nghĩa field email là primary key hoặc unique =>Mình sữa lại như sau:
    ALTER TABLE `tbl_user` CHANGE COLUMN `email` `email` VARCHAR(255) NULL ;
     

Share This Page