Ahoj
Mam problém s antispamom, nejak ho neviem nakódiť
Potrebujem riadok, ktorý mi vygeneruje 2 náhodne čísla (1 alebo 2 ciferné)
Prvé číslo sa mi uloží do premennej $prve_cislo , a druhe do $druhe_cislo ...
Fungovalo by to na príncipe formulára, kde by vyžadovalo súčet tých dvoch čísiel. Bol by tam jeden input (text) a jeden submit.
Ak by bolo teda prvé vygenerované číslo 2 a druhé 10, užívateľ by zadal 12, napísalo by mu niečo ako "kód platný"
v opačnom prípade "kód neplatný"...
vďaka[/code]
Antispam v PHP
-
TGiJack
Medium Star
- Príspevky: 419
- Registrovaný: 30 nov 2006, 19:37
- Bydlisko: NO
- Kontaktovať používateľa:
tak to mas jednoduche vztvoris si jeden subor napriklad
priklad.php
a druhy ako
kontrola.php
tak tu mas taky suuuper jednoduchy priklad ale ak sa stym pohras tak by si mohol mat z toho priklad ktory by si aj riesil 5 minut hadam pomoze ak by nieco tak napis
PS: st7mi farbami sa treba pohrat a zvolit nejake hranice lebo to niekedy vygeneruje uplne necitatelny priklad ale tak to uz je natebe ..mozes si tam vlozit aj vlastne pozadie pismo pootacat a podobne ..musis sa stym len pohrat ..dokonca aj font by sa tam mal dat vlastn7 aky len ches >|
priklad.php
Kód: Vybrať všetko
<?
session_start();
Header ("Content-type: image/jpeg");
$obrazok = ImageCreate (80, 25);
$a = substr(rand(1,10),0,5);
$b = substr(rand(1,10),0,5);
$_SESSION['c'] = $a + $b;
$farba_podkladu = ImageColorAllocate ($obrazok, rand(0,255), rand(0,255), rand(0,255));
$biela = ImageColorAllocate ($obrazok, rand(0,255), rand(0,255), rand(0,255));
ImageString ($obrazok, 5, 5, 5, "$a + $b=", $biela);
ImageJpeg ($obrazok);
Imagedestroy($obrazok);
?>
a druhy ako
kontrola.php
Kód: Vybrať všetko
<?php
// samotna kontrola ci je vysledok spravny
session_start();
$c = $_SESSION['c'];
if (isset($_POST['ok'])) {
if ($c == $_POST['vysledok']) {
$res = "Spravne :-D";
}else {
$res = "Zle ;-(";}
}
?>
<!-- HTML KOD -->
<img src="priklad.php" /> <br />
Napis vysledok prikladu: <br />
<form method="post" action="#">
<input type="text" name="vysledok"/>
<input type="submit" name="ok" value="Potvrd"/> <br />
</form>
<?php if (isset($_POST['ok'])) { echo $res; } ?> tak tu mas taky suuuper jednoduchy priklad ale ak sa stym pohras tak by si mohol mat z toho priklad ktory by si aj riesil 5 minut hadam pomoze ak by nieco tak napis
PS: st7mi farbami sa treba pohrat a zvolit nejake hranice lebo to niekedy vygeneruje uplne necitatelny priklad ale tak to uz je natebe ..mozes si tam vlozit aj vlastne pozadie pismo pootacat a podobne ..musis sa stym len pohrat ..dokonca aj font by sa tam mal dat vlastn7 aky len ches >|
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
zas tolko toho vlastného tam nedávaj, lebo to potom dopadne tak, že si definuješ vlastný xhtml štandard kde poznáš aj inputy type="test"TGiJack napísal:tak to mas jednoduche vztvoris si jeden subor napriklad
priklad.php
Kód: Vybrať všetko
<? session_start(); Header ("Content-type: image/jpeg"); $obrazok = ImageCreate (80, 25); $a = substr(rand(1,10),0,5); $b = substr(rand(1,10),0,5); $_SESSION['c'] = $a + $b; $farba_podkladu = ImageColorAllocate ($obrazok, rand(0,255), rand(0,255), rand(0,255)); $biela = ImageColorAllocate ($obrazok, rand(0,255), rand(0,255), rand(0,255)); ImageString ($obrazok, 5, 5, 5, "$a + $b=", $biela); ImageJpeg ($obrazok); Imagedestroy($obrazok); ?>
a druhy ako
kontrola.php
Kód: Vybrať všetko
<?php // samotna kontrola ci je vysledok spravny session_start(); $c = $_SESSION['c']; if (isset($_POST['ok'])) { if ($c == $_POST['vysledok']) { $res = "Spravne :-D"; }else { $res = "Zle ;-(";} } ?> <!-- HTML KOD --> <img src="priklad.php" /> <br /> Napis vysledok prikladu: <br /> <form method="post" action="#"> <input type="test" name="vysledok"/> <input type="submit" name="ok" value="Potvrd"/> <br /> </form> <?php if (isset($_POST['ok'])) { echo $res; } ?>
tak tu mas taky suuuper jednoduchy priklad ale ak sa stym pohras tak by si mohol mat z toho priklad ktory by si aj riesil 5 minut hadam pomoze ak by nieco tak napis
PS: st7mi farbami sa treba pohrat a zvolit nejake hranice lebo to niekedy vygeneruje uplne necitatelny priklad ale tak to uz je natebe ..mozes si tam vlozit aj vlastne pozadie pismo pootacat a podobne ..musis sa stym len pohrat ..dokonca aj font by sa tam mal dat vlastn7 aky len ches >|
Kód: Vybrať všetko
<input type="test" name="vysledok"/>