Hello to all, welcome to therichpost.com. In this post, I will tell you, Angular 9 | PHP User Registration Form.
Post working:
In this post, I am making user registration form in Angular 9 and php. Angular 9 is my frontend and php is my backend.
Here is the complete code snippet and please use carefully:
1. Here are the basics commands to set angular 9 your system:
npm install -g @angular/cli ng new angularcrud //Create new Angular Project $ cd angularcrud // Go inside the Angular Project Folder ng serve --open // Run and Open the Angular Project http://localhost:4200/ // Working Angular Project Url
2. Here are the command to install bootstrap 4 into your angular 9 application:
npm install --save bootstrap
3. Now you need to add below bootstrap files path into your angular.json file:
"styles": [
...
"node_modules/bootstrap/dist/css/bootstrap.min.css"
...
],
"scripts": [
...
"node_modules/bootstrap/dist/js/bootstrap.min.js"
...
]
4. Now you need to add below code into your app.module.ts file:
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
...
imports: [
FormsModule,
HttpClientModule,
ReactiveFormsModule,
...
],
...
5. Now you need to add below code into your app.component.html file:
<h2 class="mt-3 mb-3">User Regsiteration</h2>
<form [formGroup]="registerForm" (ngSubmit)="onSubmit()">
<div class="form-group">
<label for="name">Name:</label>
<input type="text" class="form-control" placeholder="Enter name" id="name" formControlName="name" [ngClass]="{ 'is-invalid': submitted && f.name.errors }">
<div *ngIf="submitted && f.name.errors" class="invalid-feedback">
<div *ngIf="f.name.errors.required">Name is required</div>
</div>
</div>
<div class="form-group">
<label for="pwd">Email:</label>
<input type="email" class="form-control" placeholder="Enter email" id="email" formControlName="email" [ngClass]="{ 'is-invalid': submitted && f.email.errors }">
<div *ngIf="submitted && f.email.errors" class="invalid-feedback">
<div *ngIf="f.email.errors.required">Email is required</div>
<div *ngIf="f.email.errors.email">Email must be a valid email address</div>
</div>
</div>
<div class="form-group">
<label for="phone">Phone:</label>
<input type="text" class="form-control" placeholder="Enter phone" id="phone" formControlName="phone" [ngClass]="{ 'is-invalid': submitted && f.phone.errors }">
<div *ngIf="submitted && f.phone.errors" class="invalid-feedback">
<div *ngIf="f.phone.errors.required">Phone is required</div>
</div>
</div>
<div class="form-group">
<label for="phone">Password:</label>
<input type="password" class="form-control" placeholder="Enter phone" id="phone" formControlName="password" [ngClass]="{ 'is-invalid': submitted && f.password.errors }">
<div *ngIf="submitted && f.password.errors" class="invalid-feedback">
<div *ngIf="f.password.errors.required">Password is required</div>
</div>
</div>
<button type="submit" class="btn btn-primary mb-3">Submit</button>
</form>
6. Here is the code, you need to add into your app/app.component.ts file:
...
import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';
import { FormBuilder, FormGroup, FormControl, Validators} from '@angular/forms';
...
export class AppComponent implements OnInit {
registerForm: FormGroup;
submitted = false;
constructor(private http: HttpClient, private formBuilder: FormBuilder) { }
get f() { return this.registerForm.controls; }
onSubmit() {
this.submitted = true;
// stop here if form is invalid
if (this.registerForm.invalid) {
return;
}
else
{
// Initialize Params Object
var myFormData = new FormData();
const headers = new HttpHeaders();
// Begin assigning parameters
myFormData.append('name', this.registerForm.value.name);
myFormData.append('email', this.registerForm.value.email);
myFormData.append('phone', this.registerForm.value.phone);
myFormData.append('password', this.registerForm.value.password);
return this.http.post('http://localhost/mypage.php/'
, myFormData).subscribe((res: Response) => {
console.log("User Registration has been done.");
});
}
}
ngOnInit(): void {
this.registerForm = this.formBuilder.group({
name: ['', Validators.required],
phone: ['', Validators.required],
email: ['', [Validators.required, Validators.email]],
password: ['', Validators.required]
});
}
}
Here is the php code myphp.php for add and get user data and also please xampp control panel and this file will me in htdocs folder:
1. Code for php file(mypage.php):
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
$conn = new mysqli('localhost','root','','user');
if(isset($_POST['name']))
{
$sql = "INSERT INTO userdata (firstname, email, mobile, password)
VALUES ('".$_POST['name']."', '".$_POST['email']."', ".$_POST['phone'].", ".$_POST['password'].")";
if ($conn->query($sql) === TRUE) {
$myJSON = json_encode("New user created successfully");
} else {
$myArr = "Error: " . $sql . "<br>" . $conn->error;
$myJSON = json_encode($myArr);
}
echo $myJSON;
}
?>
This is it and if you have any kind of query then please do comment below.
Jassa
Thanks
