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

Bohužel nefunguje, asi dělám něco špatně:

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{
      ?>
        <script type"text/javascript">
      alert("Text obsahuje nepovolené slovo!");
      </script>
      <?
      }
     
      }
 


Zprávu to sice neodešle, ale hláška nevyskočí
"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 10:15

"Nefunguje" je široký pojem. Co konkrétně to dělá?
Předtím, než jsme tam dali ten alert, tak vše šlo?

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

Zprávu to sice neodešle, ale hláška nevyskočí
"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
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 10:22

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>";
       }
     
     }
}

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

Musel jsem upravit uvozovky v :

Kód: Vybrat vše

echo '<script>alert("Zpráva obsahuje nepovolené slovo!");</script>';


Ovšem ani tak to hlášku nevyhodí.
Díky za tvůj čas.
"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
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 10:38

Pardon, moje chyba.

Kód: Vybrat vše

echo "<script>alert(\"Zpráva obsahuje nepovolené slovo!\");</script>";


Teď jsem si to spustil na localhostu a funguje. :)

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

Takže, nyní to vypadá takto:

Kód: Vybrat vše

       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>";
           }
         
         }
    }

Ale hlášku mi to ne a ne hodit.
"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
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 10:42

Hoď si na ten alert třeba jen echo "Došlo to sem"; jestli se ta podmínka vůbec vyvolá..

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

Slovo heslo to neodešle ale žádné echo to bohužel nevypíše.
Naposledy upravil(a) Gizzer2 dne 16 črc 2014 14:20, celkem upraveno 2 x.
"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
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 10:48

A když tam napíšeš text bez slova "heslo", odešle se to?

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

Ano odešle
"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
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 10:57

Můžeš sem hodit ten celej soubor? Podle viewtopic.php?f=61&t=136292&p=1076095#p1076085 tam je navíc }. Ale to by se ten script nenačetl. Radši sem hoď celý ten soubor - tu třídu.


  • 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 8 hostů