Katika somo hili utajifunza jinsi ya kutengeneza system ambayo mta atajisajili pamoja na kuchat na watumiaji wengine
Katika somo la 14 umejifunza namna ambavyo unaweza kuongeza taarifa kwenye database kwa kutumia HTML form. Katika somo hili tutakwenda kutengeneza project, kwa ajili ya kuchat public na watu mbalimbali.
kabla hatujaendlea na somo hili nataka kwanza nikufahamishe jambo. tambuwa kuwa project hii ni kukupa tu mwangaza kuhusu kutengeneza ukurasa wa kuchat. Tutakwenda kutengeneza system iliyo rahisi sana kulingana na kile tulichokisoma tu. hii itakuwa system rahisi sana, iliyokusudiwa kuonyesha tu namna ambavtyo mambo yanavyokwenda. Tutajifunza kutengeneza system kama hizi zilizo madhubuti katika course itakayofuata ya PHP LEVEL 3.
Sehemu kuu za project hii:
Project hii itakuwa katika sehemu kuu 4 yaani itakuwa na mafaili manne. katika mpangilio ufuatao:-
Ukurasa kwa ajili ya kujisajili
Ukurasa kwa ajili ya ku login
Ukurasa kwa ajili ya kutuma na kupokea meseji
ukurasa wa ku logout
Hivyo basi system hii itafanya kazi katika kurasa kuu hizo. kwanza mtu atajisajili, baada ya kujisajili atapelekwa kwenye ukurasa wa ku log in, kisha mchakato ukikamlika atapelekwa kwenye dashboard kwa ajili ya kuona meseji zilizotumwa na kutuma na yeye.
Kuandaa database
Katika database yetu ya hotel, ingia kwenye uwanja wa SQL kisha pest code hizi kutengeneza table yenye jina users
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Ingia kwenye seting za table kisha edit id, iweke PRIMARY kisha weka tiki kwenye AI ili kuifanya autoincrement. Rejea mafunzo ya database level 1. Table hii kazi yake ni kuhifadhi taarifa za watumiaji wa system. Kuna id, name kuhufadhi majina, kuna email kwa ajili ya kuhifadhi email zao na password kwa ajili ya kuuhifadhi password za user.
Kisha pest code zifuatazo kutengeneza table yenye jina la message hii ni kwa ajili ya kuhifadhi meseji zote zinazotumwa.
CREATE TABLE IF NOT EXISTS `message` (
`id` int(100) NOT NULL,
`sms` text NOT NULL,
`sender` varchar(255) NOT NULL,
`date` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Table hii ya meseji ina id, sms kwa ajili ya kuhifadhi meseji senyewe, pia kuna sender hili ni jina la aliyetuma hiyo meseji, na date ni kwa ajili ya kuhifadhi tarehe na muda wa hiyo meseji.
Ukurasa wa kujisajili (reg.php)
Tengeneza faili liite reg.php kisha pest code hizi
h1><b>Registration form</b></h1>
<form method="post" action="">
<input type="hidden" name="add" value="1">
<label>Name</label><br>
<input type="text" placeholder="Jina lako" name="name"><br>
<label>email</label><br>
<input type="email" placeholder="Weka Email" name="email"><br>
<label>Password</label><br>
<input type="password" placeholder="Weka password " name="password"><br>
<input type="submit" value="save">
</form>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "hotel";
if(isset($_POST["add"])){
//prepare variable
$name = ($_POST['name']);
$email = ($_POST['email']);
$pass = ($_POST['password']);
//connect database
$conn = mysqli_connect($servername, $username, $password, $dbname);
//insert data in database
$sql = "INSERT INTO users (name, email, password) VALUES ('$name', '$email', '$pass')";
if (mysqli_query($conn, $sql)) {
header("location: login.php");
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
}
?>
Code hizi hazina utofauti sana na tulizozipitia katika somo lililopita. Ni ukurasa hii ni sawa na ule ukurasa wa kuongeza data kwa kutumia html form. Hap kilichobadilika lamda kwenye user input kuna password na email. mambo mengine yaliobalia ni sawa na kutengeneza form ya ku add data kama tulivyoona katika somo lililopita.
Baada ya mchakato huu wa kujisajili kukamilika mtu atapelekwa moja kwa moja kwenye ukurasa wa ku login header("location: login.php") hapo atatakiwa ku log in kwa kutumia name na email.
Ukurasa wa ku login (login.php)
Tengeneza ukurasa mwengine wa php na upe jina la login.php. Kisha pest code hizi
<?php error_reporting (E_ALL ^ E_NOTICE); ?>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "hotel";
if(isset($_POST["save"])) {
//prepare variable
$name = ($_POST['name']);
$pass = ($_POST['password']);}
$conn = mysqli_connect($servername, $username, $password, $dbname);
$sql = mysqli_query($conn, "SELECT * FROM `users` ");
while($fetch = mysqli_fetch_array($sql)){
?>
<?php
if ($fetch['name'] == $name & $fetch['password'] == $pass ){
header("location: dashboard.php?name=$name");
}else echo "";
?>
<?php }?>
<h1><b>Login form</b></h1>
<form method="post" action="login.php">
<input type="hidden" name="save" value="1">
<label>Name</label><br>
<input type="text" placeholder="Jina lako" name="name"><br>
<label>Password</label><br>
<input type="password" placeholder="Weka password " name="password"><br>
<input type="submit" value="Submit">
</form>
...
Jifunze zaidi, na wasiliana nasi ukiwa na App yetu. Bofya link hapo chini kuweza kuipakua.
Download NowUmeionaje Makala hii.. ?
Katika post hii utajifunza jinsi ya kupata taarifa muhimu za mtumiaji kw akutumia Ip address yake.
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kuandika constant kwenye PHP. Pia utajifunza utofauti wake na variable
Soma Zaidi...Katika somo hili utajifunza jinsi ambavyo unaweza kutengeneza blog ambayo utaweza ku upload faili na kuandika makala kwa kutumia PHP
Soma Zaidi...Katika somo hili utakwenda kujifunza concept ya iteration kwenye PHP OOP hapa tutakwenda kuiona jinsi inavyofanya kazi pamoja na foreach loop
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Maana ya JSON na sheria za kuandika faili la json
Soma Zaidi...Katika somo hili utakwend akujifunz ajinsi ya kuandika query ndani ya ORM. Hii inakupa uhuru wa kufanya kileunachotaka bila ya kuathiri usalama wa project
Soma Zaidi...Hapa utajifunza jinsi ya kutengeneza table ambayo tutaitumia kwenye blog yetu
Soma Zaidi...Katika somo hili utajifunza kuhusu cronjob na matumizi yake kwenye PHP
Soma Zaidi...Katika somo hili uttakwend akujifunz ajinsi ambavyo utaweza kutengeneza simple ORM yakwako mwenyewe
Soma Zaidi...Haya ni mabo ya kuzingatia unapo encode ama ku decode data za json
Soma Zaidi...