Při odeslání zprávy kontrola slova, nevhodné slovo neodeslat

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Gizzer2
Level 3
Level 3
Příspěvky: 419
Registrován: prosinec 11
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Při odeslání zprávy kontrola slova, nevhodné slovo neode

Příspěvekod Gizzer2 » 15 črc 2014 10:58

Celý soubor je :

Kód: Vybrat vše

 <?php
    class Chat extends Core
    {
        public function fetchMessages()
        {
               $this->query("
                SELECT     `chat`.`message`,
                           `chat`.`timestamp`,
                           `chat`.`ip`,
                           `chat`.`message_id`,
                           `uzivatele`.`jmeno`,
                           `uzivatele`. `id`,
                           `uzivatele`. `admin`
                FROM        `chat`
                JOIN        `uzivatele`
                ON          `chat`.`id` = `uzivatele`.`id`
                ORDER BY    `chat`.`timestamp`
                DESC           
                ");
          return $this->rows();
        }
       public function throwMessage($id, $message)
       {
           $adr=$_SERVER["REMOTE_ADDR"];   
           if(!strstr($message, "heslo"))
             
           {
               $this->query("
                          INSERT INTO `chat` (`id`, `message`, `timestamp`, `ip`)
                           VALUES (" . (int)$id.", '" .$this->db->real_escape_string($message) ."', UNIX_TIMESTAMP(), '$adr')
                         ");
           }else{   
              echo "<script>alert(\"Zpráva obsahuje nepovolené slovo!\");</script>";
           }
         
         }
    }
"Cíle by měly být třešínky na dortech, ne na hromadách hoven."
To nejlepší z country muziky:http://country.funsite.cz/

Reklama
Uživatelský avatar
lucAss
Level 2
Level 2
Příspěvky: 163
Registrován: březen 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Při odeslání zprávy kontrola slova, nevhodné slovo neode

Příspěvekod lucAss » 15 črc 2014 11:03

To je zajímavý, ta podmínka je v pořádku..

Uživatelský avatar
Gizzer2
Level 3
Level 3
Příspěvky: 419
Registrován: prosinec 11
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Při odeslání zprávy kontrola slova, nevhodné slovo neode

Příspěvekod Gizzer2 » 15 črc 2014 11:12

Nyní vyzkoušeno toto:

Kód: Vybrat vše

    <?php
    class Chat extends Core
    {
     private $badWords = array("heslo", "neco", "dalsiho");
        public function fetchMessages()
        {
               $this->query("
                SELECT     `chat`.`message`,
                           `chat`.`timestamp`,
                           `chat`.`ip`,
                           `chat`.`message_id`,
                           `uzivatele`.`jmeno`,
                           `uzivatele`. `id`,
                           `uzivatele`. `admin`
                FROM        `chat`
                JOIN        `uzivatele`
                ON          `chat`.`id` = `uzivatele`.`id`
                ORDER BY    `chat`.`timestamp`
                DESC           
                ");
          return $this->rows();
        }
 public function throwMessage($id, $message){
      $adr=$_SERVER["REMOTE_ADDR"];

      try {
        foreach ($this->badWords as $word) {
          if (strpos($message, $word) !== FALSE) {
            throw new Exception("Text obsahuje slovo {$word}.");
          }
        }

        $this->query("
          INSERT INTO `chat` (`id`, `message`, `timestamp`, `ip`)
          VALUES (" . (int)$id.", '" .$this->db->real_escape_string($message) ."', UNIX_TIMESTAMP(), '$adr')
        ");
      } catch (Exception $e) {
        die($e->getMessage());
      }
  }
}   


Tak to také správně nezapíše slova která nechci ale ani teď to nehodí hlášku. :thumbdown:

--- Doplnění předchozího příspěvku (15 Črc 2014 15:23) ---

nemůže být problém že se zpráva odesílá ajaxem?
"Cíle by měly být třešínky na dortech, ne na hromadách hoven."
To nejlepší z country muziky:http://country.funsite.cz/

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Při odeslání zprávy kontrola slova, nevhodné slovo neode

Příspěvekod CZechBoY » 15 črc 2014 22:33

Jo ajax může bejt problém, protože ten se nevypisuje - musíš si ho vypsat sám.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů