ďťż
Podstrony
|
![]() |
telcocafeOtoz mam problem z tokenem.Problem jest tego rodzaju, ze nie wyswietla mi ostatniej litery o koloze zlotawym. Albo wyswietla tylko ze dwie. Form_img.php - ten z tokenem <? session_start(); $string = $_SESSION["string"]; $s = 100; //szerokość $w = 40; //wysokość $obr = imagecreatetruecolor($s, $w); //tworzymy obrazek //definiujemy sobie kolory $black = imagecolorallocate($obr, 0, 0, 0); $white = imagecolorallocate($obr, 255, 255, 255); $red = imagecolorallocatealpha($obr, 255, 0, 0, 75); $green = imagecolorallocatealpha($obr, 0, 255, 0, 75); $blue = imagecolorallocatealpha($obr, 0, 0, 255, 75); $grey = imagecolorallocate($obr, 239, 239, 239); $gold = imagecolorallocate($obr, 255, 215, 0); // tworzymy kolor tła imagefilledrectangle($obr, 0, 0, $s, $w, $grey); $font = 'verdana.ttf'; //podajemy adres czcionki domyslna Arial imagettftext($obr, 30, 2, 0, 30, $red, $font, substr($string,0,1)); //generujemy tekst o określonym kolorze imagettftext($obr, 30, 2, rand(15,25), 30, $blue, $font, substr($string,1,1));//pochyleniu i wielkości imagettftext($obr, 30, 2, rand(30,40), 30, $green, $font, substr($string,2,2));//czcionki imagettftext($obr, 30, 2, rand(45,55), 30, $gold, $font, substr($string,3,3));//czcionki for($i=1;$i<100;$i++) { //generujemy sobie 100 losowych kropek w losowym kolorze $kolor = imagecolorallocate($obr, rand(0,255), rand(0,255), rand(0,255)); imagesetpixel($obr, rand(0,$s), rand(0,$w), $kolor); } imagepng($obr); //konwersja do png header("Content-type: image/png"); //nagłówek imagedestroy($obr); // no i zakończenie ?> Form.php <?PHP error_reporting(0); //wył±czenie raportowania bledow session_start(); //zaczynamy sesje $error= ''; //definiujemy zmienn± if($_POST['done']) //je¶li formularz został wysłany { $imie = stripslashes(trim($_POST["imie"]));//usuwamy niebezpieczne znaki $tresc = stripslashes(trim($_POST["tresc"])); $email = stripslashes(trim($_POST["email"])); if (strlen($email)==0) { //je¶li nie podał e-maila $error .= "<p>Nie podałe¶ adresu e-mail</p>"; } else if (!eregi(".+@.+\..+",$email)) { //sprawdzamy poprawno¶ć e-maila $error .= "<p>Email nie jest poprawny</p>"; } if($_POST['tresc']=='')$error.="<p>Wypełnij pole 'tre¶ć'</p>"; if($_POST['imie']=='')$error.="<p>Podaj swoje imie!</p>"; if (strtolower($_POST['weryfikacja']) != $_SESSION["string"])$error.="<p>Zły kod z obrazka!</p>"; if($error == '') //je¶li nie ma żadnych błędów { $_POST['done']='dodano'; //wysyłamy emaila $list = "$tresc\n\nNadawca: $imie - $email"; mail("m4jesty@o2.pl","List ze strony", $list, "From: $imie <$email>"); //tutaj zmień email na swój własny echo "Wiadomo¶ć została wysłana poprawnie, dziekujemy..."; } } function generuj($dlugosc=4, $znaki="0123456789abcdefghijklmnoprstuwyz") { //funkcja do losowania znaków do tokena mt_srand((double)microtime()*1000000); $zwrot = ""; if ($dlugosc > 0) { while (strlen($zwrot) < $dlugosc) { $zwrot .= $znaki[mt_rand(0, strlen($znaki)-1)]; } } return $zwrot; } $_SESSION["string"] = generuj(); //zmienna sesyjna if($_POST['done']!='dodano') //je¶li nie wysłano emaila wy¶wielt formularz { echo '<font color="red">'.$error.'</font> <form action="form.php" method="post"> <table > <tr><td>Imię i nazwisko:</td><td><input type="text" name="imie" value="'.$imie.'"></td></tr> <tr><td>Email:</td><td><input type="text" name="email" value="'.$email.'"></td></tr> <tr><td valign="TOP">Tresc:</td><td><textarea name="tresc" rows="5" cols="40">'.$tresc.'</textarea></td></tr> <tr><td>Kod</td><td><input type="text" name="weryfikacja"></td><TD><img src="form_img.php" /></td></tr> <tr><td colspan="2"><input type="submit" value="Wy¶lij" name="done"></td></tr> </table> '; } ?> @edit AA i jeszcze nie wysyla maila (tutaj nie bierzcie pod uwage tokena) Użytkownik Majesty edytował ten post 13 czerwiec 2006, 14:36 Otoz mam problem z tokenem. Problem jest tego rodzaju, ze nie wyswietla mi ostatniej litery o koloze zlotawym. Albo wyswietla tylko ze dwie. Form_img.php - ten z tokenem [code]imagettftext($obr, 30, 2, 0, 30, $red, $font, substr($string,0,1)); //generujemy tekst o określonym kolorze imagettftext($obr, 30, 2, rand(15,25), 30, $blue, $font, substr($string,1,1));//pochyleniu i wielkości imagettftext($obr, 30, 2, rand(30,40), 30, $green, $font, substr($string,2,2));//czcionki imagettftext($obr, 30, 2, rand(45,55), 30, $gold, $font, substr($string,3,3));//czcionki Dlaczego za każdym razem jest inny kolor moze jak zmienisz wszedzie na $gold będzie całe złote ;) Pozdrawiam Ja chce zeby ostatnia tylko litera miala zloty kolor. Ja chce zeby ostatnia tylko litera miala zloty kolor. ![]() Dzięki poprawilem tak jak ty mi powiedziales ale pozniej sam zauwazylem ze jak ty to opisales in start musi byc taka sama a nie byla. Dalem tak : imagettftext($obr, 30, 2, rand(30,40), 30, $green, $font, substr($string,2,1));//czcionki imagettftext($obr, 30, 2, rand(45,55), 30, $gold, $font, substr($string,3,1)); TYLKO wysylac mi nie chce pomoze z tym ktos ? WebServ mam ustawiony tak : adres smpt do wysylania maili : poczta.o2.pl domyslny nadawca maila wyslanego przez php : majesty_site@o2.pl Użytkownik Majesty edytował ten post 15 czerwiec 2006, 19:08 TYLKO wysylac mi nie chce pomoze z tym ktos ? WebServ mam ustawiony tak : adres smpt do wysylania maili : poczta.o2.pl domyslny nadawca maila wyslanego przez php : majesty_site@o2.pl ![]() Krasnala nie moglem zainstalowac bo masa bledow mi wyskakuje przy uruchomieniu. |
![]() |
|
Sitedesign by AltusUmbrae. |