ďťż
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. |