PHP Kişiler Arası Mesajlaşma

PHP Kişiler Arası Mesajlaşma
Merhabalar,
Son çalışmamda PHP ile kişiler arası mesajlaşmayı yapmak istedim.
Çalışmada:

  • SESSİON
  • PHP
  • PDO
  • HTML
Kullandım.
Her hangi bir kişinin kullanıcı adını yazarak istediğiniz kişiye rahatlıkla mesaj atabiliyorsunuz.
yenile butonuna basınca sayfayı reload yani sayfayı yeniliyor.
Anlık veri güncellemesi yapmadım, böyle daha hoş gözüktü bana.
Umarım sizlerde beğenirsiniz.
Dosyaları indirmek için tıklayın.
Ana Görünüm

Giriş Bölümü

Mesaj Atma Bölümü

ayar.php
<?php session_start(); ob_start(); try { $baglanti = new PDO("mysql:host=localhost;dbname=mesajlas;charset=utf8;","root",""); } catch(PDOException $e) { echo "Bağlantı Başarısız!"; print $e -> getMessage(); }
index.php
<?php require_once "ayar.php"; if(!isset($_SESSION["kisi_id"]) || empty($_SESSION["kisi_id"])) { header("Location:giris.php"); exit; } $kisi_id = $_SESSION["kisi_id"]; $kisi_bilgileri = $baglanti->query("SELECT * FROM uyeler WHERE kisi_id='$kisi_id'")->fetch(PDO::FETCH_ASSOC); if(isset($_POST["mesaj-at-submit"])) { $kimden = $kisi_bilgileri["k_adi"]; $kisi = $_POST["kisi"]; $mesaj = $_POST["mesaj"]; $kisi_bilgileri_2 = $baglanti->query("SELECT * FROM uyeler WHERE k_adi='$kisi'")->fetch(PDO::FETCH_ASSOC); if($kisi==$kimden){echo '<script>alert("Hata -> 1.1: Mesaj Gönderilemedi!")</script>';} if(!$kisi_bilgileri_2){echo '<script>alert("Hata -> 1.2: Mesaj Gönderilemedi!")</script>';} $ekle = $baglanti->prepare("INSERT INTO mesajlar SET kime=?, kimden=?, mesaj=?, durum=?"); $ekle -> execute([ $kisi,$kimden,$mesaj,0 ]); if(!$ekle) { echo '<script>alert("Hata -> 2: Mesaj Gönderilemedi!")</script>'; } else { echo '<script>alert("Mesaj Gönderildi!")</script>'; header("refresh:0;url=index.php"); } } ?> <!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="inc/style.css"> <title>Anasayfa</title> <script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script> </head> <body> <table width="100%" height="" border="0" align="center" cellpadding="5"> <tr> <td height="32" colspan="3"> <a href="index.php" title="Anasayfa">Anasayfa </a> &nbsp;&nbsp; <a href="cikis.php" title="Çıkış Yap">Çıkış Yap</a> <a style="float:right;"><?php echo $kisi_bilgileri["k_adi"]; ?></a> </td> </tr> <tr> <td width="21%" rowspan="3" align="left" valign="middle"> <ul> <?php $sor = $baglanti->query("SELECT * FROM uyeler"); foreach ($sor as $getir){ if($getir["k_adi"]!=$kisi_bilgileri["k_adi"]) {echo"<li>".$getir["k_adi"]."</li>";} }?> </ul></td> <td width="59%" id="gelenler" height="215" valign="top" colspan="2"> <button id="yenile" class="yenile_buton">Yenile</button> <script> $("#yenile").click(function(){ window.location.reload() }); </script> <?php include "gelen-mesaj.php"?> </td> </tr> <tr><form action="index.php" method="post"> <td height="130" align="center" valign="middle"><label for="textfield">Kişinin Kullanıcı Adı:</label><br><br> <label for="mesaj">Mesaj:</label></td> <td align="center" valign="middle"><p> <input name="kisi" type="text" required id="textfield" placeholder="Kullanıcı Adı" title="Kullanıcı Adı" value="<?php if(isset($_POST["mesaj-at-submit"])) echo $kisi; ?>"> <br><br> <input name="mesaj" type="text" required id="mesaj" placeholder="Mesajınız" title="Mesajınız"autocomplete="off"></td> </tr> <tr> <td align="center" colspan="2" valign="middle"><input type="hidden" name="mesaj-at-submit" value="1"> <input type="submit" title="Gönder" value="Gönder"> </td> </tr> </table></form> </body> </html>
style.css
*,html,body{ outline:none; } td{ border:1px solid #ddd; } .giris,.kayit{ margin-top:auto; margin-bottom:auto; border:1px solid transparent; width:45%; } .giris{ float:left; } .giris:hover,.kayit:hover{ border-color:red; } .kayit{ float:right; } td{ padding:5px; } .giris input,.kayit input{ outline:none; padding:5px; } .mesajlar ul, .mesajlar li{ list-style: none; padding: 5px; margin: 5px; } .mesajlar li{ width: 90%; border:1px solid #ddd; margin:auto; margin-bottom:5px; } .mesajlar li:nth-child(2n){ border:1px solid rgb(238, 139, 139); } .yenile_buton{ float:right; top:0; } a{ padding:5px; transition:all 0.5s; border:1px solid transparent; text-decoration:none; color:blue; } a:hover{ border-color:blue; color:red; border-radius:5px; }
giris.php
<?php require_once "ayar.php"; ?> <?php if(isset($_SESSION["kisi_id"]) || !empty($_SESSION["kisi_id"])) { header("Location:index.php"); exit; } if(isset($_POST["giris_submit"] )) { $kadi = $_POST["kadi"]; $sifre = $_POST["pass"]; $sorgu = $baglanti->query("SELECT * FROM uyeler WHERE k_adi='$kadi' and sifre = '$sifre'")->fetch(PDO::FETCH_ASSOC); if($sorgu) { $_SESSION["kisi_id"] = $sorgu["kisi_id"]; echo "<script>alert('Giriş Başarılı Yönlendiriliyorsunuz!');</script>"; header("refresh:0;url=index.php"); exit; } else { echo "<script>alert('Giriş Başarısız Tekrar Deneyin');</script>"; } } if(isset($_POST["kayit_submit"])) { $kadi = $_POST["kadi"]; $email = $_POST["email"]; $sifre = $_POST["pass"]; $sorgu = $baglanti->query("SELECT k_adi FROM uyeler WHERE k_adi='$kadi'")->fetch(PDO::FETCH_ASSOC); if($sorgu) { print_r($sorgu); echo "<script>alert('Farklı Bir Kullanıcı Adı Seçin!');</script>"; header("refresh:0;url=giris.php"); exit; } else { $metin = str_replace(" ","",$kadi); $kisi_id = md5($kadi); $ekle = $baglanti->prepare("INSERT INTO uyeler SET k_adi=?, kisi_id=?, email=?, sifre=?"); $ekle->execute([ $kadi,$kisi_id,$email,$sifre ]); if($ekle) { echo "<script>alert('Kayıt İşlemi Başarılı Yönlendiriliyorsunuz!');</script>"; $_SESSION["kisi_id"] = $kisi_id; header("refresh:0.5;url=index.php"); } } } ?> <!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="inc/style.css"> <title>Giriş Yap</title> </head> <body> <div class="giris"> <table align="center"> <tr> <th>Giriş Yap</th> </tr> <tr><form action="" method="post"> <td>Kullanıcı Adı : </td> <td><input type="text" name="kadi" id="" value="<?php if(isset($_POST["giris_submit"])) echo$kadi; ?>"required></td> </tr> <tr> <td>Şifre : </td> <td><input type="password" name="pass" id="" required></td> </tr> <tr> <td align="center"> <input type="hidden" name="giris_submit" value="1"> <input type="submit" value="Giriş Yap"> </td></form> </tr> </table> </div> <div class="kayit"> <table align="center"> <tr> <th>Kayıt Ol</th> </tr> <tr> <td>Kullanıcı Adı : </td><form action="" method="post"> <td><input type="text" name="kadi" id="" value="<?php if(isset($_POST["kayit_submit"])) echo$kadi; ?>"required></td> </tr> <tr> <td>E-posta : </td> <td><input type="email" name="email" id=""value="<?php if(isset($_POST["kayit_submit"])) echo$email; ?>"required></td> </tr> <tr> <td>Şifre : </td> <td><input type="password" name="pass" id=""required></td> </tr> <tr> <td align="center"> <input type="hidden" name="kayit_submit" value="1"> <input type="submit" value="Kayıt Ol"> </td></form> </tr> </table> </div> </body> </html>
gelen-mesaj.php
<?php if(!isset($_SESSION["kisi_id"]) || empty($_SESSION["kisi_id"])) { header("Location:index.php"); exit; } $kisi_id = $_SESSION["kisi_id"]; $kisi_bilgileri = $baglanti->query("SELECT * FROM uyeler WHERE kisi_id='$kisi_id'")->fetch(PDO::FETCH_ASSOC); $kime = $kisi_bilgileri["k_adi"]; $sorgucu = $baglanti->query("SELECT * FROM mesajlar WHERE kime='$kime' ORDER BY id DESC"); if($sorgucu) { echo "<ul class='mesajlar'>"; foreach($sorgucu as $cek) { echo "<li>".$cek["kimden"]." : ".$cek["mesaj"]." 'dedi</li>"; } echo "</ul>"; } else{echo "Hata Var!";}?>
cikis.php
<?php require_once "ayar.php"; session_destroy(); header("Location:giris.php"); ?>
Etiketler :
php kişiler arası mesajlaşmaphppdoekabavphp mesajlaşmaphp sohbet

Yorum Yap :

Yorum Gönder (0)
Daha yeni Daha eski