ugrás a tartalomhoz

Archívum - Ápr 20, 2008

Tömeges e-mail küldése Ruby on Rails alkalmazásból

Fekete Ferenc GDA · 2008. Ápr. 20. (V), 20.06
Valós példa, éles környezetből
 

Ajaxos eseménynaptárnál karakterkódolási hiba, mysql ba..

dc-hungary · 2008. Ápr. 20. (V), 19.57
Üdv!

Van egy ajaxos eseménynaptáram, de annyi problémám van vele, hogy az ékezetes betűket így írja be az adatbázisba:

űűűáááééúúő helyett ŹŹŹåååÊÊúúĹ�

az adatbázisba, ahol a szöveget tárolom, annak a mezőnek a karakterkódolása: latin2_general_ci
Hozzá kell tenni, hogy máshol jó az ékezet, csak ennél nem, de ha én írom be a phpmyadminba az ékezetes betűt, akkor jól jeleníti meg.
Szóval a beírással van a gond. na igen, ez úgy működik hogy egyik php átadja a másiknak a beírt szöveget ajax-al.
és én arra gyanakszok, hogy itt rontja el az ékezeteket..

Próbáltam már a lekérdezésnél UTF8 , LATIN2 , stb.. de egyikel se lett jó.
Szóval a beírást kéne megcsinálni, hogy ékezetesen írja be..

Kiszedtem a scriptből, így csak azt osztom meg, ami ehhez szükséges:


index.php (form):
  1. <div style="display: none; margin-top: 10px;" id="addEventForm">  
  2.     <b>Új esemény</b>  
  3.     <br>  
  4.     Date: <input type="text" size="2" id="evtDay" disabled> <input type="text" size="2" id="evtMonth" disabled> <input type="text" size="4" id="evtYear" disabled>  
  5.     <br>  
  6.     <textarea name="szoveg" id="evtBody" cols="32" rows="5"></textarea>  
  7.     <br>  
  8.     <input type="button" value="Új esemény" onClick="addEvent($F('evtDay'), $F('evtMonth'), $F('evtYear'), $F('evtBody'));">  
  9. </div>  
index.php (javascript):
  1. <script type="text/javascript">  
  2.     function highlightCalendarCell(element) {  
  3.         $(element).style.border = '1px solid #999999';  
  4.     }  
  5.   
  6.     function resetCalendarCell(element) {  
  7.         $(element).style.border = '1px solid #000000';  
  8.     }  
  9.       
  10.     function startCalendar(month, year) {  
  11.         new Ajax.Updater('calendarInternal''rpc.php', {method: 'post', postBody: 'action=startCalendar&month='+month+'&year='+year+''});  
  12.     }  
  13.       
  14.     function showEventForm(day) {  
  15.         $('evtDay').value = day;  
  16.         $('evtMonth').value = $F('ccMonth');  
  17.         $('evtYear').value = $F('ccYear');  
  18.           
  19.         displayEvents(day, $F('ccMonth'), $F('ccYear'));  
  20.           
  21.         if(Element.visible('addEventForm')) {  
  22.             // do nothing.  
  23.         } else {  
  24.             Element.show('addEventForm');  
  25.         }  
  26.     }  
  27.       
  28.     function displayEvents(day, month, year) {  
  29.         new Ajax.Updater('eventList''rpc.php', {method: 'post', postBody: 'action=listEvents&&d='+day+'&m='+month+'&y='+year+''});  
  30.         if(Element.visible('eventList')) {  
  31.             // do nothing, its already visble.  
  32.         } else {  
  33.             setTimeout("Element.show('eventList')", 300);  
  34.         }  
  35.     }  
  36.       
  37.     function addEvent(day, month, year, body) {  
  38.         if(day && month && year && body) {  
  39.             // alert('Add Event\nDay: '+day+'\nMonth: '+month+'\nYear: '+year+'\nBody: '+body);  
  40.             new Ajax.Request('rpc.php', {method: 'post', postBody: 'action=addEvent&d='+day+'&m='+month+'&y='+year+'&body='+body+'', onSuccess: highlightEvent(day)});  
  41.             $('evtBody').value = '';  
  42.         } else {  
  43.             alert('There was an unexpected script error.\nPlease ensure that you have not altered parts of it.');  
  44.         }  
  45.           
  46.         // highlightEvent(day);  
  47.     } // addEvent.  
  48.       
  49.     function highlightEvent(day) {  
  50.         Element.hide('addEventForm');  
  51.         $('calendarDay_'+day+'').style.background = '#<?= $eventColor ?>';  
  52.     }  
  53.       
  54.     function showCP() {  
  55.         Element.show('cpBox');  
  56.     }  
  57.       
  58.     function deleteEvent(eid) {  
  59.         confirmation = confirm('Are you sure you wish to delete this event?\n\nOnce the event is deleted, it is gone forever!');  
  60.         if(confirmation == true) {  
  61.             new Ajax.Request('rpc.php', {method: 'post', postBody: 'action=deleteEvent&eid='+eid+'', onSuccess: Element.hide('event_'+eid+'')});  
  62.         } else {  
  63.             // Do not delete it!.  
  64.         }  
  65.     }  
  66. </script>  
rpc.php (beszúrás az adatbázisba):
  1. case 'addEvent':  
  2.     $day = $_POST['d'];  
  3.     $month = $_POST['m'];  
  4.     $year = $_POST['y'];  
  5.     $body = $_POST['body'];  
  6.       
  7.     $timeStamp = mktime(0,0,0, $month$day$year);  
  8.     $bodyF = addslashes(trim($body));  
  9.     mysql_query("INSERT INTO event (text, timestamp) VALUES ('$body', '$timeStamp')");  
  10.     break;  
