PHP - somo la 26: Jinsi ya kutengeneza system ya ku chat kw akutumia PHP
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>
Hapa kuna vi trick kidogo vimetumika <?php error_reporting (E_ALL ^ E_NOTICE); ?> hii imetumika ili kutuliza PHP kutoa alert meseji za kuonyesha error, kwa maeneo ambayo kuna empty value za variable.
Trick iliotumika hapa ku log in ni kwanza tume select user kama tunavyojuwa, pindi tunapotaka kusoma taarifa kwenye database. Baada ya hapo sasa ndipo tunatumia trick kulinganisha, je jina ambalo mtu ameingiza ni sawa na majina ambayo hyapo walau moja wapo? <?php
if ($fetch['name'] == $name & $fetch['password'] == $pass ){
header("location: dashboard.php?name=$name");
}else echo "";
?>
Hapo utaona $fetch['name' ni kwa ajili ya kusoma names hivyo hapo nika tumia alma ya == kusema kuwa kama jina lililopo kwenye datanase ni sasa na jina ambalo mtu ameingine, na kama password iliyopo kwenye database ni sawa na password ambayo mtu ameingiza ukurasa utampeleka kwenye dashoard. Ngoja nikujuze kitu kipya hap
header("location: dashboard.php?name=$name"); Hapa kuna fun...
Umeionaje Makala hii.. ?
Share On:
👉1 Sira ya Mtume Muhammad (s.a.w) 👉2 Simulizi za Hadithi Audio 👉3 web hosting 👉4 Kitau cha Fiqh 👉5 Bongolite - Game zone - Play free game 👉6 Tafasiri ya Riyadh Swalihina
Post zinazofanana:
PHP BLOG - somo la 7: Jinsi ya kutengeneza ukurasa wa kusoma post kwenye blog
HApa utakwenda kujifunza sasa namna ya kuzisoma post kutoka kwenye blog
Soma Zaidi...PHP - somo la 39: Jinsi ya kutengeneza mafaili na mafolda kwenye server kwa kutumia PHP
Katika somo hili utakwenda kujifunza jinsi ya kuzungumza na server ili kutengeneza mafaili, mafolda, kufuta na ku edit kwa kutumia PHP.
Soma Zaidi...PHP somo la 86: JInsi ya ku decode json yaani kubadili json kuwa php data kama array ana object
Katika somo hili utakwend akujifunza jinsi ya kubadili json data na kuwaphp array ama php object. Kwa ufupi tunakwend aku decode json data kuwa phparray amaobject
Soma Zaidi...PHP BLOG - somo la 11: Jinsi ya kutumia prepared statement
Katika somo hili utajifnza jinsi ya kufanya prepared statement kama njia ya kuzuia sql ingection kwenye PHP blog
Soma Zaidi...PHP BLOG - somo la 9: Jinsi ya ku edit poost
Katika somo hil utawenda kujifunza jinsi ya ku edit post kwenye databse
Soma Zaidi...PHP BLOG - somo la 3: Jinsi ya kutengeneza table kwenye databse kwa ajili ya blog
Hapa utajifunza jinsi ya kutengeneza table ambayo tutaitumia kwenye blog yetu
Soma Zaidi...