Autor | Zpráva | ||
---|---|---|---|
sandoklan Profil * |
#1 · Zasláno: 24. 7. 2008, 21:34:29
Zdravim, jsem naprosty amater v php, chtel bych na svych strankach pouzit antispamovou ochranu na inzerci (kterou jsem nedelal ja), hodlam se pouzit tuto metodu http://suplik.petnik.cz/funkcni-javasriptova-bariera-na-komentarovy-sp am-qxxq628.html, ale potreboval bych poradit jak vlozit tento prikaz:
if ($_POST["robot"]*1==6) // pridej prispevek nevim jak ho zkombinovat s prikazem odeslani formulare: <input type="submit" value="Vložit inzerát" /> dekuji moc za rady |
||
srigi Profil |
#2 · Zasláno: 24. 7. 2008, 22:00:10 · Upravil/a: srigi
Toto si uloz do nejakeho suboru .php na server
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cz" lang="cz"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta http-equiv="content-language" content="cz" /> <title>Formular</title> <link rel="stylesheet" type="text/css" media="screen" href="style.css" /> </head> <body> <div id="wrapper"> <?php if (isset($_POST['submit'])) { if ($_POST['robot'] == 6) { // tu spracujes prjate vysledky echo "<pre>"; print_r($_POST); die; } else { // tu vykopnes robota echo "You're spam robot, get out!"; die; } } else { ?> <form action="<?php echo basename($_SERVER['PHP_SELF']); ?>" method="post"> <label for="usrname">Zadej jméno:</label><input type="text" name="usrname" /><br /> <label for="age">Zadej věk:</label><input type="text" name="age" /><br /> <label for="sex">Zadej pohlaví:</label><input type="text" name="sex" /><br /> <p id="spamprotirobotum">Ochrana proti spamu. Kolik je dvakrát tři? <input type="text" name="robot" value="" id="protirobotum"> </p> <script> document.getElementById("protirobotum").value="6"; document.getElementById("spamprotirobotum").style.display = "none"; </script> <p><input type="submit" value="Odeslat" name="submit"></p> </form> <?php } ?> </div> </body> </html> Je to komplet aj XHTML kodom. Skusat ochranu je mozne napr. pomocou Firefoxu a rozsirenia NO-SCRIPT. Enjoy. |
||
sandoklan Profil * |
#3 · Zasláno: 24. 7. 2008, 22:11:28
nevim jestli jsem to dobre pochopil. Dejme tomu ze mam na serveru slozku Inzerce a v ni mam soubor formular.php, ktery odesila vyplnene polozky od uzivatelu. Do teto slozky vlozim soubor napr. past.php, ktery bude obsahovat vyse uvedeny kod, a to by meloé pomoci?
|
||
srigi Profil |
#4 · Zasláno: 24. 7. 2008, 22:28:06 · Upravil/a: srigi
No ten kod vyssie som uviedol na edukativne ucely aby sa pochopilo ako to funguje. Je to samostatna mikro-aplikacia. Ako to integrovat do vasej aplikacie, to sa z prveho (ani tretieho) prispevku neda urcit.
|
||
sandoklan Profil * |
#5 · Zasláno: 24. 7. 2008, 23:47:09
No ja tomu moc nerozumim a nejak se mi to nepovedlo tam ten antispam vlozit, aby formular fungoval. Zde je kod meho formulare:
<? require "general.php"; sablona_up('center'); ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> </style> <div align="left"><a href="http://www.web.com/inzerce.php" class="style17">(zpět na inzerci) </a> <h1 align="center"> <span class="style17"><Br> <span class="style18">Vložit inzerát </span></span> <FORM ACTION="shrnuti.php" METHOD="POST"> </h1> </div> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <TABLE BORDER=2 ALIGN="center" CELLPADDING=4 bordercolor="#FFFFFF" bgcolor="#E6E673" FRAME=BOX RULES=NONE> <TR><TD class="style17"><span class="style19">Nadpis: </span> <th class="style17"><INPUT TYPE=TEXT NAME=nadpis SIZE=30> <TR><TD class="style17"><span class="style19">Kategorie: </span> <th class="style17"><SELECT NAME=kategorie SIZE=1> <option value="0">- Vyberte kategorii -</option> <option value="Prodám">Prodám</option> <option value="Koupím">Koupím</option> <option value="Vyměním">Vyměním</option> </SELECT> <TR><TD class="style17"><span class="style19">Jméno: </span> <th class="style17"><INPUT TYPE=TEXT NAME=jmeno SIZE=30> <TR><TD class="style17"><span class="style19">Telefon: </span> <th class="style17"><INPUT NAME=telefon TYPE=TEXT value="+420" SIZE=30> <TR><TD class="style17"><span class="style19">Email: </span> <th class="style17"><INPUT TYPE=TEXT NAME=email SIZE=30> <TR><TD class="style17"><span class="style19">Kraj: </span> <th class="style17"> <SELECT NAME=kraj SIZE=1> <option value="0">- Vyberte lokalitu -</option> <option value="Praha">Praha</option> <option value="Středočeský;">Středočeský</option> <option value="Ústecký;">Ústecký</option> <option value="Liberecký;">Liberecký</option> <option value="Karlovarský">Karlovarský</option> <option value="Královehradecký">Královehradecký</o ption> <option value="Pardubický">Pardubický</option> <option value="Plzeňský">Plzeňský</option> <option value="Jihočeský">Jihočeský</option> <option value="Vysočina">Vysočina</option> <option value="Jihomoravský">Jihomoravský</option> <option value="Olomoucký">Olomoucký</option> <option value="Moravskoslezský">Moravskoslezský</option> <option value="Zlínský">Zlínský</option> <option value="Bratislavský">Bratislavský</option> <option value="Trnavský">Trnavský</option> <option value="Nitranský">Nitriansky</option> <option value="Banskobystrický">Banskobystrický</option> <option value="Košický">Košický</option> <option value="Prešovský">Prešovský</option> <option value="Žilinksý">Žilinský</option> <option value="Trenčinský">Trenčiansky</option> <option value="Zahraničí">Zahraničí</option> </SELECT> <TR><TD class="style17"><p class="style19">Obsah<br /> Inzerátu: </p> <th class="style17"><textarea name=inzerat cols=30 rows=5 wrap="physical"></textarea> <TR><TR> <TD class="style17"> <th class="style17"><input type="submit" value="Vložit inzerát" /> </th> </TABLE> <? sablona_down(); ?> |
||
srigi Profil |
#6 · Zasláno: 25. 7. 2008, 00:37:27
Ten overovaci kod
if ($_POST['robot'] == 6) { // tu spracujes prjate vysledky echo "<pre>"; print_r($_POST); die; } else { // tu vykopnes robota echo "You're spam robot, get out!"; die; } A kod pre formular <p id="spamprotirobotum">Ochrana proti spamu. Kolik je dvakrát tři? <input type="text" name="robot" value="" id="protirobotum"> </p> <script> document.getElementById("protirobotum").value="6"; document.getElementById("spamprotirobotum").style.display = "none"; </script> <FORM ACTION="shrnuti.php" METHOD="POST"> |
||
sandoklan Profil * |
#7 · Zasláno: 25. 7. 2008, 11:41:01
Děkuju moc a ještě kam bych mohl vložit do toho shrnuti.php? :
<? require "general.php"; sablona_up('center'); ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <a href="http://www.web.com/inzerce.php"> <font face="Trebuchet MS">(zpět na inzerci)</font> </a> <h3 align="left"> </h3> <h2 align="center"><font size="5"><b><font face="Arial, Helvetica, sans-serif">Váš inzerát byl uložen v následujícím znění:</font></b></font></h2> <h1> <? //zpracujeme data $nadpis=$_POST["nadpis"]; $kategorie=$_POST["kategorie"]; $jmeno=$_POST["jmeno"]; $telefon=$_POST["telefon"]; $email=$_POST["email"]; $kraj=$_POST["kraj"]; $inzerat=$_POST["inzerat"]; $datum=Date("Y.m.d H:i:s"); pripoj_db(); mysql_query("INSERT INTO inzerce2 values ('','$kategorie', '$jmeno', '$telefon', '$email', '$kraj', '$inzerat', '$nadpis', '$datum');"); ?> </h1> <TABLE BORDER=2 ALIGN="CENTER" CELLPADDING=4 bordercolor="#FFFFFF" bgcolor="#E6E673" FRAME=BOX RULES=NONE> <TR><TD><strong><font face="Arial, Helvetica, sans-serif">Datum:</font> </strong> <TD><?echo Date("d.m.Y H:i:s");?> <TR><TD><strong><font face="Arial, Helvetica, sans-serif">Nadpis: </font> </strong> <TD><?echo $nadpis?> <TR><TD><strong><font face="Arial, Helvetica, sans-serif">Kategorie: </font> </strong> <TD><?echo $kategorie?> <TR><TD><strong><font face="Arial, Helvetica, sans-serif">Jmno:</font> </strong> <TD><?echo $jmeno?> <TR><TD><strong><font face="Arial, Helvetica, sans-serif">Telefon:</font> </strong> <TD><?echo $telefon?> <TR><TD><strong><font face="Arial, Helvetica, sans-serif">Email:</font> </strong> <TD><?echo $email?> <TR><TD><strong><font face="Arial, Helvetica, sans-serif">Kraj: </font> </strong> <TD><?echo $kraj?> <TR> <TD><strong><font face="Arial, Helvetica, sans-serif">Inzerát:</font> </strong> <TD><?echo $inzerat?> </TABLE> |
||
srigi Profil |
#8 · Zasláno: 25. 7. 2008, 12:07:27
Nejako takto:
<h1> <? //zpracujeme data if ($_POST['robot'] != 6) { echo "<h3>Nepresla ochrana proti spamu! Dovidenia.</h3>"; die; } $nadpis=$_POST["nadpis"]; $kategorie=$_POST["kategorie"]; $jmeno=$_POST["jmeno"]; $telefon=$_POST["telefon"]; $email=$_POST["email"]; $kraj=$_POST["kraj"]; $inzerat=$_POST["inzerat"]; |
||
sandoklan Profil * |
#9 · Zasláno: 25. 7. 2008, 12:45:11
Dekuju moc, vyzkousim a snad to pomuze :)
|
||
Časová prodleva: 16 let
|
0