Мои данные успешно входят в базу данных. Но, не перенаправляясь на страницу register.php после вставки.Замечание PHP - yii base ErrorException (преобразование массива в строку) Yii
Показаны Обратите внимание, как:
PHP Примечание - юй \ база \ ErrorException
Массив для преобразования строки
Но я заметил, что, как только я это замена line return $this->refresh($post);
от SiteController.php, все работает нормально.
Итак, почему это refresh($post)
нерабочий .. как было хорошо работает на другой странице.
Я не понимаю, как решить эту проблему. Мне нужна помощь. Пожалуйста, помогите мне.
register.php
<?php
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
?>
<?php $form = ActiveForm::begin(['id' => 'register-form']); ?>
<?= $form->field($model, 'fname')->textInput()->label('First Name') ?>
<?= $form->field($model, 'lname')->textInput()->label('Last Name') ?>
<?= $form->field($model, 'email')->textInput()->label('Email') ?>
<?= $form->field($model, 'password')->passwordInput()->label('Password') ?>
<div class="form-group">
<?= Html::submitButton('Register', ['class' => 'btn btn-success', 'name' => 'register-button' ]) ?>
</div>
<?php ActiveForm::end(); ?>
SiteController.php (контроллер)
<?php
namespace app\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;
class SiteController extends Controller
{
public function actionRegister()
{
$model = new RegisterForm();
if ($model->load(Yii::$app->request->post()))
{
$post = Yii::$app->request->post('RegisterForm');
Yii::$app->db->createCommand("INSERT INTO members SET FirstName=:fname, LastName=:lname, EmailID=:email, Password=:password",
array(':fname' => $post['fname'],':lname'=>$post['lname'],':email'=>$post['email'],':password'=>$post['password']))->execute();
Yii::$app->session->setFlash('registerFormSubmitted');
return $this->refresh($post);
}
return $this->render('register', [
'model' => $model,
]);
}
}
RegisterForm.php (модель)
<?php
namespace app\models;
use Yii;
use yii\base\Model;
class RegisterForm extends Model
{
public $fname;
public $lname;
public $email;
public $password;
public function rules()
{
return [
[['fname','lname', 'email', 'password'], 'required'],
['email', 'email'],
];
}
public function register()
{
if ($this->validate())
{
/*
$form= new Form();
$form->name=$this->name;
$form->email=$this->email;
$form->passowrd=$this->passowrd;
$form->save();
*/
return true;
}
return false;
}
}
Итак, какие изменения мне нужно сделать мистеру Хэнки. –
Отправьте ему строку, которую вы хотите использовать в качестве якоря для вашего URL-адреса перенаправления. Если нет, тогда просто ничего не отправляйте, вместо '$ post'. –
Да. За работой. Спасибо, мистер Хэнки. –