Autor Zpráva
lukasb
Profil
Prosím vás, mám tento script, ale v tom formuláři se mi nezobrazí ten obrázek captchy. nevím, kde mám chybu :-(

formulář
<form action="aaa.php" method="post" name="myform">
<table>
<tr><td>Captcha image:</td>
<td><img src="captcha.php" border="0"></td></tr>
<tr><td>String:</td>
<td><input type="text" name="code" value=""></td></tr>
<tr><td></td>
<td><input type="submit" value="Submit Form" onclick="return checkform()"></td>
</tr>
</table>
</form>



script


session_start();
$charlist = '23456789ABCDEFGHJKMNPQRSTVWXYZ'; 
$chars = 5;
$i = 0;
while ($i < $chars) 
{ 
  $string .= substr($charlist, mt_rand(0, strlen($charlist)-1), 1);
  $i++;
}

$captcha = imagecreatefrompng('captcha.png');
$col = imagecolorallocate($captcha, 240, 200, 240);
imagettftext($captcha, 17, 0, 13, 22, $col, 'Whimsy.TTF', $string);
$_SESSION['secret_string'] = $string;
header("Content-type: image/png");
imagepng($captcha);

a mě to prostě nevykresli :(.díky za rady!
Joker
Profil
lukasb:
Zkontrolujte, jestli je správná adresa obrázku (předpokládám, že místo obrázku je prázdný rámeček nebo ikonka chybějícího obrázku, na to kliknete pravým a tam někde půjde vykoukat adresa, nejspíš asi Vlastnosti)
lukasb
Profil
omlouvám se, ale nebyl jsem k dispozici,proto píšu až ted. když otevřu ten soubor captcha.php, tak mi to napíše toto:

Warning: imagettftext() [function.imagettftext]: Could not find/open font in captcha.php on line 20

Warning: Cannot modify header information - headers already sent by (output started at captcha.php:20) 
in captcha.php on line 26
‰PNG  IHDR`\ŇŚŢ ƒIDAThÍYil\Ő>wyłŹ=ăŹí™ń‚; ’¸&not; -PŠ-%ai…kU&micro;ôĐR$ÔEji&laquo;&para;T-¨ĄE&not;e-P! ‰C'věx‰w{<‹gź÷î=ýqg&NBśÍ =?,Ďy÷ľ{ďwĎňťó"€ú „őĎšâĎłŁŃ ŃÖŢýţ'Ű !W\ٲx^˝Ćą’r†V?ÖÁ9|Ý‚„€”ŇŇlŇ`W灇~˙ ůĺ˝&laquo;Ď&laquo;&middot;[-”RD$_Çöˆ‚ň5Z"§ë6&laquo;úG}âECK4Îo&not;kYÔTę´€”ň ­~| ˘”ät!…P B $ł€J bń§) ^$¤BšMç|4~~őúţˇ1‡Ýş¸ąáΛ&reg;ćŚ!JÝ0(ˇfiő“Ž&Ťƒ6“ŻI)A˘T‡Ł {(&brvbar;ÝŔq… ""rÎ9c“Ń&para;˝Ý[wvlúrďÂą Ź?tB¤3Y“Ć9c0íâĎ&para;đť=N‡ QÓ8çś3Şiś˘qĆ9ăŚQJ)=ˇ×áW…r˜ 3Ć “Ó'&Łď~ĽůźŻ&reg;]ÜT˙Ň.s•H)…ŚQ‹Ů_…űŇkkÝ&brvbar;˙~řéŢ˝=f&raquo;Ą&brvbar;ŞÜ_Y^ćrÎ&copy;&reg;r9ěż7Xáu9mÍçžc5i_uňC‚…„ĘG{XpPDRRJĄ”o­˙ü×}ţ’óçľňç_5ÔřŐJélůňé ˇŃP(:•LĄ)ĄšĆł9}22ŽMĹb&copy;P4Ť'ÉôđD$ťÓű‡F㡈&middot;Ę7&middot;.(¤Xş°Éb6ů}îskfłiQsý‘°˝^§WßkýÝÓŻ6×Wßwó&micro;ÁĘňZçĚ0ŚĂ, Î"ɘnŕˆhA Ő4NŽv DŚĆÉd&ON%S™&not;>Žeu=:•Ô3iÍjqŘ&not;Ńx’ÉT2•ĄŚ†"1ĆX(›˜›-–@ĄÇił*Ź&laquo;ÄŽťvk}M ÇâoŻŰô÷—×Ř&not;&brvbar;\}Éâć9e.g}°ŇjÉs)ĄŞźN  ł&copy;QI%€2XEb=Ł&plusmn;DrÓöö5&middot;9lÖűożá{ßţĆ 8€!dWĎ ŽâQťxě&copy;—ßŮ°yÉ‚&brvbar;&raquo;W]Ő˛¨Ůnłš4ŤłÓ˛ łŻÉwQ¤Ěd˛ÉtvĂ–ťO˝ônĎĐčť7^ó‹&raquo;WÚm‰eľ*˜dŢ&raquo;{RřHJL¤ÓÉTf÷ţľWŻ˙l{űĹ.xäÇ&middot;47T€b™”’âĚ˙8 ŕ†*RFUžůbĎţÇ˙ńĘŽ˝=W´,ş}Ĺňysęě6‹ÝjQSŠEĎqů Q™EJd”ŞlbŃŢŐ?>=ppřýOw Ź…nľîŠźß~ƒâşÂś1:-ő|ŤBH‰f“&brvbar;ôńDň&middot;Ożţá'mMu+ZÖ*ľ˛ysjˇPŕjç'LgÜ&-ϸcńÄ;&para;îďČĺôx"Í9&raquo;ęâĹ×+ď˝Ů\9cgß&brvbar;ÔV…!(Łj&middot;Râëď&middot;nŘüĄ0Di‰łÄa;oNí&micro;ß\˘")"ćoÓjᓨ¨•…”B‹Ů¤íéěů÷ŚNÔVůŞ|eeî’K/śßXĚߡaúŽ‡ä $U‰U¤Č&raquo;:z&middot;î ŚŚo<'řÓ]ßPăD™Éę”RVđ&raquo;ăF&reg;¨8 ! 9dSk7nýół&laquo;CŃŘŠ+[&reg;şřW‰Ăďó¸KůÝKYl§Î~† Ş”€p,>4 …×&para;&para;­ŰÔVđýě‡+&reg;ľěBő4›Ó)!”ş´“jwP§Í4°@Ţ(ŁBČż˝đöźž[íu•ÜűŠë–/-&plusmn;Ů4ŤO_rÖ*˛J!d<•yíƒÖ'žyÓâ&raquo;WŢńý&laquo;,& Ôˆ82ńÖúMk>Ů^[UţĐ]7]ٲHŤ4 QĚ&§ŞęL"טęĆ}Đşý‰Vwô^żĽĺÖë&reg;Tx\%v§ÝVŻ śM€fp&plusmn;Ł_”ß=třŽÝ‡ÇĂŃ&para;Ý]_vö,9Żń‘{o)÷şÔÓt&K)匞Ô&brvbar;ĄRšMšň&copy;žÁ‘?üëŤ]=ój67+ĽÍ ŐMőŐjV&plusmn;Ä;V>›z.%BpĆTÉ ď}ĽĄ&micro;­]×uD0„Ľpţś›&reg;ąÔnłBÁ&brvbar;Šm—cmQ”X&not;K Ăxí˝ÖOŰÚ‘€YÓlfÓ˛EÍ×-_š'†ˇÚűŞ×1+ôňt:B“O&middot;âĐU‡"Ńż<&middot;zËÎý5~_s}ŔWćž[Ľ`^ƒVó3|,ŕś&reg;ďÜ×ÓŮ742Ţ×Őß;8vŮŇÜqciI>+ęüfŹ@'ƒf^ ň_…Ć5EĂvíď{ňĹw6ďěĽü˘ů&middot;­X^SUa1›ěVłĆ™şí#śuC¤2Ůt&{ŕŕđ›nÚ°e×ÜsŢyăŇ…M „0„ ”ŞNî&not;ˆ3 Đ&plusmn;4ˇplÇľ&middot;íŽ'ŇË5-[8&middot;.ŕcŚMůj–”r`4ÔúĹž/öt:l&para;ĄçťŰr~SUą§˜żfŽčßFuzçđĚVIEND&reg;B`‚


opravdu nevim, co s tím :-(. když to pouštím na localhost,tak to v pohodě běží, ale když to uložím na web ((*********)) tak to prostě nezobrazí :-(. všechny soubory, jak font,tak pozadí tam je. díky!
keeehi
Profil
zkontroluj si před <?php mezery
a koukni sem
Alphard
Profil
lukasb:
když otevřu ten soubor captcha.php, tak mi to napíše toto:
To jste měl napsat hned.
Problém je zřejmě v cestě k fontu. Jestli si vzpomínám, záleží to na verzi PHP, mrkněte do manuálu. Druhý warning je jen důsledek.
lukasb
Profil
děkuji moc, ted si čtu manuál, ale nějak mi to není jasné,co mám tedy udělat :-(
viz citace z www.php.net o imagettftext

The path to the TrueType font you wish to use.

Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.

When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.

In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems.

<?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));

// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>
JohnyPb
Profil *
lukasb:

asi možná není aktuální, ale po dvou dnech jsem tuto chybu odboural PsPad-u změnou jazyka zkuste....

zatjal Johny

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:

0