Ben bir veritabanına form girişi kaydedebilirsiniz nasıl, benim denetleyicisi için sorun değerlere gönderme yaşıyorum

2 Cevap php

İşte benim RegisterController bulunuyor:

public function saveforminformationAction(){
        $request = $this->getRequest();

        if($request->isPost()){
            //I NEED HELP WITH THE getFormValues() METHOD.
            $formResults = $this->getFormValues();
            $db = $this->_getParam('db');

            $data = array(
            'user'      => $formResults['username'],
            'email'     => $formResults['email'],
            'password'  => $formResults['password'],
            'passwordc' => $formResults['passwordc'],
            'name'      => $formResults['name'],
            'avatar'    => $formResults['avatar'],
            );


            $db->insert('Usuario',$data);           
        }
    }

Ve burada benim kaydı görünümü bulunuyor:

<body>  
        <h1>Thanks for signing up!</h1> 
        <?php
        $this->form->setAction($this->url(array('controller' => 'registration','action'=>'saveforminformation'))); 
        $this->form->setMethod('post');
        echo $this->form;
        ?>


        <img alt="signupimg" src="/img/signup.png">
    </body>

Ben Zend için oldukça yeni değilim, ama öğrenmeye hevesli değilim.

Nasıl formda gönderilen değerler alabilirim?

2 Cevap

Bunu doğrulamak ve onu filtre önce forma veri geçmek zorunda:

if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())
{
    $db->insert($form->getValues());
}

Veri geçerli değil ise, formu yanlış ne kullanıcıya göstermek mesajları verecek.

Zend_From garip bir sınıftır. Ben Zend Framework 'sadece ne istediğinizi kullanın' ethos ve kavratıcı MVC çerçeve oluşturmak için girişimi arasındaki gerginlik bir kurbanı olduğunu düşünüyorum. Bu denetleyici görevleri yapar (görünüme veri geçirerek, kullanıcı girişi getiriliyor) ve model görevleri (girişi doğrulayarak).

ZF Reference Guide on Zend_Form ihtiyacınız olan tüm bilgi vardır:

Bir form gönderildikten sonra, kontrol ve denetlemeleri geçerse görmek gerekir. Her eleman sağlanan verilere karşı kontrol edilir; eleman adıyla eşleşen bir anahtar yoksa, ve gerektiği gibi madde işaretli ise, doğrulamaları bir NULL değeri ile çalıştırılır.

Başvuru kılavuzunda örneklerden özetliyor:

    $form = new Your_Form;
    // check if we have a valid Form POST
    if($request->isPost() && $form->isValid($_POST)) {
        // get the filtered values from the Form
        $data = $form->getValues();
        // insert the values to the database
        $db->insert('Usuario', $data);
        // redirect and inform user of success
        $this->_helper->redirector(/*redirect somewhere*/);
    }
    // Set Form to View 
    // If it wasn't a POST, a blank Form will be shown in the View
    // If it's not a valid Form, the form will show old values and errors
    $this->view->form = $form;

Onlar sizin formunuza yerleştirilmeye formu filtreler aracılığıyla çalıştırmak edildikten sonra $form->getValues() tüm değerleri dönecektir tarafından döndürülen değerler forma girdi. Form giriş adlarını veritabanına sütun adlarıyla eşleşen varsa, veritabanına yerleştirilmeden önce, uygun bir diziye haritasına zorunda değilsiniz.


This is my 500th Answer! Yay!