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>
...
Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Katika somo hili utajwenda kujifunza jinsi ya kuzuia hacking kwenye website yako
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutuma email ambayo ina HTML, pia utajifunza kutuma email yenye picha na attachment nyinginezo kama pdf
Soma Zaidi...Katika somo hili utajifnza jinsi ya kufanya prepared statement kama njia ya kuzuia sql ingection kwenye PHP blog
Soma Zaidi...katika post hii utajifunza jinsi ya kutengeneza ukurasa wa dashboard kwa ajili ya kutibti post
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutumia PDO kutengeneza database, kuteneneza table na kuingiza data moja na zaidi ya moja.
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutumia constatnt kwenye class.
Soma Zaidi...Katika somo hilibutajifunza maana ya cURL pamoja na matumini yake
Soma Zaidi...Katika project hii utakwenda kujifunza jinsi ya kufanya CRUDE operation kwa kutumia PHP OOP na MySQL database.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu http header, maana yake na jinsi ya kusoma taarifa zilizopo kwenye http header.
Soma Zaidi...Hapa utajifunza jinsi ya kutengeneza table ambayo tutaitumia kwenye blog yetu
Soma Zaidi...