John Davidson

php - Generate a unique link for each name - yii2


I am working on development of web app, Users are supposed to register on the web app.

This is my table where data is being stored post registration.

I would like to give every user a unique url which would be stored in the same table where details of the users is being saved so that their profile url shares their society name (society_name). For example, the website domain would be and the users' url would be

I would like to save the unique generated url in in the field "url"(#14) of my table.

My User Register Controller looks like this

public function actionRegister() {
$this->layout = 'society';

if (!Yii::$app->user->isGuest) {
return $this->goHome();

$model = new User();
$society = new \app\models\Society();

if ($model->load(Yii::$app->request->post())) {

$password= $_POST['User']['password'];
$password_hash = Yii::$app->security->generatePasswordHash($password);
$auth_key = Yii::$app->security->generateRandomString();

$society = new \app\models\Society();
$random_number=mt_rand(10000, 99999);
$society->society_name = $_POST['Society']['society_name'];
$society->contact_person = $_POST['Society']['contact_person'];
$society->address = $_POST['Society']['address'];
$society->society_id =$random_number;
$society->mobile = $mobile;
$society->status =0;
$session = Yii::$app->session;
return $this->redirect(['regsuccess']);
return $this->render('society', [
'model' => $model,
'society' => $society,

PS : English is not my native language. I am newbie to yii2 and stackoverflow, please excuse me for the mistakes.

My Answer:
Here is an example of how you can generate a unique URL for each user in Yii2 using PHP:

use yii\helpers\Url;

// Assuming $model is the model where user details are being saved
$model->url = '' . strtolower(str_replace(' ', '', $model->society_name));

// Save the model

In this code snippet, we are generating a unique URL for each user by concatenating the website domain with the society name (after removing spaces and converting to lowercase). This unique URL is then saved in the `url` field of the user's record in the database.

You can customize the URL generation logic as per your requirements.

Rate this post

5 of 5 based on 9475 votes


© 2024 - Personal Blogs Platform. All Rights Reserved.
Create blog  |  Privacy Policy  |  Terms & Conditions  |  Contact Us