简体   繁体   中英

Php registration error validation

I have been practicing with PHP and mongodb. I am developing a simple web application but using OOP.

I created a class called user which has my methods to do with user like addUser, deleteUser etc. For add user, I would like for the form to carry out some simple validation tasks, but i am not sure how. Here is the class to add a new user:

function createUser($username, $name, $email, $password){


            $user = array(
                'username' => $username,
                'name' => $name,
                'email' => $email,
                'password' => $password

            );

            if ($this->db->count(array('username' => $username)) == 0) {
                $this->db->insert($user);
                return true;

            } else {
                echo 'username taken';
            }



    }

And the html:

<?php


session_start();
include_once 'user.php';
include './templates/header.php';


if (isset($_POST['register']) && ($_POST['register']) == ($_POST["register"])) {


                $user = new User();
                $return = $user->createUser(
                    $_POST['username'],
                    $_POST['name'],
                    $_POST['email'],
                    $_POST['password'],
                    $_POST['password2']);

        }
        if ($return == true) {
            echo 'you have successfully registered';
        } else {
            echo '</br>' . 'sorry, try again';
        }





?>
<div class="container">
    <div class="jumbotron">
        <form method="post" action="">
            <label>Username: </label><br>
            <input name="username" type="text" ><br><br>

            <label>Name: </label><br>
            <input name="name" type="text"><br><br>

            <label>Email: </label><br>
            <input name="email" type="email" ><br><br>

            <label>Password: </label><br>
            <input name="password" type="password" ><br><br><br>

            <label>Repeat Password: </label><br>
            <input name="password2" type="password" ><br><br><br>

            <input name="register" class="btn btn-primary btn-lg" type="submit" value="Register"><br>
        </form>
    </div>
</div>

Please feel free to correct me on other mistakes you may notice. I know there is bound to be some.

i wrote a simple example for you its simple and useful

 class validation { 
        public $currentValue;
        public $values = array();
        public $errors = array();

        public function __construct() {
            parent::__construct();

           //   echo "burasi model sayfasi ";


        }

        public function post($key){
            if(isset($_POST[$key])){
            $this->values[$key]     = $_POST[$key];
            $this->currentValue    = $key;
            return $this;
        }else{ die("hi boo boo ! your form values are empty");}

            }
    public function isEmpty(){
        if(empty($this->values[$this->currentValue])){
            $message='the form is emppty';
            $this->errors[$this->currentValue]['empty'] =''.$message.'';
        }
        return $this;
    }
    public function submit(){
        if(empty($this->errors)){
            return true;
        }else{
            return false;
        }
    }
  }

this is an example so how can you use it ? firstly you need yo call the class

$form = new validation ();
   $form->post("all you need just write post name here ")
->isEmpty();
if($form->submit()){
//everyting is ok !
you cann add delet or update data 
}else{
$data["error"] = $form->errors;  // and we sett the errorr mesages to the array now you can show the user the errormesages ! well done 
}
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM