| 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: 18 let
|
|||
0