PHP - somo la 26: Jinsi ya kutengeneza system ya ku chat kw akutumia PHP

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:-

  1. Ukurasa kwa ajili ya kujisajili

  2. Ukurasa kwa ajili ya ku login

  3. Ukurasa kwa ajili ya kutuma na kupokea meseji

  4. 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.

 

  1. 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.  

 

 

  1. 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.

 

  1. 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...

Ingia sasa ili uweze kusoma makala hii yote.

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

       
Author: Rajabu Rajabu
Tarehe: 2024-05-10 14:53:23 Topic: PHP Main: Project File: Download PDF Views: 1629

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 Kitau cha Fiqh     👉2 web hosting     👉3 kitabu cha Simulizi     👉4 ai web app     👉5 Sira ya Mtume Muhammad (s.a.w)     👉6 Simulizi za Hadithi Audio    

Post zinazofanana:

Jinsi ya kutuma Email kwa kutumia PHP

Katika post hii utakwenda kujifunza jinsi ya kutuma email kwa kutumia php function ya email()

Soma Zaidi...
PHP - somo la 15: Jinsi ya kutengeneza table kwenye database kwa kutumia PHP

Katika somo hili utakwenda kujifunza jinsi ya kutumia PHP kutengeneza tabale kwenye database ya mysql .

Soma Zaidi...
PHP somo la 56:class interface na polymorphism kwenye PHP OOP

Katika somo hili utakwenda kujifunza concept ya interface na concept ya polymorphism kwenye PHP OOP.

Soma Zaidi...
PHP -somo la 31: Matumizi ya include() na require() function kwenye php

Katika somo hili utakwenda kujifunza jinsi ya kuandika function za PHP kama require() na iclude()

Soma Zaidi...
PHP - somo la 40: Jinsi ya kutumia htaccess file kubadilisha muonekano wa link

Katika somo hili uatakwenda kujifunza jinsi ya kutumia htaccess ili kubadili muonekano wa link ya website ama blog ili kuifanya iwe rafiki zaidi.

Soma Zaidi...
PHP somo la 65: Jinsi ya kusoma data kwenye database kwa kutumia PDO

Katika somo hili utakwenda kujifunza jinsi ya kusoma data kwenye database kwa kutumia PDO.

Soma Zaidi...