Autor Zpráva
hmmm
Profil *
mam kod:

<html>
<body>
<form action="spam.php" method="POST">
<textarea name="text" rows="15" cols="30"></textarea><br>
<input type="submit" value="Ako velmi mam spamovaci prispevok?">
</form>
<?
if (isset($_POST["text"])){
$slovnik=array("http://","buy","viagra","order","cheap","discount","va lium","tramadol","hydrocodone","fioricet","adipex","sex","add SMS");
$body=array(1,2,5,3,3,3,5,5,5,5,75,25);
$text=strtolower($_POST["text"]);
$spam=0;
for ($i=0;$i<sizeof($slovnik);$i++){
$spam=$spam+(substr_count($text,$slovnik[$i])*$body[$i]);
}
echo "Spam index= ".$spam;
}
?>
</body>
</html>


co tam mam pridat, aby to zablokovalo ak to ma viac bodov ako 70?
nightfish
Profil
aby to zablokovalo co? žádnou výkonnou část tam nemáš...

jinak teda
if ($spam < 70) {
  // ulož do DB
} else {
  echo "Neotravuj hnusný spammere.";
}
hmmm
Profil *
ja viem ze tam nemam ziadnu odsielaciu cast, mne islo iba o toto





a ako by sa dalo do suboru ukladat?
na to som este nedosiel
nightfish
Profil
http://www.linuxsoft.cz/article.php?id_article=357
a nebo
fopen(), fwrite(), fclose()
hmmm
Profil *
pls, na nejakom priklade
nightfish
Profil
tady je to i s příklady
http://cz.php.net/fopen
http://cz.php.net/fwrite
http://cz.php.net/fclose
hmmm
Profil *
moze by ten kod takto?

<form method="GET" action="http://d-n-a.xf.cz/komentuj.txt">
Váš mail: <input name="mail_odesilatele" size="20"><br>
Predmet: <input name="predmet" size="20"><br>
Zpráva: <textarea name="zprava" rows="4" cols="30"></textarea><br>
<input type="submit" value="Odoslat">
</form>
<?
if (isset($_POST["text"])){
$slovnik=array("http://","buy","viagra","order","cheap","discount","va  lium","tramadol","hydrocodone","fioricet","adipex","sex","add SMS");
$body=array(1,2,5,3,3,3,5,5,5,5,75,25);
$text=strtolower($_POST["text"]);
$spam=0;
for ($i=0;$i<sizeof($slovnik);$i++){
$spam=$spam+(substr_count($text,$slovnik[$i])*$body[$i]);
}
echo "Spam index= ".$spam;
}

if ($spam < 70) {
  // ulož do DB
} else {
  echo "Neotravuj hnusny, spammer/spambot !!!";
}

?>
nightfish
Profil
moze by ten kod takto?
může, ale samozřejmě se to nikam neuloží...
hmmm
Profil *
tak ako?
prosim, pomozte to zlepsit
hmmm
Profil *
pomoze toto?

<form method="post" action="http://d-n-a.xf.cz/komentuj.txt">
Váš mail: <input name="mail_odesilatele" size="20"><br>
Predmet: <input name="predmet" size="20"><br>
Zpráva: <textarea name="zprava" rows="4" cols="30"></textarea><br>
<input type="submit" value="Odoslat">
</form>
<?
if (isset($_POST["text"])){
$slovnik=array("http://","buy","viagra","order","cheap","discount","va   lium","tramadol","hydrocodone","fioricet","adipex","sex","add SMS");
$body=array(1,2,5,3,3,3,5,5,5,5,75,25);
$text=strtolower($_POST["text"]);
$spam=0;
for ($i=0;$i<sizeof($slovnik);$i++){
$spam=$spam+(substr_count($text,$slovnik[$i])*$body[$i]);
}
echo "Spam index= ".$spam;
}

if ($spam < 70) {
  // ulož do DB
} else {
  echo "Neotravuj hnusny, spammer/spambot !!!";
}

?>
hmmm
Profil *
prosim, poradte
lokutus7323
Profil *
já si nejsem jist zda jsem pochopil správně fuknkci scriptu...ale neuloží se ti to protže, že tam nemáš přkaz na uložení...resp.:

//ulož do DB = komentá začínající // ...není to sript

takže hned pod tento text npiš:
mysql_connect("server_muze_byt_localhost_zalezi_na_poskytovateli","uzi vatelsky_jmeno","heslo");
$db="jmeo_databaze";
$poslat="INSERT INTO `jmeno_tabulky_v_databazi` values (sem_napis_hodnoty_v_ 'techto'_uvozvkach_oddelenych carkou a za carkou mezera) ";
mysql_db_query($db, $poslat);

příklad:

[pre]$poslat="INSERT INTO `chat` values ('', '$ide', '$cas', '$text') ";
mysql_db_query($db, $poslat);



Mno a kdybys měl ještě problém s něčím,napiš to sem..rád ti pomohu
PS: vysvětli co by měl script dělat

[/pre]
lokutus7323
Profil *
PS: ta pravni prazdna uvozovka není chyba..ve svém scriptu funguje tak, že do prvni hodnoty v tabulce nedoplní nic..popřípadě si MySQl sama doplní +1 k ID (funguje u AUTO_INCREMENT)
hmmm
Profil *
ja by som chcel aby sa to ukladalo do suboru

ASI by sa to malo urobit s fwrite
ale nie som si isty
hmmm
Profil *
a keby to bolo nejako takto?

<form method="post" action="http://d-n-a.xf.cz/komentuj.txt">
Váš mail: <input name="mail_odesilatele" size="20"><br>
Predmet: <input name="predmet" size="20"><br>
Zpráva: <textarea name="zprava" rows="4" cols="30"></textarea><br>
<input type="submit" value="Odoslat">
</form>
<?
if (isset($_POST["text"])){
$slovnik=array("http://","buy","viagra","order","cheap","discount","va    lium","tramadol","hydrocodone","fioricet","adipex","sex","add SMS");
$body=array(1,2,5,3,3,3,5,5,5,5,75,25);
$text=strtolower($_POST["text"]);
$spam=0;
for ($i=0;$i<sizeof($slovnik);$i++){
$spam=$spam+(substr_count($text,$slovnik[$i])*$body[$i]);
}
echo "Spam index= ".$spam;
}

if ($spam < 70) {
  // ulož do DB
} else {
  echo "Neotravuj hnusny, spammer/spambot !!!";
}

fwrite($text)
?>
lokutus7323
Profil *
tak to bohužel nemohu sloužit,jelikož jsem se zápisem do souboru ještě nedělal...a zatím se k tomu nehodnám stavět jinak....Nicméně jsem něco o této metodě (fwrite) slyšel, ale nejsem si jistý zda to je vhodné místo pro formulář....
hmmm
Profil *
lokutus7323
nepochopil som myslienku
nightfish
Profil
hmmm
přečetl sis manuálové stránky fopen, fwrite a fclose, jak jsem ti je posílal? pokud ano, tak bys neměl mít problém (i třeba s pomocí příkladů na těch stránkách uvedených) napsat kód, který zapíše obsah proměnné $text na konec souboru

malá nápověda č. 1: zápis na konec/začátek souboru se tu řeší celkem často
malá nápověda č. 2: zápis do souboru je třeba umístit místo řádku s // Ulož do DB

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: