2016-01-30 3 views
0

У меня есть функция:функции случайные из базы данных в php?

function nomor_registrasi() { 
    $sql=mysql_query("select * from pendaftaran order by no_registrasi DESC LIMIT 0,1"); 
    $data=mysql_fetch_array($sql); 
    $kodeawal=substr($data['no_registrasi'],6,7)+1; 
    if($kodeawal<10) { 
     $kode='SMKGJ00'.$kodeawal; 
    } else if ($kodeawal > 9 && $kodeawal <=99) { 
     $kode='SMKGJ0'.$kodeawal; 
    } else { 
     $kode='SMKGJ'.$kodeawal; 
    } 
    return $kode; 
} 

Если пользователь регистрируется от формы, пользователь будет иметь no_registrasi, например: последний no_registrasi запись в таблице SMKGJ006, так что пользователь будет иметь SMKGJ007 , и т. д.

Я начинаю изучать рамки php: laravel.

Как эту функцию можно использовать с помощью laravel?

+0

Добро пожаловать в SO. Есть ли что-то, что вы пытались и испытываете проблемы? – lagbox

+0

Я хочу перейти от старого phpmysqlm к laravel framework, теперь я не знаю, как это сделать с этой функцией, сгенерируйте no_registrasi для пользователя в форме registrastion –

+0

Если я правильно понимаю, я считаю, что вам нужно несколько шагов, чтобы ознакомиться с ними перед вами может получить ответ. Ваша функция все еще может работать, но вам нужно будет извлечь части sql и добавить в Laravel Models. Стандартная «пользовательская» модель имеет предварительно выполненную миграцию, в которую вы можете добавить поле «no_registrasi», а затем получить доступ к этому пользовательскому полю в процессе регистрации (вы можете добавить $ kode val в пользовательскую модель при регистрации через $ user-> no_registrasi или simliar. Но нужно сначала создать таблицу DB в процессе миграции. – Watercayman

ответ

0

Добавить столбец с именем no_registrasi в таблицу laravel с пользователями и использовать старый код при регистрации нового пользователя, изменить имя таблицы и другое имя столбца.

https://laravel.com/docs/5.0/schema

Schema::table('users', function($table) 
{ 
    $table->string('no_registrasi'); 
}); 
+0

дайте мне подробную информацию, им только новичок, № –

+0

how позвонить в nomor_registrasi() и где? –

+0

@ Rama Diansyah S в контроллере регистрации – Michael

1

Я использую Laravel 4!

Если вы хотите, чтобы ваша функция запускалась при регистрации пользователя, вам необходимо поместить ее в Контроллер, отвечающий за регистрацию пользователей.

Контроллеры находятся в папке /app/controllers.

Если вы недавно (1 минута назад) установлен ** Laravel 4,1 и не имеют контроллер, которые отвечают за регистрации пользователей (как меня, после установки у меня есть страница на с только изображение и you arrived и нет ссылки для регистрации и входа в систему, как после установки yii), когда вам нужно создать его.

Для создания контроллера UsersController/app/controllers положить в файл с именем UsersController.php и код:

<?php 

class UsersController extends BaseController { 

//!!show the form for registration from root /app/views/some_file name_like_register.blade.php in witch is html form 
public function getRegister() { 
    return View::make('users/register'); 
} 

    //!! register user when post data come from form 
    public function postRegister() { 

     //Here you can put your function      

    $rules = User::$validation; 

    $validation = Validator::make(Input::all(), $rules); 

    if ($validation->fails()) { 
     return Redirect::to('public/users/register')->withErrors($validation)->withInput(); 
    } 

    $user = new User(); 
    $user->fill(Input::all()); 
    $id = $user->register(); 
    return $this->getMessage("Registered successfull."); 
} 
} 

Добавить изменения в User модели. После

class User extends Eloquent implements UserInterface, RemindableInterface { 

добавить

 //form validation 
    public static $validation = array(
    'email'  => 'required|email|unique:users', 
    'username' => 'required|alpha_num|unique:users', 
    'password' => 'required|confirmed|min:6', 
    ); 

    //for registration 
    protected $fillable = array('username', 'email', 'password'); 


    // 
    public function register() { 

     //Here you can put your function     

    $this->password = Hash::make($this->password); 
    $this->activationCode = $this->generateCode(); 
    $this->save(); 
    Log::info("User [{$this->email}] registered. Activation code: {$this->activationCode}"); 

    /*$this->sendActivationMail();*/ //send email with activation code, set 1 to isActive value 
    return $this->id; 
    } 

protected function sendActivationMail() { /*do*/} 

protected function generateCode() { 
    return Str::random(); 
} 

Make-файл с именем register.blade.php в /app/views/ с кодом:

@section('title') 
@section('content') 

<div class="container"> 
@if ($errors->all()) 
    <div class="alert alert-danger"> 
     @foreach ($errors->all() as $error) 
     <p>{{ $error }}</p> 
     @endforeach 
    </div> 
@endif 

<h1>Registration</h1> 
{{ Form::open(array('url' => '/users/register', 'role' => 'form', 'class' => 'form-horizontal')) }} 
<div class="form-group"> 
    {{ Form::label('email', 'E-Mail', array('class' => 'col-sm-2 control-label')) }} 
    <div class="col-sm-5"> 
     {{ Form::email('email', null, array('class' => 'form-control')) }} 
    </div> 
</div> 
<div class="form-group"> 
    {{ Form::label('username', 'login', array('class' => 'col-sm-2 control-label')) }} 
    <div class="col-sm-5"> 
     {{ Form::text('username', null, array('class' => 'form-control')) }} 
    </div> 
</div> 
<div class="form-group"> 
    {{ Form::label('password', 'password', array('class' => 'col-sm-2 control-label')) }} 
    <div class="col-sm-5"> 
     {{ Form::password('password', array('class' => 'form-control')) }} 
    </div> 
</div> 
<div class="form-group"> 
    {{ Form::label('password_confirmation', 'retype pass', array('class' => 'col-sm-2 control-label')) }} 
    <div class="col-sm-5"> 
     {{ Form::password('password_confirmation', array('class' => 'form-control')) }} 
    </div> 
</div> 
<div class="form-group"> 
    <div class="col-sm-2">&nbsp;</div> 
    <div class="col-sm-5"> 
     <button type="submit" class="btn btn-primary">Go</button> 
    </div> 
</div> 

{{ Form::close() }} 

В таблице пользователей добавить registraci ячейку.Структура таблицы является

Schema::create('users', function(Blueprint $table) { 
     $table->increments('id'); 
     $table->string('email')->unique(); 
     $table->string('password', 60); 
     $table->string('username')->unique(); 
     $table->boolean('isAdmin'); 
     $table->boolean('isActive')->index(); 
     $table->string('activationCode'); 
     $table->rememberToken(); 
     $table->timestamps(); 


     // also add your registraci 
     $table->string('registraci', 200); 


     }); 

Для включения драйвера базы данных открытого /app/config/database.php и изменить при необходимости

 //select mysql or other 
'default' => 'mysql' 

     ... 
    //database and other change here 
    'mysql' => array(
     'driver' => 'mysql', 
     'host'  => 'localhost', 
     'database' => 'laravel', 
     'username' => 'root', 
     'password' => '', 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
    ) 

Если я потерял что-то вы получите ошибки сообщения не нравится oops, но реальные проблемы Чтобы увидеть ошибки перейти к /app/config/app.php и установлены на

'debug' => true, 
+0

Эй, парень, спасибо за детали, я постараюсь! –

Смежные вопросы