rpc.php (lekérdezés, a SET NAMES-nál már többel is próbálkoztam, és egyik se lett jó.. [LATIN2, UTF8]):


[colorer=php]case 'listEvents':
$day = $_POST['d'];
$month = $_POST['m'];
$year = $_POST['y'];

$timeStamp = mktime(0,0,0, $month, $day, $year);

$eventQuery = mysql_query("SET NAMES `LATIN2` COLLATE `latin2_general_ci`");
$eventQuery = mysql_query("SELECT id, text FROM event WHERE timestamp='$timeStamp' ORDER BY id DESC");
if($eventQuery) {
if(mysql_num_rows($eventQuery) >0) {
echo '

Érték kinyerése JS-sel PARAM tagből

vami · 2008. Ápr. 20. (V), 19.05
akarok csinalnni 1 mp3 playert talaltam is 1 et
csak nem tudom beallitani a volume-ot.
Ezzel a fugvennyel probalkozk beallitani
  1. function setBoxValue(val, box) {  
  2.     var // b=document.getElementById('output'+box);  
  3.          v=document.getElementById('volume');  
  4.     //val=Math.round(val*1000)/1000;  
  5.     val=Math.round(val);  
  6.     //b.value=val;  
  7.     v.value=val;  
  8. }  
es ez van a html ben
  1. <object id="player" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" width="0" height="0">   
  2. <param name="autoStart" value="0">   
  3. <param name="balance" value="0">   
  4. <param name="currentPosition" value="0">   
  5. <param name="currentMarker" value="0">   
  6. <param name="enableContextMenu" value="0">   
  7. <param name="enableErrorDialogs" value="0">   
  8. <param name="enabled" value="-1">   
  9. <param name="fullScreen" value="0">   
  10. <param name="invokeURLs" value="0">   
  11. <param name="playCount" value="1">   
  12. <param name="rate" value="1">   
  13. <param name="uiMode" value="invisible">   
  14. <param name="volume" id ="volume" value="100">   
  15. <param name="URL" value>   
  16. <param name="defaultFrame" value>   
  17. <param name="baseURL" value>   
  18. <param name="stretchToFit" value="0">   
  19. <param name="windowlessVideo" value="0">   
  20. <param name="SAMIStyle" value>   
  21. <param name="SAMILang" value>   
  22. <param name="SAMIFilename" value>   
  23. <param name="captioningID" value>   
  24. <embed id="player" type="application/x-mplayer2" src="" height="0" width="0">   
  25. </object>   
A kerdesem az h a JS fugvenyben h kerhetnem le a volume parametert u h hozzaferjek a value-hoz ???
 

PHP AntiSPAM

DarkRaptor · 2008. Ápr. 20. (V), 14.58
Sziasztok!

írtam egy Captcha szkriptet és az lenne a kérdésem, hogyan lehetne azt megvalósítani, hogy betűnként más legyen a fok és a betűszín?
tehát ha van 4 betű, akkor mind a négynek más legyen a színe...

eddig jutottam:
  1. <?php  
  2.   
  3. session_start();  
  4. header("Content-type: image/png");  
  5.   
  6.   
  7. $number = "";  
  8.   
  9. $KEY = "0123456789abcdefghijklmnopqrstuvwxyz";  
  10. for($i = 0; $i < 4; $i++) {  
  11.     $number .= substr($KEY, rand(036), 1);  
  12. }  
  13.   
  14. $hash = md5($number);  
  15.   
  16. $_SESSION['ellenorzo'] = $hash;   
  17.   
  18.   
  19. $imagewidth = 100;  
  20. $imageheight = 50;  
  21. $fontsize = "25";  
  22. $fontangle = "0";  
  23. $font = "jupitern.ttf";  
  24. $text = $number;  
  25. $backgroundcolor = "003366";  
  26. $textcolor = "FF8A16";  
  27.   
  28.   
  29. if( eregi( "([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})", $textcolor, $textrgb ) ) {  
  30.     $textred = hexdec( $textrgb[1] );  
  31.     $textgreen = hexdec( $textrgb[2] );  
  32.     $textblue = hexdec( $textrgb[3] );  
  33. }  
  34.   
  35.   
  36. $im = ImageCreateFromJPEG("bg.jpg");  
  37.   
  38. $fontcolor = imagecolorallocate($im, $textred,$textgreen,$textblue);  
  39. $box = @imageTTFBbox($fontsize,$fontangle,$font,$text);  
  40.   
  41.   
  42. $textwidth = abs($box[4] - $box[0]);  
  43. $textheight = abs($box[5] - $box[1]);  
  44. $xcord = ($imagewidth/2)-($textwidth/2)-2;  
  45. $ycord = ($imageheight/2)+($textheight/2);  
  46.   
  47.   
  48. imagettftext ( $im, $fontsize, $fontangle, $xcord, $ycord, $fontcolor, $font, $text );  
  49.   
  50. imagepng($im);  
  51. imagedestroy($im);  
  52.   
  53. ?>  
próbáltam az imagettftext() függvényt egy forciklusba tenni és azt substr()-el vagdosni, de nem akar úgy összejönni. Hogyan kéne ezt átírni, hogy betünként más színű legyen?

segítségeteket előre is köszönöm!