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

Gizzer2
Level 3
Level 3
Příspěvky: 419
Registrován: 27 pro 2011 18:49
Kontaktovat uživatele:

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

Příspěvek od Gizzer2 »

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/
Uživatelský avatar
lucAss
Level 2
Level 2
Příspěvky: 163
Registrován: 07 bře 2012 16:46

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

Příspěvek od lucAss »

"Nefunguje" je široký pojem. Co konkrétně to dělá?
Předtím, než jsme tam dali ten alert, tak vše šlo?
Gizzer2
Level 3
Level 3
Příspěvky: 419
Registrován: 27 pro 2011 18:49
Kontaktovat uživatele:

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

Příspěvek od Gizzer2 »

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: 07 bře 2012 16:46

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

Příspěvek od lucAss »

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>";
	    }
     
     }
} 
Gizzer2
Level 3
Level 3
Příspěvky: 419
Registrován: 27 pro 2011 18:49
Kontaktovat uživatele:

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

Příspěvek od Gizzer2 »

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: 07 bře 2012 16:46

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

Příspěvek od lucAss »

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. :)
Gizzer2
Level 3
Level 3
Příspěvky: 419
Registrován: 27 pro 2011 18:49
Kontaktovat uživatele:

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

Příspěvek od Gizzer2 »

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: 07 bře 2012 16:46

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

Příspěvek od lucAss »

Hoď si na ten alert třeba jen echo "Došlo to sem"; jestli se ta podmínka vůbec vyvolá..
Gizzer2
Level 3
Level 3
Příspěvky: 419
Registrován: 27 pro 2011 18:49
Kontaktovat uživatele:

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

Příspěvek od Gizzer2 »

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: 07 bře 2012 16:46

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

Příspěvek od lucAss »

A když tam napíšeš text bez slova "heslo", odešle se to?
Gizzer2
Level 3
Level 3
Příspěvky: 419
Registrován: 27 pro 2011 18:49
Kontaktovat uživatele:

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

Příspěvek od Gizzer2 »

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: 07 bře 2012 16:46

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

Příspěvek od lucAss »

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.
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek

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